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

[Suggestion] An alternative approach to modularity #20

Open
jacksmith15 opened this issue Aug 17, 2022 · 0 comments
Open

[Suggestion] An alternative approach to modularity #20

jacksmith15 opened this issue Aug 17, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@jacksmith15
Copy link
Collaborator

Currently, delfino has all commands enabled by default, and dependency mismatches are only raised when running a particular command.

Given that the user installs delfino with reference to the commands they would like enabled, e.g.

pip install delfino[typecheck,lint,test]

It might be a more intuitive interface to automatically enable/disable commands based on the available dependencies, unless overriden via configuration. This way the user can specify the commands they want in their dependency list without having to also specify in the tooling configuration.

Extension 1

Following on from this, it would be more straightforward to tailor delfino if group tasks such as verify-all had the following behaviours:

a) don't run commands which are otherwise disabled
b) run commands by name rather than Python reference. This allows the user to e.g. override the lint-pylint command in their local commands/ directory without having to also override the lint and verify-all commands.

Extension 2

I'm not 100% what the interface for this might look like, but it could be nice to be able to add new commands which get automatically grouped under existing categories.

For example, the user could specify a new command lint-pyflakes without having to overwrite the lint command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant