Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make pylibjpeg-libjpeg optional #201

Merged
merged 10 commits into from
Nov 9, 2022
Merged

Conversation

CPBridge
Copy link
Collaborator

Highdicom is licensed under the permissive MIT license to allow users to use in their own applications, regardless of licence.

Unfortunately, it currently depends on pylibjpeg-libjpeg, which is GPL v3 licensed. This effectively means that many users cannot use highdicom. Luckily highdicom only uses pylibjpeg-libjpeg indirectly through pydicom and only in a few specific cases (decoding pixel data with a few specific transfer syntaxes).

This PR moves pylibjpeg-libjpeg to an optional dependency, that users may install with pip install highdicom[libjpeg], and adds documentation to this effect.

It also alters the tests so that the relevant tests are automatically skipped if pylibjpeg-libjpeg is not installed. This necessitated a (long overdue) restructuring of the segmentation tests to split for loops within a single test to parameterized tests (using fixtures).

@CPBridge CPBridge added the bug Something isn't working label Oct 10, 2022
@CPBridge
Copy link
Collaborator Author

I also expanded the CI tests to run the test suite with and without pylibjpeg-libjpeg. With it, the full tests are run. Without it, tests that depend on it are skipped.

docs/installation.rst Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
setup.py Outdated Show resolved Hide resolved
CPBridge and others added 3 commits October 10, 2022 21:34
Co-authored-by: Markus D. Herrmann <hackermd@users.noreply.github.com>
Co-authored-by: Markus D. Herrmann <hackermd@users.noreply.github.com>
@CPBridge CPBridge merged commit 9026587 into master Nov 9, 2022
@CPBridge CPBridge deleted the make_pylibjpeg-libjpeg_optional branch November 9, 2022 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants