An alpha version for OpenMindat package
Project description
OpenMindat Python Package
This is a test version of the OpenMindat Python package, designed to facilitate querying and retrieving data on minerals and geomaterials from the Mindat API. It provides classes for detailed queries based on various attributes like IMA status, keywords, and specific geomaterial properties.
GitHub Repository: OpenMindat Python Package
Get Started
Install via Pip
foo@bar:~$ pip install openmindat
Import the Package in Python
import openmindat
Use Cases
0. Setting API Key in Alternative Ways
import os
os.environ["MINDAT_API_KEY"] = 'Your_Mindat_API_Key'
If you do not have a Mindat API key, please refer to How to Get My Mindat API Key or Token?
You can also set the API key by following the general queries.
1. Perform Detailed Queries on Geomaterials
:exclamation: Temporarily Outage, see https://github.com/ChuBL/OpenMindat/issues/12
# Temporarily Outage, see https://github.com/ChuBL/OpenMindat/issues/12
from openmindat import GeomaterialRetriever
gr = GeomaterialRetriever()
gr.density_min(2.0).density_max(5.0).crystal_system("Hexagonal")
gr.elements_exc("Au,Ag")
gr.saveto("./mindat_data")
2. Retrieve IMA-Approved Minerals
from openmindat import MineralsIMARetriever
mir = MineralsIMARetriever()
mir.ima(1).fields("id,name,ima_formula,ima_year")
mir.saveto("./mindat_data", 'my_filename')
3. Search Geomaterials Using Keywords
from openmindat import GeomaterialSearchRetriever
gsr = GeomaterialSearchRetriever()
gsr.geomaterials_search("quartz, green, hexagonal")
gsr.save("filename")
# Alternatively, you can get the list object directly:
gsr = GeomaterialSearchRetriever()
gsr.geomaterials_search("ruby, red, hexagonal")
print(gsr.get_list())
4. Retrieve Localities
:exclamation: Some country names, e.g., United States and United Kingdom, are not working due to server-side problems, which will be fixed in the future.
from openmindat import LocalitiesRetriever
lr = LocalitiesRetriever()
lr.country("France").txt("mine")
lr.save()
# Alternatively, you can get the list object directly:
lr = LocalitiesRetriever()
lr.country("Canada").description("mine")
print(lr.get_list())
5. Retrieve Type Localities for IMA-Approved Mineral Species
from openmindat import GeomaterialRetriever
gr = GeomaterialRetriever()
gr.ima(True).expand("type_localities")
gr.saveto("./mindat_data")
6. Retrieve Locality Occurrences for Single Mineral Species
Please consider using only one mineral species ID for querying localities occurrences since this query might result in many records and exceed the server limitation.
from openmindat import GeomaterialRetriever
gr = GeomaterialRetriever()
gr.expand("locality").id__in(str(id_value))
gr.saveto("./mindat_data")
Documentation
-
GitHub Wiki: For comprehensive documentation, visit our GitHub Wiki.
-
OpenMindat API Documentation: OpenMindat Redoc
-
Built-in Help:
To explore detailed class and method documentation within the OpenMindat package, use Python's built-in help()
function. This provides direct access to docstrings, showcasing usage examples and parameter details. Example:
from openmindat import GeomaterialRetriever
help(GeomaterialRetriever)
The help() is also available for the specific functions:
>>> from openmindat import MineralsIMARetriever
>>> help(MineralsIMARetriever.fields)
Press q
to exit the help interface.
Contact Us
For further assistance or feedback, feel free to contact the development team at jiyinz@uidaho.edu.
License
Project Licence: Apache
Mindat Data License: CC BY-NC-SA 4.0 DEED
Author
Jiyin Zhang, Clairmont Cory
Acknowledgments
- This work is supported by NSF, Award #2126315.
Updating Logs
0.0.4
Released: Apr 14, 2024
- Tentative issue: Data queries involving multiple pages might return an
Internal Server Error
due to server-end issues. Related GitHub issue - Added support to getting list objects of obtained data in addition to saving it to local directories.
0.0.3
Released: Apr 11, 2024
- Tentative issue: Data queries involving multiple pages might return an
Internal Server Error
due to server-end issues. - Now supporting more Mindat endpoints. Not fully tested. Feedback is welcome.
- Revised API key obtaining workflow.
0.0.1
Released: Dec 14, 2023
- Initial release of the package.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for openmindat-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5279c80d37eadf62e1fa1a6929952560a50e117e7711476525094de19c1eee6e |
|
MD5 | f29ed620c0bab084e5dfe1088d6e60b8 |
|
BLAKE2b-256 | 69ab91ee75ec27fe39544cb16bd1648c144aaa91d08b24be4ed7c2732c904aab |