Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hydra: Convert to a package-manager-agnostic, PEP-621 standard Python project metadata #145

Closed
bolinocroustibat opened this issue Aug 27, 2024 · 0 comments · Fixed by #143 · May be fixed by #170
Closed

hydra: Convert to a package-manager-agnostic, PEP-621 standard Python project metadata #145

bolinocroustibat opened this issue Aug 27, 2024 · 0 comments · Fixed by #143 · May be fixed by #170
Assignees
Labels
code quality Indique qu'il s'agit d'une amélioration de la qualité du code (au sens très large)

Comments

@bolinocroustibat
Copy link
Contributor

bolinocroustibat commented Aug 27, 2024

Right now, the hydra project can only be installed using Poetry, without giving any choice of the package manager to the developer or infra.

Also, Poetry <2 doesn't use the PEP-621 standard to edit the pyproject.toml project file (Poetry was created before the standardization of pyproject.toml and Poetry >=2 doesn't exist yet), so the project is currently not a standard Python project.

We can refactor the dependencies and metadata files to use the Python standards and the CI file to use those files (so the CI would have not to use Poetry).

This would still use the modern pyproject.toml standard, and requirements.txt as a lock file (like NPM package.json and package-lock.json).

PR: #143

@bolinocroustibat bolinocroustibat self-assigned this Aug 27, 2024
@bolinocroustibat bolinocroustibat changed the title [hydra] Convert to a package-manager-agnostic pyproject [hydra] Convert to a package-manager-agnostic, PEP-621 standard Python project metadata Aug 27, 2024
@bolinocroustibat bolinocroustibat added the code quality Indique qu'il s'agit d'une amélioration de la qualité du code (au sens très large) label Aug 27, 2024
@bolinocroustibat bolinocroustibat changed the title [hydra] Convert to a package-manager-agnostic, PEP-621 standard Python project metadata hydra: Convert to a package-manager-agnostic, PEP-621 standard Python project metadata Aug 29, 2024
bolinocroustibat added a commit that referenced this issue Sep 24, 2024
Closes #145 by:

- Refactor `pyproject.toml` to become a package-manager agnostic project
file
- Generate locked dependencies files as `requirements.txt` and
`requirements-dev.txt` files from `pyproject.toml` Python project file
_Question: do we want to include dependencies hashes in the lock
dependencies files? Can be done with `pip-compile --generate-hashes`_
- Refactor CI not to use Poetry files
- Change version number in `pyproject.toml`so that when CI adds dev
version, it is a PEP440 compatible
- Update README and documentation to explain how to install and generate
lock files

---------

Co-authored-by: Mathieu Agopian <mathieu@agopian.info>
Co-authored-by: maudetes <maudet.estelle@gmail.com>
# Conflicts:
#	CHANGELOG.md
#	pyproject.toml
#	udata_hydra/schemas/__init__.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code quality Indique qu'il s'agit d'une amélioration de la qualité du code (au sens très large)
Projects
Status: Done
1 participant