Source code is available at Github and can be cloned via git:
git clone https://github.com/ImagingDataCommons/dicomweb-client ~/dicomweb-client
dicomweb_client package can be installed in develop mode for local development:
pip install -e ~/dicomweb-client
Don’t commit code changes to the
master branch. New features should be implemented in a separate branch called
feature/* and bug fixes should be applied in separate branch called
Before creating a pull request on Github, read the coding style guideline, run the tests and check PEP8 compliance.
Code must comply with PEP 8. The flake8 package is used to enforce compliance.
The project uses numpydoc for documenting code according to PEP 257 docstring conventions. Further information and examples for the NumPy style can be found at the NumPy Github repository and the website of the Napoleon sphinx extension.
All API classes, functions and modules must be documented (including “private” functions and methods). Each docstring must describe input parameters and return values. Types must be specified using type hints as specified by PEP 484 (see typing module) in both the function definition as well as the docstring.
The project uses pytest to write and runs unit tests.
Tests should be placed in a separate
tests folder within the package root folder.
Files containing actual test code should follow the pattern
pip install -r ~/dicomweb-client/requirements_test.txt
Run tests (including checks for PEP8 compliance):
cd ~/dicomweb-client pytest --flake8
pip install -r ~/dicomweb-client/requirements_docs.txt
Build documentation in HTML format:
cd ~/dicomweb-client sphinx-build -b html docs/ docs/build/
index.html file will be located in