Skip to content

Commit 618a765

Browse files
committed
feat: divide dependencies in pyproject.toml into core and optional
A previous PR in this branch removed `test_requirements/requirements_core.txt` and `test_requirements/requirements_optional.txt`. @emilylk pointed out that these files are used in Circle CI to set up a minimal environment for running `tests/test_core/*` and then a larger environment for running the other tests (the idea being to prevent extra dependencies from sneaking into plotly.py). This PR divides dependencies into `dev_core` and `dev_optional` with `dev` essentially aliasing `dev_optional` so that `./.circleci/config.yml` can be modified to use these for installation.
1 parent 430154e commit 618a765

File tree

2 files changed

+95
-30
lines changed

2 files changed

+95
-30
lines changed

pyproject.toml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,14 @@ dependencies = [
4747
[project.optional-dependencies]
4848
express = ["numpy"]
4949
kaleido = ["kaleido==1.0.0rc15"]
50-
dev = [
50+
dev_core = [
51+
"pytest",
52+
"requests"
53+
]
54+
dev_optional = [
55+
# all core dependencies
56+
"plotly[dev_core]",
57+
5158
# pin precise version of ruff to prevent accidental reformatting in case its defaults are updated
5259
"ruff==0.11.12",
5360

@@ -68,15 +75,16 @@ dev = [
6875
"polars",
6976
"pyarrow",
7077
"pyshp",
71-
"pytest",
7278
"pytz",
73-
"requests",
7479
"scipy",
7580
"scikit-image",
7681
"shapely",
7782
"statsmodels",
7883
"xarray"
7984
]
85+
dev = [
86+
"plotly[dev_optional]"
87+
]
8088

8189
[project.scripts]
8290
plotly_get_chrome = "plotly.io._kaleido:get_chrome"

uv.lock

Lines changed: 84 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)