Skip to main content

Simple client for fetching data from mofdb

Reason this release was yanked:

see mofdb-client package

Project description

mofdb-client

A typed lightweight client wrapping the mofdb api.

Installation

python3 -m pip install mofdb_client

Example

Example of mofdb-client IDE autocompletion

from mofdb_client import fetch
for mof in fetch(vf_min=0.5, vf_max=0.99):
    print(f"Mof {mof.name} has {len(mof.isotherms)} isotherms and elements {[str(e) for e in mof.elements]}")
    print(f"This mof's cif file starts with: '{mof.cif.splitlines()[1]}'")
Mof UTEWUM_clean has 2 isotherms and elements ['Cu', 'H', 'C', 'N']
This mof's cif file starts with: '_audit_creation_date              2014-07-02'
Mof ZECKID_clean has 1 isotherms and elements ['Cu', 'H', 'C', 'N', 'O']
This mof's cif file starts with: '_audit_creation_date              2014-07-02'
Mof AQOMAW_clean has 2 isotherms and elements ['N', 'C', 'H', 'Co', 'Cl', 'O']
This mof's cif file starts with: '_cell_length_a       18.8345'
Mof AQOLOJ_clean has 2 isotherms and elements ['N', 'C', 'H', 'Co', 'Cl']
This mof's cif file starts with: '_cell_length_a       18.794'
Mof SENWOZ_clean has 2 isotherms and elements ['Zn', 'H', 'C', 'O']
This mof's cif file starts with: '_audit_creation_date              2014-07-02'
Mof IYUCIQ_clean has 2 isotherms and elements ['Dy', 'O', 'N', 'C', 'H']
This mof's cif file starts with: '_cell_length_a       29.162'
Mof ORUKET_clean has 2 isotherms and elements ['P', 'O', 'N', 'C', 'H', 'Mg']
This mof's cif file starts with: '_cell_length_a       18.571'
...

Parameters

fetch supports a number of arguements

  • mofid: str
  • mofkey: str
  • vf_min: float
  • vf_max: float
  • lcd_min: float
  • lcd_max: float
  • pld_min: float
  • pld_max: float
  • sa_m2g_min: float
  • sa_m2g_max: float
  • sa_m2cm3_min: float
  • sa_m2cm3_max: float
  • limit: int

Design Note

fetch is lazy because mofDB is large. Be sure to loop over it with for mof in fetch() and NOT for mof in list(fetch()) since building the list will download all the mofs before it starts processing and this will be very slow and may well run out of memory.

Compatibility

Tested on Python 3.9 likely to work on any 3.x.

Future Enhancements:

  • Retries for transient network failures with exponential backoff

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

mofdb_client-n8ta-0.0.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mofdb_client_n8ta-0.0.2-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file mofdb_client-n8ta-0.0.2.tar.gz.

File metadata

  • Download URL: mofdb_client-n8ta-0.0.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/24.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for mofdb_client-n8ta-0.0.2.tar.gz
Algorithm Hash digest
SHA256 ed815e380d861c6839cbc923b57f3b9ac6dda1f1d17a076284f004b2ddd368db
MD5 6d7f9c20b8aca02f838eb3120a2528ab
BLAKE2b-256 daa88a5db47d709953a5c1ac20209f0fcfbb984b4e94aa7decd9e5fa5e8c8dcb

See more details on using hashes here.

File details

Details for the file mofdb_client_n8ta-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mofdb_client_n8ta-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/24.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for mofdb_client_n8ta-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 91ad2d4b4d7699d53f97d21552f0d56777ee44766fbad95827ddb38e5339a75c
MD5 cc7680fef4ba10f248e95a9edaab2869
BLAKE2b-256 21f67495e581d7974442e5607bce97b11cd62bc51bc11675315ee02e6a469511

See more details on using hashes here.

Supported by

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