Skip to content

Commit c7d6e10

Browse files
committed
chore: use requirements files for dev and docs
1 parent 20a5d5a commit c7d6e10

File tree

8 files changed

+186
-25
lines changed

8 files changed

+186
-25
lines changed

.github/workflows/ci.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@ jobs:
3636
- name: Update pip
3737
run: pip install -U pip
3838
- name: Install with development dependencies
39-
run: pip install .[cli,dev]
39+
run: pip install .[cli] -r requirements-dev.txt
4040
- name: Check with pre-commit
4141
run: pre-commit run --all-files
4242
- name: Test
4343
run: pytest
4444
min-dependencies:
4545
runs-on: ubuntu-latest
46+
env:
47+
UV_SYSTEM_PYTHON: 1
4648
steps:
4749
- name: Checkout
4850
uses: actions/checkout@v4
@@ -51,12 +53,10 @@ jobs:
5153
with:
5254
python-version: "3.11"
5355
cache: "pip"
54-
- name: Update pip
55-
run: pip install -U pip
56+
- name: Install uv
57+
uses: astral-sh/setup-uv@v3
5658
- name: Install with development dependencies
57-
run: pip install .[cli,dev]
58-
- name: Install minimum versions of dependencies
59-
run: scripts/install-min-dependencies
59+
run: uv pip install .[cli] -r requirements-dev.txt --resolution lowest-direct
6060
- name: Check with pre-commit
6161
run: pre-commit run --all-files
6262
- name: Test
@@ -74,7 +74,7 @@ jobs:
7474
- name: Update pip
7575
run: pip install -U pip
7676
- name: Install with development dependencies
77-
run: pip install .[cli,dev]
77+
run: pip install .[cli] -r requirements-dev.txt
7878
- name: Test with coverage
7979
run: pytest --cov=stac_asset
8080
- name: Upload coverage reports

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ build:
55
python: "3.11"
66
python:
77
install:
8+
- requirements: requirements-docs.txt
89
- method: pip
910
path: .
1011
extra_requirements:
1112
- cli
12-
- docs
1313
sphinx:
1414
configuration: docs/conf.py

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Clone, install with the dev dependencies, and install **pre-commit**:
133133
```shell
134134
git clone [email protected]:stac-utils/stac-asset.git
135135
cd stac-asset
136-
pip install '.[dev]'
136+
pip install -e '.' -r requirements-dev.txt
137137
pre-commit install
138138
```
139139

@@ -154,7 +154,7 @@ See [each client's documentation](#clients) for instructions on setting up your
154154
Install the documentation dependencies:
155155

156156
```shell
157-
pip install -e '.[docs]'
157+
pip install -e . -r requirements-docs.txt
158158
```
159159

160160
Then, build the docs:

pyproject.toml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,6 @@ cli = [
3434
"tabulate~=0.9.0",
3535
"tqdm~=4.66.1",
3636
]
37-
dev = [
38-
"mypy~=1.3",
39-
"pre-commit~=3.3",
40-
"pystac[validation]>=1.8.4",
41-
"pytest~=8.2",
42-
"pytest-asyncio~=0.21",
43-
"pytest-cov>=5.0",
44-
"pytest-recording~=0.13.1",
45-
"ruff==0.6.8",
46-
"types-aiofiles~=24.1",
47-
"types-python-dateutil~=2.9",
48-
"types-tqdm~=4.66.0",
49-
"types-tabulate~=0.9.0",
50-
]
51-
docs = ["pydata-sphinx-theme~=0.13", "sphinx~=8.0", "sphinx-click~=6.0"]
5237

5338
[project.scripts]
5439
stac-asset = "stac_asset._cli:cli"

requirements-dev.in

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
mypy
2+
pre-commit
3+
pystac[validation]
4+
pytest
5+
pytest-asyncio
6+
pytest-cov
7+
pytest-recording
8+
ruff
9+
types-aiofiles
10+
types-python-dateutil
11+
types-tqdm
12+
types-tabulate

requirements-dev.txt

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# This file was autogenerated by uv via the following command:
2+
# uv pip compile requirements-dev.in
3+
attrs==24.2.0
4+
# via
5+
# jsonschema
6+
# referencing
7+
cfgv==3.4.0
8+
# via pre-commit
9+
coverage==7.6.1
10+
# via pytest-cov
11+
distlib==0.3.8
12+
# via virtualenv
13+
filelock==3.16.1
14+
# via virtualenv
15+
identify==2.6.1
16+
# via pre-commit
17+
idna==3.10
18+
# via yarl
19+
iniconfig==2.0.0
20+
# via pytest
21+
jsonschema==4.23.0
22+
# via pystac
23+
jsonschema-specifications==2023.12.1
24+
# via jsonschema
25+
multidict==6.1.0
26+
# via yarl
27+
mypy==1.11.2
28+
# via -r requirements-dev.in
29+
mypy-extensions==1.0.0
30+
# via mypy
31+
nodeenv==1.9.1
32+
# via pre-commit
33+
packaging==24.1
34+
# via pytest
35+
platformdirs==4.3.6
36+
# via virtualenv
37+
pluggy==1.5.0
38+
# via pytest
39+
pre-commit==4.0.0
40+
# via -r requirements-dev.in
41+
pystac==1.11.0
42+
# via -r requirements-dev.in
43+
pytest==8.3.3
44+
# via
45+
# -r requirements-dev.in
46+
# pytest-asyncio
47+
# pytest-cov
48+
# pytest-recording
49+
pytest-asyncio==0.24.0
50+
# via -r requirements-dev.in
51+
pytest-cov==5.0.0
52+
# via -r requirements-dev.in
53+
pytest-recording==0.13.2
54+
# via -r requirements-dev.in
55+
python-dateutil==2.9.0.post0
56+
# via pystac
57+
pyyaml==6.0.2
58+
# via
59+
# pre-commit
60+
# vcrpy
61+
referencing==0.35.1
62+
# via
63+
# jsonschema
64+
# jsonschema-specifications
65+
rpds-py==0.20.0
66+
# via
67+
# jsonschema
68+
# referencing
69+
ruff==0.6.9
70+
# via -r requirements-dev.in
71+
six==1.16.0
72+
# via python-dateutil
73+
types-aiofiles==24.1.0.20240626
74+
# via -r requirements-dev.in
75+
types-python-dateutil==2.9.0.20241003
76+
# via -r requirements-dev.in
77+
types-tabulate==0.9.0.20240106
78+
# via -r requirements-dev.in
79+
types-tqdm==4.66.0.20240417
80+
# via -r requirements-dev.in
81+
typing-extensions==4.12.2
82+
# via mypy
83+
vcrpy==6.0.1
84+
# via pytest-recording
85+
virtualenv==20.26.6
86+
# via pre-commit
87+
wrapt==1.16.0
88+
# via vcrpy
89+
yarl==1.13.1
90+
# via vcrpy

requirements-docs.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
pydata-sphinx-theme
2+
sphinx
3+
sphinx-click

requirements-docs.txt

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# This file was autogenerated by uv via the following command:
2+
# uv pip compile requirements-docs.in
3+
accessible-pygments==0.0.5
4+
# via pydata-sphinx-theme
5+
alabaster==1.0.0
6+
# via sphinx
7+
babel==2.16.0
8+
# via
9+
# pydata-sphinx-theme
10+
# sphinx
11+
beautifulsoup4==4.12.3
12+
# via pydata-sphinx-theme
13+
certifi==2024.8.30
14+
# via requests
15+
charset-normalizer==3.3.2
16+
# via requests
17+
click==8.1.7
18+
# via sphinx-click
19+
docutils==0.21.2
20+
# via
21+
# pydata-sphinx-theme
22+
# sphinx
23+
# sphinx-click
24+
idna==3.10
25+
# via requests
26+
imagesize==1.4.1
27+
# via sphinx
28+
jinja2==3.1.4
29+
# via sphinx
30+
markupsafe==2.1.5
31+
# via jinja2
32+
packaging==24.1
33+
# via
34+
# pydata-sphinx-theme
35+
# sphinx
36+
pydata-sphinx-theme==0.15.4
37+
# via -r requirements-docs.in
38+
pygments==2.18.0
39+
# via
40+
# accessible-pygments
41+
# pydata-sphinx-theme
42+
# sphinx
43+
requests==2.32.3
44+
# via sphinx
45+
snowballstemmer==2.2.0
46+
# via sphinx
47+
soupsieve==2.6
48+
# via beautifulsoup4
49+
sphinx==8.0.2
50+
# via
51+
# -r requirements-docs.in
52+
# pydata-sphinx-theme
53+
# sphinx-click
54+
sphinx-click==6.0.0
55+
# via -r requirements-docs.in
56+
sphinxcontrib-applehelp==2.0.0
57+
# via sphinx
58+
sphinxcontrib-devhelp==2.0.0
59+
# via sphinx
60+
sphinxcontrib-htmlhelp==2.1.0
61+
# via sphinx
62+
sphinxcontrib-jsmath==1.0.1
63+
# via sphinx
64+
sphinxcontrib-qthelp==2.0.0
65+
# via sphinx
66+
sphinxcontrib-serializinghtml==2.0.0
67+
# via sphinx
68+
typing-extensions==4.12.2
69+
# via pydata-sphinx-theme
70+
urllib3==2.2.3
71+
# via requests

0 commit comments

Comments
 (0)