spiral-project / ihatemoney

A simple shared budget manager web application
https://ihatemoney.org
Other
1.18k stars 267 forks source link

move from setuptools to hatch #1258

Closed azmeuk closed 9 months ago

azmeuk commented 10 months ago

With this PR:

If zest.releaser is actually not compatible with hatch, we could drop zest.releaser and use hatch for pypi package publication.

fixes #1238

almet commented 10 months ago

Thanks for this :-)

publication is still done with zest.releaser. I am not sure how to test this without actually attempting a release. Any ideas?

You probably can try releasing on test PyPI

If zest.releaser is actually not compatible with hatch, we could drop zest.releaser and use hatch for pypi package publication.

Whatever works, I think. I don't think I'm using zest releaser myself anyway.

azmeuk commented 10 months ago

I think this should be mostly OK now.

You probably can try releasing on test PyPI

I could upload to testpypi with hatch publish --repo https://test.pypi.org/legacy/ --user __token__ but that means I just tested ... hatch upload. I would have liked to test if zest.releaser functioned with that hatch configuration, but fullreleaser does not seem to have options to select another package repository.

Anyway, I could test installation with pip install --extra-index-url https://test.pypi.org/simple/ "ihatemoney==6.1.2dev" and then execute tests from the documentation, and everything works.

BTW I created the ihatemoney package on testpypi as it did not existed. I could not find your account on testpypi so I could not invite you to share ownership, but if you want just ping me.

/cc @zorun

almet commented 10 months ago

I've updated the python babel version to be compatible with python 3.12. See https://github.com/python-babel/babel/pull/1033

almet commented 10 months ago

@zorun, are you happy with this?

zorun commented 9 months ago

No strong opinion on hatch itself, I don't know much about it, I just hope it's a long-term project.

Just a small thing to consider (sorry if this has been addressed), why do you specify a dependency on Babel here instead of in pyproject.toml? If it's something specific and you really need it, please add a comment.

About making releases, we should definitely have a robust, reproducible and unique way to do them. Currently we are using zest (through make release, I hope you do use that @almet ^^). But we could also do releases through the CI, executed only on tags. It would be easier, and more consistent with the Docker release. One downside is that we would have to add a pypi token as a secret on Github. By the way, Zest does not do much, it just updates the version in setup.cfg and adds a date in the changelog.

What do you think? If you are confident about that, I'm OK to see it merged after the Babel comment is addressed, and let's discuss/change the release process as a second step.

azmeuk commented 9 months ago

No strong opinion on hatch itself, I don't know much about it, I just hope it's a long-term project.

Indeed, there is always a risk. What reassures me is that hatch seems active, and it looks OK in comparison with the concurrence:

a14f790d49ced591

(Source: https://framapiaf.org/@fcodvpt/111533565837454708)

Just a small thing to consider (sorry if this has been addressed), why do you specify a dependency on Babel here instead of in pyproject.toml? If it's something specific and you really need it, please add a comment.

There is an explicit dependency to Babel at build time, because it is needed to dynamically compile translations catalogs and put them into the package. I added a comment.

zorun commented 9 months ago

Ok, thanks, it looks good then!

I just merged some translation updates, can you rebase one last time? Then I will disable .mo generation on weblate.

almet commented 9 months ago

Thanks!

@zorun I'm myself still doing manual releases, but having these automated seems a good goal 👍

zorun commented 9 months ago

It looks like something is failing with Python 3.12: https://github.com/spiral-project/ihatemoney/actions/runs/7203079881/job/19622368172

zorun commented 9 months ago

@azmeuk also, can you add me to the package on test.pypi.org?

almet commented 9 months ago

Tests were passing on this branch. The reported 3.12 error seems related to babel < 2.13.1 (distutils requirement fixed in https://github.com/python-babel/babel/releases/tag/v2.13.1)

azmeuk commented 9 months ago

@azmeuk also, can you add me to the package on test.pypi.org?

I sent you an invitation. @almet do you have an account?

almet commented 9 months ago

I'm almet there :-)

azmeuk commented 9 months ago

You are invited too!