Skip to main content

casregnum provides a Python class 'CAS' for working with CAS Registry Numbers®. It allows managing, sorting and checking CAS numbers.

Project description

casregnum

PyPI pytest

Python class to manage, check and sort CAS Registry Numbers® (CAS RN®).

Table of Content
  1. Description
  2. How to install and uninstall?
  3. How to use?
  4. Examples

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

In order to uninstall casregnum from your local environment use

pip uninstall 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()

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

casregnum-1.0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

casregnum-1.0.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file casregnum-1.0.1.tar.gz.

File metadata

  • Download URL: casregnum-1.0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

File hashes

Hashes for casregnum-1.0.1.tar.gz
Algorithm Hash digest
SHA256 501d655a7fa7b57acaba7d6a91827a93b4c28c5374584a47568bf450b7907ced
MD5 1f64237b4e414bd8d9f466ae212fd701
BLAKE2b-256 760f193f6535f82847916cd42d5bf0277028b35564547b53bf2291e5868b09e9

See more details on using hashes here.

File details

Details for the file casregnum-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: casregnum-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

File hashes

Hashes for casregnum-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9cdf402a81b82294013b426addc2af85ff2da8a9f689f79d1847a9d28e44a778
MD5 1935e0eb5cb75371af12733cf6ebed8c
BLAKE2b-256 85744acf83e56ca08acff30934fa4a5a8552cf37bbdd032a5d13cec56b277773

See more details on using hashes here.

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