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.1.0.tar.gz
(5.7 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.1.0.tar.gz.
File metadata
- Download URL: aletheia_safety-0.1.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
875dcf08522184796c39ad1b9946f17acce5b3dcb0020cd39182016f99d3996c
|
|
| MD5 |
b3478931aec15a43a190c962e0f6535f
|
|
| BLAKE2b-256 |
9312f13edfe582c430f4b7ccfd6fded24fd333e5952f62ab9443e2e2684b7ff7
|
File details
Details for the file aletheia_safety-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aletheia_safety-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 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 |
f5a225cbef8da1e50b6fbf0c7ab890a6167ecc9c341b51b9c9f06bf3c8a721e7
|
|
| MD5 |
3a5c8444ea41c74e37521dbcfe7cbca2
|
|
| BLAKE2b-256 |
20909bab587092e8f6ce81319106910ac9bdd4df17d8970224c9a46c57cc77f3
|