-
Notifications
You must be signed in to change notification settings - Fork 249
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
Spring cleaning for dependencies #705
Comments
@lbianchi-lbl Do you want us to update the table above if we have comments to make? E.g. |
@andrewlee94 that's an excellent point and yes, please feel free to add corrections. I've started by looking at modules that are directly imported by IDAES code, but this ignores cases such as Also, the table might be finicky to edit by hand, so you can write corrections in a comment and I can then amend the table if that seems easier. |
On the topic of things like Personally, I would be inclined to make things like this a |
@lbianchi-lbl I would also suggest that we might also want to have some further "use-case" only dependencies - i.e. things that are only used by one (sub-)package in the code. These we would just have a check for in the code, and tell the user that they need to get the dependency themselves. I can see a few cases above where a "contrib-quality" package is bringing in a new dependency (e.g. |
@andrewlee94 - thanks for the corrections for For |
@andrewlee94 I agree, that's another good point. As I see it, the main criteria for deciding whether a dependency
For any of the dependencies that we're classifying as optional, we could use these criteria to decide the |
I've edited the original comment adding a first proposed grouping for the dependencies, as "Option A". Feel free to add your thoughts, either in a comment to the issue or by copying "Option A", making the changes, and posting it under a different identifier. |
Once this is sorted out, we need to update this page in our docs: https://idaes-pse.readthedocs.io/en/stable/tutorials/getting_started/opt_dependencies.html#optional-dependencies |
I added seaborn to the table. I used it in one place and you currently need to manually install if you want it. Someone also commented that they may use it in the future. It's definitely very optional. |
This might be a good candidate for making at least some of these changes immediately after the Aug release. |
Summarizing the next steps for this:
|
Goals
2 <= n < 8
) of categories to be used asextras_require
, i.e.pip install idaes-pse[my-dependencies]
Current status
idaes.dmf.util
idaes.dmf.util
idaes.commands.examples
ideas.commands.examples
,idaes.dmf
idaes.surrogate.keras_surrogate
idaes.dmf.model_data
test_*
andconftest.py
idaes.generic_models.properties.core.coolprop
,idaes.config
,idaes.dmf
idaes.ui.fsvis
idaes.ui.fsvis
idaes.core.util.expr_doc
,idaes.surrogate.helmet
idaes.dmf
idaes.surrogate.ripe
idaes.surrogate.keras_surrogate
idaes.generic_models.properties.core.coolprop
+ test(table generated with the useful tool https://www.tablesgenerator.com/markdown_tables)
Effort to make optional:
extras_require
+ conditional importProposed grouping
Option A
Core dependencies
pyomo
pint
numpy
pandas
matplotlib
networkx
pyyaml
scipy
click
Optional dependencies in
extras_require
testing
pytest
examples
ORjupyter
ORnotebooks
jupyter
nbconvert
nbformat
ipython
(version constraint only)pywin32
(version constraint only)dmf
colorama
lxml
tinydb
nbformat
ui
ORfsvis
requests
python-slugify
omlt
ORkeras
ORmlai
etcomlt
tensorflow
Optional dependencies (standalone)
sympy
coolprop
- this is also useful for verification testing of property models.rbfopt
The text was updated successfully, but these errors were encountered: