Comments (3)
Thanks for your comment @computron. Yes you are right in that I added those back to get the unit test to pass. I can certainly look into making them optional and skipping them in the unit tests, but a quick question before doing that - if and when a user wants to utilize a utility of matminer that makes use of these packages, eg: the Citrine data retrieval/plotting functionalities, are you saying it's better to show a "library not found" error at that time instead of forcing install right from the beginning along with matminer?
from matminer.
Hi @saurabh02
I think it's a good question. In my book, there are a few reasons to go with optional dependency:
- the disk size of the dependency is large
- the dependency is difficult to install, e.g., cannot be auto-installed
- the dependency has some chance of breaking the auto-install (i.e., someone who wants to
pip install matminer
gets an error during the installation of the dependency - so they can't install matminer automatically, even if they never planned on using that sub-feature). - The dependency has other dependencies that have one of the above characteristics.
Based on those criteria, I don't see a reason to make citrination-client optional and we can keep it as required so the user has access to the functionality without extra effort. If we find that the dependency breaks one of those criteria in the future, we should make it optional.
We can keep plotly for the same reasons. Again, if it starts breaking things we'll make it optional.
from matminer.
Thanks for your thoughts @computron !
from matminer.
Related Issues (20)
- Materials Project time split dataset - `load_data_from_json` returns `None` during debugging (conditionally)
- `matminer.datasets.utils._validate_dataset()` flaky on Windows? HOT 5
- [FEATURE REQUEST] SkipAtom compositional featurizer
- AttributeError: 'DensityFeatures' object has no attribute 'desired_features' HOT 1
- SOAP features HOT 2
- Suggestion: OPTIMADE data retriever HOT 1
- Fail to approach MPData HOT 4
- Handling NaNs from ElementProperty HOT 3
- CI failing due to broken mongo service
- Fixing matminer's multiprocessing problem HOT 1
- New release 0.9.0? HOT 2
- WenAlloy wrong valence electron counts
- mp-api for MPDataRetrieval needs upgrade badly HOT 1
- Missing compatibility with pandas v2 HOT 11
- Issue link to matsci.org broken
- compatibility request: pandas-2+ HOT 2
- Error in import composition HOT 6
- Simple composition-based featurization fails due to an upgrade in pymatgen HOT 2
- Re-enable tests that are skipped in CI HOT 3
- when I import matminer,mistake as following:ValueError: Unexpected atomic number Z=119。 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matminer.