A parser for molecule formula. Nested brackets are supported.
Project description
pymolecule-parser: A parser for a molecule formula that supports nested brackets
Installation
pip install pymolecule-parser
Usage
- pymolecule_parser.parse returns a dictionary of atoms and their numbers. (type: dict[str, int])
from pymolecule_parser import parse
dict_1 = parse("H2O") # {'H': 2, 'O': 1}
dict_2 = parse("3H2O") # {'H': 6, 'O': 3}
dict_3 = parse("H2O2(OH)2") # {'H': 4, 'O': 4}
dict_4 = parse("[Co(NH3)6]Cl3") # {'Co': 1, 'N': 6, 'H': 18, 'Cl': 3}
Options
- strict_mode
- If
strict_mode
isTrue
, the parser expects all atoms in the argument to be from hydrogen (H) to oganeson (Og), otherwise raises an exception - If
strict_mode
isFalse
, the parser parses arguments even if they are not existing atoms if they satisfy the rules for writing atoms (first letter is uppercase, subsequent letters are lowercase) - Default:
False
(non-strict mode)
- If
If you want to use strict mode, please use the following code.
from pymolecule_parser import parse
dict_1 = parse("H2O", strict_mode=True) # {'H': 2, 'O': 1}
Limitations
The following notations are not supported.
- Ion notations
- For example,
[Cu(NH3)4]2+
is not supported. UseCu(NH3)4
instead.
- For example,
- middle dot
·
- For example,
CuSO4·5H2O
is not supported. UseCuSO4(H2O)5
instead.
- For example,
License
Apache License 2.0
Author
Kohei Noda
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
pymolecule_parser-0.1.0.tar.gz
(12.7 kB
view details)
Built Distribution
File details
Details for the file pymolecule_parser-0.1.0.tar.gz
.
File metadata
- Download URL: pymolecule_parser-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec9245a9df8035a7086d0441d2212a87ebc3d119861c581b52d8c19ae94d2725 |
|
MD5 | 1a925f0a094ed6b986dbf367e627c783 |
|
BLAKE2b-256 | 9b3f9e40adbe4dc8ac9b4c58b7829495dd40e925d22545f43772a25d9c45c4d5 |
File details
Details for the file pymolecule_parser-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: pymolecule_parser-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 058f55eec1f729c442cc8c048f72e462d9b94b327531222d729e937dd30dfeac |
|
MD5 | 1fff94054121d12af8554bb5577fb218 |
|
BLAKE2b-256 | ead906188e4940be686d2c97c2c32b98c29a7aa3a48986797271e9e59df52fdd |