rixx / git-backdate

Backdate a commit or range of commit to a date or range of dates.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

make this an actuall python package

Janik-Haag opened this issue · comments

commented

Would be great if this would be an actual python package. So using setuptools, poetry, pdm or some other python packaging tool. I can also make a PR if doing so is okay?

Would also be interested in this. Can contribute as well

Sure, if you want to make this happen, open a PR.

Out of curiosity: may I ask why? As this is a single executable, I feel like there's very few advantages in having a Python package, and quite some disadvantages: added maintenance, version bumping, PyPI releasing, switching to the next best hottest latest packaging format in two years, …. And especially as more and more systems switch to (rightfully!) disallowing global pip installs, regular users would increasingly only be able to use the Python package in a venv (or via a system package, which doesn't really need the Python packaging overhead …).

(Also please leave the repo structure as it is – I'm very fond of the fact that this is just a single executable and a documentation file. I'm willing to add one more file for the Python packaging nerds, but not an entire project structure.)

commented

I would love to upstream this in nixpkgs and to do that in a proper way we should have an actual python package.

Huh, so you would also need me to upload the package to PyPI, and release versions?

(Gotta admit, I built this out into a repo because it was too fun to live in my script collection, but maybe I should have left it there and kept quiet. I maintain enough software as is, so it's very unlikely that you'll get any updates or releases or anything like that. Basically, you can add a single file to make it a package, and I can push it to PyPI, but I won't feel responsible for maintaining that file. If you miss out on updates, you can always open a new PR adjusting your packaging file.)

I mean I'm not saying I'm going to write a PR for you, and if I do it will definitely be outside of business hours, but it's fairly easy to, especially with the newish PyPi trusted publisher support, just, you know, push to PyPI whenever you cut a release from GitHub with the addition of a GitHub action.

So I if a PR were to happen, and you were to merge it, then what you'd have to do would be to set up the package name on PyPI, do the OIDC dance with GitHub once, and cut a Github release with a new version tag on each release, which is like three clicks and putting some text in a box.

This is silly. Closing as "not planned (to be implemented by me)". PRs welcome.

Felt a bit bad about closing this issue, so I reviewed the Python Packaging Guide. Turns out, providing a single executable file to be shared (assuming it requires no dependencies) is the official recommendation!

Fair, and yes, of course it's silly. I enjoy ludicrously overengineering silly projects, which is why, if it ever happened, it'd be a PR from me. Cool that it's the official recommendation.