question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Evaluating CLI command usage

See original GitHub issue

As per discussions https://github.com/kedro-org/kedro/issues/1077 and https://github.com/kedro-org/kedro/discussions/844 we want to separate dev requirements into their own file outside requirements.txt. This means any requirements that are not required for kedro run or running a packaged kedro project (which only exposes kedro run). Remember in v0.18 there is no kedro install command.

  • Change project template to move requirements from requirements.txt into the new dev requirements file. Also move docs requirements from setup.py extras_require to there
  • Modify kedro CLI commands that currently install requirements (like kedro build-docs) to do the right thing
  • Modify kedro CLI commands that need dev requirements but don’t currently install them (like kedro lint) do the right thing
  • Change starters templates in same way
  • Update documentation

Things to check and think about:

  • Would all kedro lint, kedro build-docs etc. commands need to run a pip install to install dev requirements? Is this annoying and slow? Is Waylon’s idea of pre-commit a better alternative?
  • Assuming we want a dev requirements file, what is the right name for it? Use whatever is convention these days
  • Do commands like kedro pipeline, kedro catalog have any dependencies outside kedro, and if so where should those dependencies go (requirements or dev requirements)?
  • What should kedro build-reqs do?

Also worth checking whether any kedro requirements should be moved to project requirements. e.g. pip-tools is there but after deprecation of kedro install can presumably be moved to a project requirement? Do we need jupyter_client in kedro requirements? etc.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:2
  • Comments:18 (18 by maintainers)

github_iconTop GitHub Comments

7reactions
yetudadacommented, Jun 14, 2022

This stellar research @MerelTheisenQB 🎉 Thank you so much for this. I’ve read through your thoughts; thanks for the additions @MerelTheisenQB, @AntonyMilneQB and @NeroOkwa.

Here are my summary thoughts:

  • We’re deleting all of these commands from our CLI, with particular emphasis on kedro activate-nbstripout and kedro jupyter convert
  • We should create a discovery ticket to explore how we enable our users to document their workflows for sharing; there seemed to be something interesting around how they imagined kedro build-docs could help them but didn’t. However, this ticket is a low priority.
  • I would prioritise making additions to our documentation. So it would look like new sections on how to use pytest in a Kedro workflow and maybe a ticket to document some of the linting tools.
  • I like the plugin’s workflow; it’s slick. However, I would create a GitHub issue to track demand. Additionally, I would follow the consumption of the testing and linting documentation. My baseline assumption is that users wouldn’t use it because these features have had these convenience wrappers for a while, and they still didn’t use them.

So with these changes, we still maintain some of our value proposition. But it’s clear our users like other parts of Kedro and not necessarily our support of tooling that helps them create better software.

3reactions
merelchtcommented, Jun 13, 2022

@AntonyMilneQB Thanks for sharing and elaborating on your thoughts!

I like the idea of moving the commands we want to keep to a separate plugin if we’re keeping a reasonable amount. If we decide we’re removing most of them anyway, I’m not sure it’s even worth creating this plugin. From your earlier comment it sounded like you’d only really want to keep kedro lint, so then a new plugin might be overkill. But 100% agree to create a plugin if we decide to keep several of the commands.

Read more comments on GitHub >

github_iconTop Results From Across the Web

create-evaluation — AWS CLI 1.27.29 Command Reference
CreateEvaluation is an asynchronous operation. In response to CreateEvaluation , Amazon Machine Learning (Amazon ML) immediately returns and sets the evaluation ...
Read more >
evaluation-available — AWS CLI 2.9.5 Command Reference
Use one of the following variable to filter a list of Evaluation objects: CreatedAt - Sets the search criteria to the Evaluation creation...
Read more >
Bash eval command - Linux Hint
`eval` executes the command in the current shell. This command is useful when it requires to execute any command that contains a special...
Read more >
Command Line Interface - Rasa
Command line interface for open source chatbot framework Rasa. ... To evaluate the dialogue and NLU models separately, use the commands ...
Read more >
eval command in Linux with Examples - GeeksforGeeks
eval is a built-in Linux command which is used to execute arguments as a shell command. It combines arguments into a single string...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found