Skip to content

Conversation

@ivh
Copy link
Collaborator

@ivh ivh commented Nov 18, 2025

You will probably not want to merge this. Just an example of what worked for me to convert the info in setup.cfg to pyproject.toml .

With this change, that also adds the ESO package index and my new one for pycpl, when in metisp/pymetis/, I could simply do the following, without anything installed beforehand:

export PYCPL_RECIPE_DIR=../pyrecipes
uv sync
uv run pyesorex --recipes

... and the METIS recipes were available to run.

claude and others added 2 commits November 18, 2025 11:31
- Migrate all metadata from setup.cfg.in to pyproject.toml
- Add explicit dependencies: pycpl, pyesorex, edps, astropy
- Add [tool.uv] section with extra-index-url for custom PyPI indexes
- Replace manual package listing with automatic discovery
- Remove dynamic fields for better compatibility with modern tools
@hugobuddel
Copy link
Contributor

Nice! Now if only there would be a way to automatically register the pymetis recipe directory with pyesorex.

There must be some way to do that. I'm trying to think of other examples where Python package B is essentially a plugin to Python package A, in a way that package A can infer the existence of package B automatically, but can't think of any.

I tried to just give the site-packages directory as recipe-dir to pyesorex, but there are too many Python files that confuse pyesorex.

As for this P.R., we should be a bit careful to not break the official ESO installation method. But that does not work anyway, so maybe we shouldn't care.

]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

License classifiers are deprecated (and I believe even raise an error in the latest setuptools)

Copy link
Contributor

@hugobuddel hugobuddel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we merge this?

@ivh
Copy link
Collaborator Author

ivh commented Nov 26, 2025

Totally up to you. I have no idea how/if this would interfere with your current setup. You might also want to make your own uv.lock file with known version to work. And pin Python to 3.12? Though I'm not sure this is even needed still.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants