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

Replace requirements.txt with pyproject.toml for dependency management? #2757

Open
amandakys opened this issue Jul 3, 2023 · 8 comments
Open

Comments

@amandakys
Copy link

Introduction

Tracking ticket for discussion about

"Moreover, we should move away from using setup.py and make all Kedro starters use only pyproject.toml and setup.cfg, since this is how the Python ecosystem is evolving."

and

"The setup.cfg, src/setup.py and src/requirements.txt should be replaced with pyproject.toml. pip/setuptools support pyproject.toml out of the box. Would love to have this by default in new projects."

These are comments that came up in #2149 and should be discussed separately to the planned work to strip the project template #2756

@amandakys amandakys added the Stage: Technical Design 🎨 Ticket needs to undergo technical design before implementation label Jul 3, 2023
@amandakys amandakys mentioned this issue Jul 3, 2023
4 tasks
@merelcht merelcht moved this to To Do in Kedro Framework Sep 26, 2023
@merelcht merelcht changed the title Using pyproject.toml for dependency management Replace requirements.txt with pyproject.toml for dependency management Oct 2, 2023
@astrojuanlu
Copy link
Member

This is blocked on #2519.

@merelcht
Copy link
Member

Does it make sense to do this after #4116 ? @astrojuanlu

@merelcht merelcht removed the Stage: Technical Design 🎨 Ticket needs to undergo technical design before implementation label Oct 22, 2024
@astrojuanlu
Copy link
Member

Oh, in a sense I wouldn't know what's left for this issue after we address #4116.

Maybe before getting completely rid of requirements.txt I'd wait until the acceptance of PEP 751 (still wip) or the complete takeover of uv.lock...

@merelcht
Copy link
Member

We just need to do it for all starters as well.

@JoostGevaert
Copy link

+1 for this :)

@astrojuanlu
Copy link
Member

PEP 751 is about to undergo another change in scope https://discuss.python.org/t/pep-751-now-with-graphs/69721/106 so I'm still not sure it's a good moment to dump requirements.txt.

We should probably have a fully resolved requirements.txt, as pip-compile or uv compile would do.

@astrojuanlu astrojuanlu changed the title Replace requirements.txt with pyproject.toml for dependency management Replace requirements.txt with pyproject.toml for dependency management? Nov 17, 2024
@JoostGevaert
Copy link

And what about using hatchling (uv's default) instead of setuptools as the build-system?

@JoostGevaert
Copy link

Maybe that ☝️ question of mine shouldn't be in this issue?
In issues #681 and #4116 I found that I can create a kedro project with uv with kedro-init or copier-kedro. However, I'm still quite new to kedro, so I like being able to start a new project with an example pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To Do
Development

No branches or pull requests

4 participants