New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

casregnum

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

casregnum

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

  • 1.0.1
  • PyPI
  • Socket score

Maintainers
1

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,

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc