Skip to main content

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

If you do not have a Mindat API key, please refer to How to Get My Mindat API Key or Token?

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'

You can also set the API key by following the instructions when using the following queries.

1. Perform Detailed Queries on Geomaterials

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('my_filename')

4. Retrieve Localities

from openmindat import LocalitiesRetriever

lr = LocalitiesRetriever()
lr.country("France").txt("mine")
lr.save()

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

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.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

openmindat-0.0.3.tar.gz (29.3 kB view hashes)

Uploaded Source

Built Distribution

openmindat-0.0.3-py3-none-any.whl (41.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page