-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
Split providers into "regular" python sub-projects - each with own pyproject.toml #43304
Comments
Let me check this one @potiuk. i will check the work involved in migrating a single provider by verifying with your PR and then see how far it can be automated. |
This is a LOT of work - just be warned. Likely many scripts, CI workflows, documentation, contributing docs, breeze will have to be changed. And it can be staged as mentioned above, but this also means that it will have to be made "more complex" for a while (to support both approaches and intermixing them) temporarily - until it becomes back simpler (and way simpler in places). So that one is not for the faint of heart :D. |
@Bowrna is it okay if I work with you on this? |
Sure @hardeybisey let me share my work in PR and we can do this together |
Thanks @Bowrna , I will wait for you to share the PR. |
sure @potiuk that would work best. |
Currently all providers after #42505 are all in a single "providers" project. This has gone through several teething problems (mainly connected to bugs in
uv
and ways how to integrate development environment with IDEs such as Pycharm and VSCode, but seems that those problems are largely solved now and we can possibly move to the next step where each provider will have it's ownpyproject.toml
with its own dependencies and the workspace setting ofuv
will allow us to resolve all those dependencies together and keep our setup with constraints, CI image that is used for CI worfklow and breeze and local development of providers with Breeze.This has a number of changes to be implemented. Ideally each provider will have it's own complete "directory" where things are kept together:
The package building is currently done dynamically via
breeze
commands, where code is extracted and pacakge is prepared, also dependency information (including devel dependencies) is kept inprovider.yaml
. Ideally all the information that is needed to generate dependencies and build packages, should be moved topyproject.toml
and our breeze/CI automation should retrieve information from there, rather than provider.yaml.This can be done in stages:
Or it could be done via automated script that would convert all providers at once - this was earlier POC's implementing this approach (not nearly close to be complete - just testing viability of such approach) that could be used as base for the new solution.:
Script: #28291
Result of runningn the script: #28292
The text was updated successfully, but these errors were encountered: