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

Deprecate micropackaging #3854

Closed
astrojuanlu opened this issue May 6, 2024 · 10 comments · Fixed by #3873
Closed

Deprecate micropackaging #3854

astrojuanlu opened this issue May 6, 2024 · 10 comments · Fixed by #3873
Assignees

Comments

@astrojuanlu
Copy link
Member

After some cool-off period in #3750, we saw no indication that users have a desire of keeping our micropackaging functionality, so we decided to eventually remove it.

The first step is to deprecate it for the present 0.19.x cycle.

Every time a user uses kedro micropkg a DeprecationWarning should be shown (or equivalent, see discussion about FutureWarning and DeprecationWarning in various places, for example #2744 (comment))

Since kedro.framework.cli.micropkg is public API too, this warning should also be shown when importing anything from that subpackage.

The warning should communicate to users that this functionality is no longer maintained and will be deleted in Kedro 0.20, and point them to #3750 in case they want to voice a dissenting opinion.

@yury-fedotov
Copy link
Contributor

+, I think it's a nice initiative.

@arek544
Copy link

arek544 commented May 9, 2024

what's an alternative to micropackaging? Should I switch to packaging instead?

@astrojuanlu
Copy link
Member Author

@arek544 Could you detail your use case?

@arek544
Copy link

arek544 commented May 9, 2024

I have multiple modular pipelines that l like to share between projects, so I thought micropackaging would be the best solution so far

@astrojuanlu astrojuanlu moved this to To Do in Kedro Framework May 13, 2024
@merelcht merelcht self-assigned this May 13, 2024
@merelcht merelcht moved this from To Do to In Progress in Kedro Framework May 16, 2024
@merelcht
Copy link
Member

Hi @arek544, thanks for commenting. Micropackaging does suit your use case well and that's also the use case we built the feature for. However, adoption has been very low and most users have found alternative solutions. Are you on our Slack (http://slack.kedro.org/) by any chance? It would be good to explore a different solution for you for when the time comes that micropackaging is removed from Kedro.

@merelcht
Copy link
Member

@astrojuanlu you wrote in the description:

Since kedro.framework.cli.micropkg is public API too, this warning should also be shown when importing anything from that subpackage.

The only public method aside from the CLI commands in kedro.framework.cli.micropkg is safe_extract: https://github.com/kedro-org/kedro/blob/main/kedro/framework/cli/micropkg.py#L393, does that really warrant an import deprecation warning? I'd be very surprised if anyone is using that since it's a pretty generic utility method.

@astrojuanlu
Copy link
Member Author

Good to see most of that module is private API, wrote my comment without looking. I also doubt that anybody is using that specific function, but strictly speaking we should, right?

@merelcht merelcht moved this from In Progress to In Review in Kedro Framework May 17, 2024
@github-project-automation github-project-automation bot moved this from In Review to Done in Kedro Framework May 21, 2024
@daniel-ressi
Copy link

that's a shame, we started adopting it and with the changes in version 18 the use got smoother. Our use case is pulling preconfigured pipelines into new projects as a starting point for "similar" projects.

@merelcht
Copy link
Member

merelcht commented Jun 4, 2024

that's a shame, we started adopting it and with the changes in version 18 the use got smoother. Our use case is pulling preconfigured pipelines into new projects as a starting point for "similar" projects.

Hi @daniel-ressi, thanks for your comment. For the use case you're describing we actually have Kedro Starters: https://docs.kedro.org/en/stable/starters/starters.html, this is a way to create project templates to standardise projects in a way that fits your organisation's setup.

@daniel-ressi
Copy link

that's a shame, we started adopting it and with the changes in version 18 the use got smoother. Our use case is pulling preconfigured pipelines into new projects as a starting point for "similar" projects.

Hi @daniel-ressi, thanks for your comment. For the use case you're describing we actually have Kedro Starters: https://docs.kedro.org/en/stable/starters/starters.html, this is a way to create project templates to standardise projects in a way that fits your organisation's setup.

thank you for your response. There were some benefits to micro-packaging for us (especially just pulling individual pipelines or datasets into a project that we already create with our own template which also includes backend/frontend/infrastructure components), but I do agree that kedro starters definetly are an alternative

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

5 participants