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

[INF] Simplify environment #1133

Draft
wants to merge 11 commits into
base: dev
Choose a base branch
from
75 changes: 32 additions & 43 deletions environment-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,43 @@ name: pyjanitor-dev
channels:
- conda-forge
dependencies:
- python=3.9
- python>=3.6
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now minimal python version is 3.6
It may don't work in py3.6 with pandas 1.4.1.
it will be updated after setting ci/env multi-envs

Copy link
Collaborator

@samukweku samukweku Jul 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pandas minimum python version is 3.8, I feel we should make it that, or at least 3.7 because of dictionary order

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

py3.6 base on setup.py.
As you said, this is the reason I want to build multi-envs
we could test pyjanitor compatible with python3.6 after ci/env/ was built.

python_requires=">=3.6",

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@samukweku @Zeroto521 thanks for doing the PR and reviewing!

I think @samukweku's suggestion makes sense here. With pandas minimum version being 3.8, we should just follow along. I think setup.py should be updated.

# required
- pandas
- pandas-flavor
- multipledispatch
- scipy
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scipy I thought also could as an optional dependency.
there are only two scripts that use scipy

  • math.py
  • functions/impute.py

# optional
- biopython
- black=22.1.0
- bump2version=1.0.1
- cairo
- conda
- darglint
- doc8
- flake8
- natsort
- pyspark>=3.2.0
- rdkit
- tqdm
- unyt
- xarray
# io
- openpyxl
- xlrd

# testing
- pytest
- pytest-cov
- pytest-xdist
- hypothesis
- pandas-vet
- interrogate
- ipykernel
Zeroto521 marked this conversation as resolved.
Show resolved Hide resolved
- ipython

# dev tools
- pip-compile
- pre-commit
- pylint
- isort
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could drop pylint and isort since we start to use pre-commit.
once we drop these dependencies Makefile also should be updated.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having pylint and isort binaries in the environment helps with those who use VSCode for code checking. Could we ensure that these stay in the environment while also annotating with comments that they are present for developer convenience?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I already keep IDE code style checking packages (black, pylint, isort)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also made a PR #1231 making similar changes. I agree with keeping black/isort, for pylint: we don't enforce it via pre-commit, instead we use flake8 as our main linting tool. So I don't see the need for keeping it around.

- jinja2<3.1.0 # 27 March 2022: https://github.com/pallets/jinja/issues/1631
Zeroto521 marked this conversation as resolved.
Show resolved Hide resolved
- jupyterlab
- lxml
- make
# release
- twine
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we could drop twine. we use Github action to build and realse.


# doc build
- mkdocs
- mkdocs-material
- mkdocstrings<0.18.0
- missingno
- multipledispatch
- mypy
- natsort
- numpy
- openpyxl
- pandas-flavor
- pandas-vet
- pandas=1.3.5
- pip
- pipreqs
- pip-tools
- pre-commit
- pyflakes
- pylint
- pyspark>=3.2.0
- pytest
- pytest-cov
- pytest-xdist
- python-language-server
- rdkit=2021.09.3
- recommonmark
- seaborn
- twine
- unyt
- xarray
- xlrd
- xorg-libxrender
- pip:
- mknotebooks
- ipython