Skip to main content

CDES Python SDK

Official Python SDK for the Cannabis Data Exchange Standard (CDES).

Installation

pip install cdes

Quick Start

Validate Cannabis Data

from cdes import validate_strain, validate_terpene_profile

# Validate a strain record
result = validate_strain({
    "id": "blue-dream",
    "name": "Blue Dream",
    "type": "hybrid"
})

if result.valid:
    print(" Strain data is valid!")
else:
    for error in result.errors:
        print(f" {error.path}: {error.message}")

Access Reference Data

from cdes import get_terpene_library, get_terpene_by_id

# Get the complete terpene library
library = get_terpene_library()
print(f"Library version: {library.version}")
print(f"Total terpenes: {len(library.terpenes)}")

# Look up a specific terpene
myrcene = get_terpene_by_id("terp-myrcene")
print(f"{myrcene.name}: CAS {myrcene.casNumber}")
print(f"Aromas: {', '.join(myrcene.aroma)}")

Features

  • Schema Validation - Validate strains, COAs, terpene profiles, and cannabinoid profiles
  • Reference Data - Access the official CDES terpene library with CAS numbers and effects
  • Type Safety - Full type hints and dataclass models
  • Zero Dependencies - Pure Python, no external packages required

API Reference

Validators

Function Description
validate_strain(data) Validate a strain record
validate_coa(data) Validate a Certificate of Analysis
validate_terpene_profile(data) Validate a terpene profile
validate_cannabinoid_profile(data) Validate a cannabinoid profile

Reference Data

Function Description
get_terpene_library() Get the complete terpene library
get_terpene_by_id(id) Look up a terpene by CDES ID

Models

Class Description
ValidationResult Result of a validation operation
ValidationError A single validation error
Terpene A cannabis terpene
TerpeneLibrary The complete terpene reference

Development

# Clone the repository
git clone https://github.com/Acidni-LLC/cdes-sdk-python.git
cd cdes-sdk-python

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black cdes tests

Related Projects

License

MIT License - see LICENSE for details.

Maintained By

Acidni LLC - Cannabis Data Analytics & AI Solutions

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdes-1.5.0.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

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

cdes-1.5.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file cdes-1.5.0.tar.gz.

File metadata

  • Download URL: cdes-1.5.0.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cdes-1.5.0.tar.gz
Algorithm Hash digest
SHA256 ae21065e12aef708bcd166bacffcb3a6491922613f3b30116fe9b086fb0973c8
MD5 cc52b3bac4785352f79ba15dfd575969
BLAKE2b-256 28c14a63d92de82ddcf89c511df1f81eceb6bcc22cfd4020a18858941684399e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdes-1.5.0.tar.gz:

Publisher: publish.yml on Acidni-LLC/cdes-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cdes-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: cdes-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cdes-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d99927224741973aadd283267ac4c17e1a0ba750d6c0f4c9ef69d9a27a2091d5
MD5 5dcc8913dd514b05411873230e3efdd0
BLAKE2b-256 ec2fb2c3200aaac03a26b962690d00b247ecb8b66f19c9cba910625be50f02d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdes-1.5.0-py3-none-any.whl:

Publisher: publish.yml on Acidni-LLC/cdes-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 files

1.4.0

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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