Topological molecular analysis — Python client for the Euleris API
Project description
euleris
Topological molecular analysis — the official Python client for the Euleris API.
euleris is a thin HTTP client. All computation (spectrum extraction, scoring,
ADME/toxicity prediction, similarity search) runs server-side on the Euleris
compute engine. The client just sends SMILES and returns typed results.
Install
pip install euleris
# optional: DataFrame support
pip install "euleris[pandas]"
Authentication
Get an API key (ek_...) from https://cognitive-engineering.dev/pricing.
Provide it in any of these ways (checked in this order):
- Environment variable:
export EULERIS_API_KEY=ek_your_key
- Config file
~/.euleris/config:[default] api_key = ek_your_key
- Explicitly in code:
import euleris euleris.configure(api_key="ek_your_key")
Quickstart
import euleris
# Analyze a single molecule
result = euleris.analyze("CCO")
print(result.score) # topological score
print(result.spectrum) # {"N3": 0, "N6": 1, ...}
print(result.meta.atoms) # 3
# Batch analysis
batch = euleris.batch(["CCO", "c1ccccc1", "CC(=O)O"])
print(batch.stats) # {"total": 3, "valid": 3, "invalid": 0}
df = batch.to_dataframe() # requires euleris[pandas]
# Compare two molecules
cmp = euleris.compare("c1ccccc1", "c1ccncc1")
print(cmp.delta_score)
# Similarity search
sim = euleris.similar("c1ccccc1", top_k=5, library="zinc")
for match in sim.matches:
print(match.smiles, match.similarity)
Using an explicit client
from euleris import EulerisClient
client = EulerisClient(api_key="ek_your_key")
result = client.analyze("CCO")
Error handling
from euleris import EulerisError, AuthError, RateLimitError, InvalidSmilesError
try:
euleris.analyze("not-a-molecule")
except InvalidSmilesError as e:
print("Bad SMILES:", e)
except RateLimitError as e:
print("Slow down:", e)
except AuthError as e:
print("Check your key:", e)
except EulerisError as e:
print("Something went wrong:", e)
Links
- API docs: https://cognitive-engineering.dev/euleris/app/api-docs
- Pricing / API keys: https://cognitive-engineering.dev/pricing
License
Proprietary. Copyright (c) 2026 Cognitive Engineering / David Martin Venti.
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
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 euleris-0.1.0.tar.gz.
File metadata
- Download URL: euleris-0.1.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2de472f66df7d0139d8903b5af7f7c77e19581dd77e3f3733453ee94127f7445
|
|
| MD5 |
048365f66d3252574d88dc9908b963cf
|
|
| BLAKE2b-256 |
e1b8e314605dc4aa8376fc2471846e124d1c300ee38b62a619feb3167f890f23
|
File details
Details for the file euleris-0.1.0-py3-none-any.whl.
File metadata
- Download URL: euleris-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca5e0c7e8da9cfd59b10f9691a892ca3d363c137a6d63035735f4184b7934f72
|
|
| MD5 |
4f78e4fbd4c8a30313da9e851197d4d9
|
|
| BLAKE2b-256 |
75ae3f397874911a01e1dff7192e001710a670fb7220daf1756e42011fc54bf1
|