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

Package metadata #5

Merged
merged 4 commits into from
Jun 17, 2024
Merged

Package metadata #5

merged 4 commits into from
Jun 17, 2024

Conversation

lispandfound
Copy link
Collaborator

Sets the git project so that it can be installed via pip and used from other projects. It is using pyproject.toml primarily, rather than the legacy setup.py. To maintain compatibility with legacy systems that might require a setup.py file, I have written a stub file that just bootstraps the pyproject.toml installation as per the official setuptools package documentation. The dependencies are dynamically sourced from requirements.txt. I think this splits the difference between:

  1. Using a modern build-system for the package that is less brittle and easier to maintain.
  2. Addressing @joelridden's concerns about using different package managers and virtual environment workflows by still maintaining a requirements.txt file.
  3. Addressing @claudio525's concerns about mamba and miniforge installations by still supporting setup.py (but without duplicating work by maintaining both in parallel).

I will confirm and check that mamba will work with this setup. I do not anticipate problems with this because otherwise almost no pip package would work with mamba.

@lispandfound
Copy link
Collaborator Author

One snag here is that deptry doesn't like the fact that the requirements are dynamically sourced from a requirements.txt file, but the project is specified in a pyproject.toml file. Hence deptry will fail on any project with this configuration. I can make a PR to the deptry project to fix this.

@lispandfound
Copy link
Collaborator Author

There is now a PR in fpgmaas/deptry#724, we may just be able to use my fork of deptry in the meantime for dependency checking.

setup.py Outdated Show resolved Hide resolved
sungeunbae
sungeunbae previously approved these changes Jun 6, 2024
@lispandfound lispandfound merged commit 4b3106b into main Jun 17, 2024
2 checks passed
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.

5 participants