Python SDK for the ALETHEIA Safety Database API — chemical safety data for 1,800+ compounds
Project description
aletheia-safety
Python SDK for the ALETHEIA Safety Database API — chemical safety data for 1,800+ compounds, 950+ materials, and 520+ consumer products.
Install
pip install aletheia-safety
Quick Start
from aletheia_safety import Aletheia
# Free tier (200 requests/day per IP)
client = Aletheia()
# Or with an API key for higher limits
client = Aletheia(api_key="aletheia_live_…")
Usage
Look up compounds
# By HQ ID
glyphosate = client.compound("hq-c-org-000001")
print(glyphosate["name"]) # "Glyphosate"
# By CAS number
bpa = client.compound_by_cas("80-05-7")
# With safety context
risk = client.compound("hq-c-org-000001", context="human_adult")
# Batch lookup (up to 20)
results = client.batch(["hq-c-org-000001", "hq-c-org-000005"])
Search
# Full-text search across all entity types
results = client.search("sodium")
# Filter by type
compounds = client.search("sodium", type="compound", limit=10)
# Filter by risk level and context
high_risk = client.filter(risk="high", context="food_contact")
# Filter by regulatory agency
epa = client.filter(agency="EPA", year_min=2020)
Compare compounds
# Side-by-side comparison (2-5 compounds)
comparison = client.compare(
["hq-c-org-000001", "hq-c-org-000005"],
context="human_adult"
)
Explore relationships
# Direct relationships
rels = client.relationships("hq-c-org-000001")
# Multi-hop graph traversal
graph = client.graph("hq-c-org-000001", depth=2)
print(f"{len(graph['nodes'])} nodes, {len(graph['edges'])} edges")
Regulatory data
# Classifications for a compound
reg = client.regulatory("hq-c-org-000001")
# All agencies
agencies = client.regulatory_agencies()
# Compounds classified by a specific agency
iarc = client.regulatory_by_agency("IARC")
Exposure sources
# Where a compound is found
sources = client.found_in("hq-c-org-000001")
# All categories
cats = client.found_in_categories()
# Compounds in a category
food = client.found_in_by_category("Food")
Products & Materials
products = client.products(limit=50)
product = client.product("hq-p-hom-000001")
materials = client.materials(limit=50)
material = client.material("hq-m-str-000001")
Fragrance ingredients
fragrances = client.fragrance(limit=50)
classes = client.fragrance_classes()
results = client.fragrance_search("lavender")
Embeddable badge
url = client.badge_url("hq-c-org-000001")
# Use in HTML: <img src="{url}" alt="Safety badge"/>
Key management
status = client.key_status()
print(f"Tier: {status['tier']}, Used: {status['usage']['today']}")
Tiers
| Tier | Requests/Day | Price |
|---|---|---|
| Public | 200/IP | Free |
| Developer | 10,000 | $29/mo |
| Pro | 100,000 | $99/mo |
| Enterprise | Unlimited | Contact |
Get an API key at aletheia.holisticquality.io/pricing.
Error Handling
from aletheia_safety import Aletheia, AletheiaError, RateLimitError
client = Aletheia()
try:
compound = client.compound("invalid-id")
except RateLimitError:
print("Rate limit exceeded — wait or upgrade your tier")
except AletheiaError as e:
print(f"API error {e.status}: {e}")
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aletheia_safety-0.2.0.tar.gz
(6.6 kB
view details)
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 aletheia_safety-0.2.0.tar.gz.
File metadata
- Download URL: aletheia_safety-0.2.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e8ce355d03db7fa57ad22d18142a57ff43d85fffa29a02438f485974652d1e2
|
|
| MD5 |
70a26b1a33c61be6155a4c3c9bd05cd1
|
|
| BLAKE2b-256 |
42e1a266830c8740d24bc2055eb9234d6253c3253c3f2b06b11b0348bac6a55f
|
File details
Details for the file aletheia_safety-0.2.0-py3-none-any.whl.
File metadata
- Download URL: aletheia_safety-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c783150739638acf79223fe6d774c15f82f807227b178389cdd3981e38ed2e2b
|
|
| MD5 |
f746b8626b645a100ed58ea3990fa1d5
|
|
| BLAKE2b-256 |
8590f761a544a410975ae1c03572790db900425c90cf86df60f491ebdda1a592
|