Skip to content

Commit 7aae7f0

Browse files
committed
Moves docs build dependencies to pyproject.toml. Updates readme Closes:#61
1 parent 24c93f7 commit 7aae7f0

File tree

7 files changed

+37
-191
lines changed

7 files changed

+37
-191
lines changed

.readthedocs.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Required
55
version: 2
66

7-
# Set the version of Python and other tools you might need
7+
# Set the version of Python and other tools you might need.
88
build:
99
os: ubuntu-22.04
1010
tools:
@@ -13,7 +13,8 @@ build:
1313
mkdocs:
1414
configuration: mkdocs.yml
1515

16-
# Optionally declare the Python requirements required to build your docs
16+
# Declare the Python requirements required to build your docs.
1717
python:
1818
install:
19-
- requirements: docs/docs_requirements.txt
19+
- method: pip
20+
- extra_requirements: docs

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ trolley.download(studies[0], output_dir='/tmp/trolley')
3838
```
3939

4040
## Documentation
41-
see [dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)
41+
See [dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)

docs/contributing.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,15 @@ To bump dicomtrolley's version, do the following:
5050
Docs are based on [mkdocs](https://www.mkdocs.org/), using the
5151
[Materials for mkdocs](https://squidfunk.github.io/mkdocs-material/) skin.
5252

53-
Docs are published on [readthedocs.org](https://about.readthedocs.com/). Docs requirements are kept separate and updated with
54-
[pip-tools](https://pypi.org/project/pip-tools/) for a clean readthedocs build. To edit the docs:
53+
Docs are published on [readthedocs.org](https://about.readthedocs.com/). Docs build requirements are in
54+
pyproject.toml in the dependency-group `docs`.
5555

56-
* Install docs dependencies: `pip install -r docs/docs_requirements.txt`
56+
To edit the docs:
5757

58-
* Edit content in `/docs`, potentialy add requirements in `docs/docs_requirements.in`
58+
* Install docs dependencies: `uv sync --group docs` (by default uv sync does _not_ install the docs group)
59+
60+
* Edit content in `/docs`
5961

6062
* Try out your changes using `mkdocs serve`
6163

62-
* Update docs requirements (readthedocs needs this): `pip-compile docs/docs_requirements.in`
64+
* To add docs requirements: `uv add --group dev <package to add>`. To remove `uv remove --group dev <package to add>`

docs/docs_requirements.in

Lines changed: 0 additions & 13 deletions
This file was deleted.

docs/docs_requirements.txt

Lines changed: 0 additions & 137 deletions
This file was deleted.

docs/index.md

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# dicomtrolley
22

3-
4-
[![CI](https://github.com/sjoerdk/dicomtrolley/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/sjoerdk/dicomtrolley/actions/workflows/build.yml?query=branch%3Amaster)
3+
[![CI](https://github.com/sjoerdk/dicomtrolley/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/sjoerdk/dicomtrolley/actions/workflows/build.yml?query=branch%3Amain)
54
[![PyPI](https://img.shields.io/pypi/v/dicomtrolley)](https://pypi.org/project/dicomtrolley/)
65
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dicomtrolley)](https://pypi.org/project/dicomtrolley/)
7-
[![Code Climate](https://codeclimate.com/github/sjoerdk/dicomtrolley/badges/gpa.svg)](https://codeclimate.com/github/sjoerdk/dicomtrolley)
86
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
97
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
108

@@ -14,7 +12,9 @@ Retrieve medical images via WADO-URI, WADO-RS, QIDO-RS, MINT, RAD69 and DICOM-QR
1412
* Query and download DICOM Studies, Series and Instances
1513
* Integrated search and download - automatic queries for missing series and instance info
1614

17-
![A trolley](resources/trolley.png)
15+
![A trolley](docs/resources/trolley.png)
16+
17+
[dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)
1818

1919
## Installation
2020
```
@@ -36,22 +36,6 @@ studies = trolley.find_studies(Query(PatientName='B*'))
3636
# download the fist one (using WADO)
3737
trolley.download(studies[0], output_dir='/tmp/trolley')
3838
```
39-
## Documentation
40-
see [dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)
41-
42-
## Examples
43-
Example code can be found [on github](https://github.com/sjoerdk/dicomtrolley/tree/master/examples)
4439

45-
## Alternatives
46-
* [dicomweb-client](https://github.com/MGHComputationalPathology/dicomweb-client) - Active library supporting QIDO-RS, WADO-RS and STOW-RS.
47-
* [pynetdicom](https://github.com/pydicom/pynetdicom) - dicomtrolley's DICOM-QR support is based on pynetdicom. Pynetdicom supports a broad range of DICOM networking interactions and can be used as a stand alone application.
48-
49-
## Caveats
50-
Dicomtrolley has been developed for and tested on a Vitrea Connection 8.2.0.1 system. This claims to
51-
be consistent with WADO and MINT 1.2 interfaces, but does not implement all parts of these standards.
52-
53-
Certain query parameter values and restraints might be specific to Vitrea Connection 8.2.0.1. For example,
54-
the exact list of DICOM elements that can be returned from a query might be different for different servers.
55-
56-
## Contributing
57-
See [Contributing](contributing.md)
40+
## Documentation
41+
See [dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)

pyproject.toml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,32 @@ Changelog = "https://github.com/sjoerdk/dicomtrolley/blob/main/HISTORY.md"
2424
line-length = 79
2525
target-version = ['py310']
2626

27+
[tool.uv.sources]
28+
dicomtrolley = { workspace = true }
29+
2730
[dependency-groups]
2831
dev = [
2932
"pytest>=7.4.0",
3033
"pytest-randomly>=3.5.0",
3134
"pytest-cov>=2.11.1",
3235
"tox>=3.23.0",
33-
"requests-mock>=1.11.0",
3436
"factory-boy>=3.2.1",
3537
"sybil>=5.0.3",
36-
"mkdocs>=1.5.2",
37-
"mkdocstrings>=0.22.0",
38+
"pre-commit",
39+
"requests-mock>=1.12.1",
40+
]
41+
docs = [
42+
"dicomtrolley",
43+
"markdown-mdantic>=2.1.1",
44+
"mkdocs>=1.6.1",
45+
"mkdocs-autorefs>=1.4.3",
3846
"mkdocs-gen-files>=0.5.0",
39-
"mkdocs-section-index>=0.3.5",
40-
"mkdocs-literate-nav>=0.6.0",
41-
"markdown-mdantic>=1.3.5",
42-
"mkdocs-material>=9.2.8",
43-
"mkdocs-autorefs>=0.5.0",
44-
"pip-tools>=7.3.0",
45-
"pre-commit"
47+
"mkdocs-literate-nav>=0.6.2",
48+
"mkdocs-material>=9.6.20",
49+
"mkdocs-material-extensions>=1.3.1",
50+
"mkdocs-section-index>=0.3.10",
51+
"mkdocstrings>=0.30.0",
52+
"mkdocstrings-python>=1.18.2",
53+
"pydantic>=2.11.9",
54+
"pydicom>=3.0.1",
4655
]

0 commit comments

Comments
 (0)