Make all JAX and machine learning related dependencies optional #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The JOPT and RL algorithms come with very heavy dependencies, which don't need to be installed for every user. This PR adds targets "jopt" and "rl" so that one can use
pip install qutip-qoc [jopt]
orpip install qutip-qoc [rl]
to include these dependencies, otherwise they are omitted. The full installation (as it was previously) can be obtained withpip install qutip-qoc [full]
.I updated the code to still work if these dependencies are not installed, as long as these algorithms are not invoked, and made the tests skip if the dependencies are not installed. Someone please double-check if I missed anything, but I have checked that the tests pass in all installation configurations.
This PR does not fix issue #30 but should improve things somewhat, since everything still works on Windows if the RL dependencies are not installed.