-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
DEV: CLI concept for Pandas #47700
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
Comments
Hey @noatamir
Nice, I like the sound of that, the pandas docs are huge (and arguably should be cut down, but that's a separate issue) I also like Maybe a command to address #35685 (bisecting) could make its way into it too? |
Potentially an alternative to do.it. pandas-stubs embraced the poetry universe: for the dependencies but also to run all the tests (through poe). Poe makes it also easy to quickly discover and run tests (I must admit I just use mypy/pyright/pytest/pre-commit directly): $ poe --help
[...]
CONFIGURED TASKS
test_all Run all tests
-c, --clean_cache remove cache folders (mypy and pytest)
test_src Run local tests (includes 'mypy_src', 'pyright_src', 'pytest', and 'style')
-c, --clean_cache remove cache folders (mypy and pytest)
test_dist Run tests on the installed stubs (includes 'mypy_dist' and 'pyright_dist')
-c, --clean_cache remove cache folders (mypy and pytest)
pytest Run pytest
style Run pre-commit
mypy_src Run mypy on 'tests' (using the local stubs) and on the local stubs
mypy_dist Run mypy on 'tests' using the installed stubs
pyright_src Run pyright on 'tests' (using the local stubs) and on the local stubs
pyright_dist Run pyright on 'tests' using the installed stubs |
IMO an ideal goal if adopting a CLI workflow for development is if our CI utilizes the same CLI workflow. I think making the jump between local development and CI testing small is a good goal because ultimately the CI system gates contributions. There was a proposal to use docker-compose (#46532) as a "CLI" workflow too. |
+1 on cli generally (-1 on using docker-compose generally) this just adds a whole layer of complication on top |
How I understand the scope of the proposal is for a CLI that helps you manage some tasks within your development environment (within that environment, rebuild the cython extensions or build the docs or ...), and (for now) not to help you set up that development environment. So in that sense, I would leave out things like docker-compose for now (which is for setting up an environment), and I would personally also don't care too much about exact consistency with CI (but we can of course start using the CLI to run certain things on CI as well). |
That would require first having the discussion whether we want to use poetry in the pandas repo, so right now that makes |
Any more feedback? If not, I assume the best would be for @noatamir to open a first PR with an initial version (with subset of proposed functionality) to have a more concrete feedback on the proposed approach. |
+1 on starting this and gathering some feedback through an initial version. We don't have to be perfect from the beginning, especially since new contributors will probably be the best people to give us feedback on this |
Thanks for the feedback! I got started on this and hope to open the initial PR next week 🤞🏽 |
Quick update: the Gitpod issue took me a bit longer than I originally estimated. I'm going on short vacation and will still be working on that one when I'm back. I haven't forgotten about this, and I can't wait to get back into it! I'll ping back here when I pick this up again. |
It's been a couple of years, shall we close this issue for now to (slightly) reduce the issue queue? Can always reopen if there's renewed interest |
CLI concept for Pandas
Inspired by the new SciPy CLI I propose a do.it + rich.click CLI for Pandas.
The goal is to create an one-stop tool for contributors that includes useful developer commands and tools distributed across our documentation.
Maintainers possibly build their own local solutions over time, but for new contributors it takes time to discover and get used to all the functionalities and we can facilitate a smoother ramp up, and in-terminal documentation via help functionality.
I would be happy to keep maintaining the CLI as the functionalities included change over time.
In a series of PRs I can introduce the
do.it
CLI, and propose that it includes the following functionalities (the proposed workflows are examples for illustration only, what is possible and maintainable will be determined during implementation):Clarifications:
do.it
?do.it
CLI support colors which will enable us to highlight important takeaways and keywords.The text was updated successfully, but these errors were encountered: