Python class to manage, check and sort CAS Registry Numbers® (CAS RN®)
Project description
casregnum
Python class to manage, check and sort CAS Registry Numbers® (CAS RN®).
Table of Contents
Description
casregnum is a Python class to manage, check, and sort CAS Registry Numbers® (CAS RN®) by the Chemical Abstracts Service. Check their official FAQ website for more information on CAS numbers.
How to install and uninstall
casregnum can be installed from the Python Package Index (PyPI) repository by calling
pip install casregnum
or
uv add casregnum
In order to uninstall casregnum from your local environment use
pip uninstall casregnum
or
uv remove casregnum
How to use
casregnum provides the CAS class for creating a CAS Registry Number® instance:
from casregnum import CAS
substance = CAS(cas_rn)
Note that cas_rn can either be an integer or a string. If you provide an integer, the CAS class will take care of formatting the CAS RN® for you. If you provide a string, it needs to comply with the CAS number formatting rules, i. e. 2-7 digits dash two digits dash single check digit (_____00-00-0).
The CAS class offers the following three properties:
.cas_string # CAS number formatted as a string
.cas_integer # CAS number as an integer
.check_digit # check digit of the CAS number
Examples:
from casregnum import CAS
caffeine = CAS(58_08_2)
theine = CAS("58-08-2")
l_lacticacid = CAS(79_33_4)
d_lacticacid = CAS(10326_41_7)
octanes = [
CAS(111_65_9), CAS(592_27_8), CAS(589_81_1), CAS(589_53_7), CAS( 590_73_8), CAS(584_94_1),
CAS(589_43_5), CAS(592_13_2), CAS(563_16_6), CAS(583_48_2), CAS( 619_99_8), CAS(564_02_3),
CAS(540_84_1), CAS(560_21_4), CAS(565_75_3), CAS(609_26_7), CAS(1067_08_9), CAS(594_82_1),
]
print(f"str: {caffeine}")
print(f"int: {theine.cas_integer}")
print(f"check digit: {caffeine.check_digit}")
print(f"{caffeine} == {theine}: {caffeine == theine}")
print(f"{caffeine} > {theine}: {caffeine > theine}")
print(f"{l_lacticacid} > {d_lacticacid}: {l_lacticacid > d_lacticacid}")
print(f"{l_lacticacid} < {d_lacticacid}: {l_lacticacid < d_lacticacid}")
for i, isomer in enumerate(sorted(octanes), start=1):
print(f"{isomer:>9}", end=", ")
if i % 6 == 0:
print()
This will generate the following output:
str: 58-08-2
int: 58082
check digit: 2
58-08-2 == 58-08-2: True
58-08-2 > 58-08-2: False
79-33-4 > 10326-41-7: False
79-33-4 < 10326-41-7: True
111-65-9, 540-84-1, 560-21-4, 563-16-6, 564-02-3, 565-75-3,
583-48-2, 584-94-1, 589-43-5, 589-53-7, 589-81-1, 590-73-8,
592-13-2, 592-27-8, 594-82-1, 609-26-7, 619-99-8, 1067-08-9,
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file casregnum-1.1.1.tar.gz.
File metadata
- Download URL: casregnum-1.1.1.tar.gz
- Upload date:
- Size: 43.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f122f18f95b78c17a8de4864583b3eea1acc66585a692abe05e2d40846e06274
|
|
| MD5 |
f06def471e1af155a74d72e4a0ddfe16
|
|
| BLAKE2b-256 |
b66dff5e02ff778a53e75cbadb6ba26d0384c61247b8411248bd698104c1a900
|
File details
Details for the file casregnum-1.1.1-py3-none-any.whl.
File metadata
- Download URL: casregnum-1.1.1-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3539a5e0f0955011ecbf4c0aa0ed5ed7ac181b95340e214928f80d65269fe23
|
|
| MD5 |
01a47557d3e15301c20673c8f5b4452e
|
|
| BLAKE2b-256 |
18496c9d7d5a509d156bc1ac5977d667ae0a337ef911a52b387d65b01d601ee2
|