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
# Structural descriptors (V1.4)
print(result.N6_m) # aromatic cycle density N6/m
print(result.phi) # fraction of bonds on at least one cycle
print(result.rho_lq) # bridge/hub criticality correlation, None if not computed
print(result.spectral.q1) # full spectral block when rho_lq is available
# 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.
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.2.0.tar.gz.
File metadata
- Download URL: euleris-0.2.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0d2980b409eb14a08d77062a813000d5882cd663d96ff060756e2f6c33455da
|
|
| MD5 |
9e972491f8980e9105c4a088b8288c86
|
|
| BLAKE2b-256 |
19d7eb86c7c067c861f87bcd16313e9ee0557337f96ca1b590fcf971f028219c
|
File details
Details for the file euleris-0.2.0-py3-none-any.whl.
File metadata
- Download URL: euleris-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.2 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 |
85afefa146697b760dc7580f0176c517caa2f15cbeb834d93e475dbbdc14de77
|
|
| MD5 |
aef6ffe1acbe37f5331d7fc08f95f094
|
|
| BLAKE2b-256 |
80eef4f9aa1c675332a7ac0849f2ab663a4008d4bd31cdcfcda0ac923c68937f
|