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

Pivot to pyproject.toml for setuptools packaging #994

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

AlexandreDoneux
Copy link
Contributor

@AlexandreDoneux AlexandreDoneux commented Feb 14, 2024

Using pyproject.toml is the new standardized way to declare packaging metadata. As it is the new standard there will likely be less problems related to the packaging of INGInious.

Rem : setup.py is still usable and the configuration in pyproject.toml overwrites that of setup.py. For the moment the scripts are left in setup.py because of the condition on INGINIOUS_COMPOSE environment variable that can not be done in toml files.

TO DO :

  • Move setup.py config to pyproject.toml
  • Change test_suite depreciated parameter
    -> deleted + not using nose testing anymore
  • Fix inginious-synchronize script (sh.CommandNotFound: cd)
  • Possibly move scripts from setup.py to pyproject.toml
    -> two pyproject.toml files (with and without scripts depending on the use of docker compose or not)

[ci] removing python version

[ci] fixing concatened dependencies (install_requirements and scm)

[ci] Putting back wrongly deleted services start

[ci] Fixing ci beceause setuptools and setuptools-scm incompatible versions
@nrybowski
Copy link
Member

See #893

@AlexandreDoneux AlexandreDoneux force-pushed the pyproject_toml_setuptools branch 2 times, most recently from 313d50d to bc5971e Compare February 19, 2024 15:32
@AlexandreDoneux
Copy link
Contributor Author

A discussion is needed regarding the scripts in the INGInious package using docker compose. They are not needed and where ignored conditionnaly with a boolean in setup.py. It is however not possible with the pyproject.toml file.

Using two different pyproject.toml files does not seem to be achievable :

  1. The pip install command does not allow selection of a particular pyprojetc.toml.
  2. Placing the pyproject.toml files in two sub-directories will not work as it seems pip copies only that directory in /tmp before the install. The source code is therefor not reachable for the install.

So either we accept the presence of unused scripts in the docker compose package (not that many) or we comment the pyproject.toml scripts before building it.

@AlexandreDoneux AlexandreDoneux marked this pull request as ready for review February 20, 2024 14:18
@nrybowski nrybowski marked this pull request as draft February 22, 2024 13:28
@nrybowski
Copy link
Member

This PR will be reconsidered after the definition of a new backend architecture and services separation.

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.

2 participants