Skip to content

DEPS: Group dependencies and provide information of why they are required #26659

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

Closed
datapythonista opened this issue Jun 5, 2019 · 0 comments · Fixed by #26691
Closed

DEPS: Group dependencies and provide information of why they are required #26659

datapythonista opened this issue Jun 5, 2019 · 0 comments · Fixed by #26691
Labels
Dependencies Required and optional dependencies
Milestone

Comments

@datapythonista
Copy link
Member

Our dependencies file environment.yml (https://github.com/pandas-dev/pandas/blob/master/environment.yml) is growing, and it's difficult to keep track on what each dependency is required for, and if there is any that can be removed.

We already provide some groups:

  • required: pandas requires them to work
  • development: they are used by pandas contributors and CI, but not by pandas itself
  • optional: pandas can use them if they are installed (e.g. fastparquet will be used if pandas.read_parquet() is called, but it's not required otherwise)

But those don't provide enough information, and could be improved. Also, not sure if the current division is correct, for example nbsphinx should probably be in development, I don't think pandas uses it.

Some groups we could have are:

  • testing (e.g. pytest, hypothesis,...)
  • documentation (e.g. sphinx, numpydoc,...)
  • code checks, see ci/code_checks.sh (e.g. flake8, mypy, isort,...)

And for the optional, I'd personally add a comment for the ones that make sense to inform in which part of pandas they are used, for example:

 - fastparquet>=0.2.1  # pandas.read_parquet, DataFrame.to_parquet
 - matplotlib>=2.2.2   # DataFrame.plot, Series.plot, pandas.plotting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies Required and optional dependencies
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants