I have a small package with several dependencies. From pyproject.toml:
dependencies = [
"atpublic>=3.1",
"matplotlib>=3.5.2",
"numpy>=1.22",
"pandas>=1.5.2",
"python-dateutil>=2.8.2",
"scipy>=1.15.1",
"unum>=4.2.1",
"xlrd>=2.0.1",
"xlwt>=1.3.0",
"openpyxl>=3.1.5",
]
I created a skeletal tox.ini file which allowed me to run my unit tests
against several Python versions, as one does. Then I added a lint env:
env_list =
py{310,311,312,313},lint
Unfortunately, the virtual environment constructed for the "lint"
environment had none of my dependencies. (All the other envs are stable and
have all run this package before, so have the necessary dependencies baked
in.) To get pylint to shut up about import failures, I had to duplicate
that dependency list:
[testenv:lint]
description = run linters
skip_install = true
deps =
atpublic>=3.1
matplotlib>=3.5.2
numpy>=1.22
openpyxl>=3.1.5
pandas>=1.5.2
pylint
python-dateutil>=2.8.2
scipy>=1.15.1
unum>=4.2.1
xlrd>=2.0.1
xlwt>=1.3.0
commands =
pylint csvprogs
Question: Is it possible to avoid this duplication, maybe by having tox
stuff in pyproject.toml or at least have tox.ini get dependencies from that?
Thanks,
Skip