-
Notifications
You must be signed in to change notification settings - Fork 0
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
refactoring drop mara-config integration #3
Conversation
@jankatins I did now a new refactoring based on a entry point discovery of mara commands:
Example of |
The code itself looks good, but for me the main question remains: how do you want to activate the rest of the functionality? Also via entry points? Or do that via a central "put it all together" file/function? Or keep it like now which looks into all imported stuff (Which after this PRs current implmentation would be defined by entry points, as every thing which adds a mara command now also gets imported, so whatever is in the import path will show up in a web cli and so on.. From my standpoint, it should be one way and not multiple:
My personal preference is "central file, but explicit activation", but I know that Martin was a firm believer into "It's nice that new functionality directly gets activated when a developer adds it to a package". |
Another thing: now that mara cli is doing the entry point into the whole app, we have actually two: one for flask and one for mara-cli: is that intended or do you want to also make a |
My current idea of this package is to provide a easy-to-use CLI interface for mara. In this PR I did not want to make a decision (yet) how configuration should be done for mara. I think we can discuss this in #5. My current design idea is the following: Provide a way for modules to publish their CLI commands. The module developer decides which command to be added to entry point I guess modules are not activated by the entry points. As I understand the code, we just load e.g. I did not yet spend so much thoughts aobut the flask run integration but my thought was that a new entry point for |
OK, so I was wrong with my assumtion ... I think I will stick with the idea of Martin to just import the modules as soon as they are installed. When we run in the future into any issues with this, we can then add an environment variable which skips the auto-module-import logic and people can manually import the modules in their |
@jankatins p.s. I do not plan to drop the UI. It is charm! I just currently focus on CLI UX and try to make it more "less UI enfored" :-) |
This PR drops dependency to
mara_config
by:mara-
mara-app
to discover commands. The logic is moved into a internal submodulemara_cli._mara_modules
mara-pipelines
viapip install mara-pipelines