-
Notifications
You must be signed in to change notification settings - Fork 910
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
Migrate kedro's setup.py to pyproject.toml #2152
Comments
We might be able to use this: https://github.com/asottile/setup-py-upgrade |
Related: I spotted this while running
We should get rid of |
That works, but the idiomatic way to achieve this effect with For hierarchical setting (e.g. different dependencies for distinct pipelines), one can have pyproject.toml files to extend/override in these subfolders. |
Notice that this doesn't have to be done in one go: setuptools supports having For example, kedro/features/steps/cli_steps.py Lines 397 to 403 in fd42a5a
The part that can't be avoided for now then is Hence a first step towards having mostly static metadata is fairly straightforward:
|
See gh-2152. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
See gh-2152. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
* Remove deprecated tests_require Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Migrate most project metadata to static pyproject.toml See gh-2152. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Replace direct setup.py invokations by standard command Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> --------- Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
) * Remove deprecated tests_require Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Migrate most project metadata to static pyproject.toml See kedro-orggh-2152. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Replace direct setup.py invokations by standard command Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> --------- Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> Signed-off-by: MaximeSteinmetz <maxime.steinmetz@gadz.org>
Even though gh-2475 didn't technically obliterate |
@astrojuanlu It looks like all extra requirements are dataset related, so those will be removed anyway when datasets are removed from Kedro core in |
@merelcht good catch, yeah I agree! |
We have #2127 for that, so I think we can indeed close this issue as done 🙂 |
Description
The Python community is slowly moving to pyproject.toml as a package definition format and away from big and verbose setup.py files. Our Kedro package setup is still exclusively done in setup.py, with some parts in setup.cfg and pyproject.toml. We should move entirely to a pyproject.toml Python package definition for future-proofing our package setup.
Context
Adhering to the Python community standards is important in order to make it easier for future contributors to Kedro.
Possible Implementation
We can do that in one go and by creating a number of requirements.txt files as needed for the extras or dev dependencies. Here's a good starting documentation on how our pyproject.toml should look like: https://setuptools.pypa.io/en/latest/userguide/quickstart.html
Possible Alternatives
N/A
The text was updated successfully, but these errors were encountered: