argcomplete
argcomplete copied to clipboard
Migrate to pyproject.toml
Once that is done, add build
to the build dependencies in pyproject.toml.
@kislyuk This is somewhat separate:
-
Are you open for a PR with just the pyproject.toml (PEP 518, PEP 621)? (and an option to use flit / whatever system in the future?)
I am not familiar with flit best practices, but can do the pyproject.toml part.
Example I have: https://github.com/thisch/pytest-sphinx/pull/41/files
-
More heavy duty:
-
Would you like to try hatch (https://github.com/pypa/hatch)? Maintained by PyPA, has a
hatch shell
command? I heard about it today and it looks promising. I can try it in a separate PR if you'd likeP.S. I haven't tried hatch before, I use poetry 1.2 on all my projects (and it's very mature at this stage)
-
Thanks for the offer. I'm open to a PR for migrating setup.py contents to pyproject.toml, but not to hatch.
Hi @kislyuk !
This looked like the ball was dropped on so I picked it up :)
I took a look at using the regular setuptools
for migration to pure pyproject.toml
as it's the one already used.
Here are things that I noted looking at a possible migration:
-
pyproject.toml
setuptools
is still in beta. (guess this is because of all the legacy it has) -
setup.py
scripts
has been deprecated andproject.scripts
inpyproject.toml
is recommended as the migration path (entry_points
instead of stand alone scripts) -
setup.py
url
is deprecated inpyproject.toml
and use ofproject.urls
seems to be encouraged. This one has impact onpip show
as Home-page will be missing (Beta things I guess). - Are the
setup.cfg
bdist_rpm
used? Latest RPM release I find is 1.8.1. This makes me believe that this is not used anymore.
Thanks for this awesome project!
Hi @halfow , I left a review in the PR. To your other questions-
- We will not be setting any setuptools build settings or any other build tool settings in pyproject.toml for now. The beta restriction is very apt - in my experience, storing build settings in pyproject.toml is just not stable enough to be reliable for now.
- We will not be moving away from setuptools scripts for now
- We will not be removing any currently present fields marked as "deprecated" for now
- I'm not certain whether bdist_rpm is actively being used, but I'm not ready to remove it at this time.
Thank you for the clarification and answers :)
I will update accordingly.