Registry / ai-ml / crested

crested

JSON →
library1.9.0pypypi✓ verified 85d ago

CREsted (Cis-Regulatory Element Sequence Training, Explanation, and Design) is a Python library for deep learning on regulatory genomics. It provides tools for training, interpreting, and designing genomic models, with support for popular architectures like Borzoi and DilatedCNN. Current version is 1.8.1, released on 2026-03-19. Requires Python 3.11 - 3.13. Released under MIT license.

pip install crested
INSTALL
IMPORT
SIG · CRESTED
C
crested
ai-mlpythonv1.9.0
Install
32.6s avg
Import
3793ms
Disk
864MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.5.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
installs and imports cleanly · install 32.6s · import 2.276s · 959MB
864MB installed
● package 864MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

crested
import crested
Main import, top-level module.
crested.tl
import crested.tl
Training and inference module. Triggers backend load.
crested.pp
import crested.pp
Preprocessing module.
crested.pl
import crested.pl
Plotting module, reorganized in v1.7.0.
crested.Genome
from crested import Genome
crested.Genome()
Genome class for sequence loading.

Minimal example to load a pretrained model, create test data, and run predictions.

import crested # Load a pretrained model from the repository model = crested.pp.load_model('BorzoiHuman') # Create a simple AnnData object with a genomic region data = crested.pp.example_data() # Make predictions crested.tl.predict(model, data) # Inspect predictions print(data.obs.head())
crested --version
Debug
Known issues
breakingIn v1.7.0, the `crested.pl` module was reorganized. Old function names like `crested.pl.contribution_scores` are deprecated in favor of `crested.pl.explain.contribution_scores`. Old names still work as aliases but will be removed in a future version.
fix
Update imports: use `crested.pl.explain.contribution_scores` instead of `crested.pl.contribution_scores`. See https://github.com/aertslab/CREsted/blob/main/docs/api/renaming.md
affects: >=1.7.0
deprecatedThe `Chrombpnet` architecture was renamed to `DilatedCNN` in v1.4.0. The old name still works but is deprecated.
fix
Use `DilatedCNN` instead of `Chrombpnet` when specifying model architecture.
affects: >=1.4.0
gotchaLazy imports: `crested` does not require torch or tensorflow for import of submodules `pp`, `io`, `datasets`, `pl`. However, `crested.tl` will raise an error if no backend is installed. This is intentional but can confuse first-time users.
fix
Install either torch or tensorflow before using `crested.tl`.
affects: >=1.6.0
gotchaPython version requirement: `crested` requires Python 3.11, 3.12, or 3.13. Installing on 3.10 or 3.14+ will fail.
fix
Use Python 3.11-3.13. Check with `python --version`.
affects: >=1.6.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'crested.tl'
`crested.tl` is only imported when accessed; it requires a backend (torch or tensorflow). This error occurs if you try to import it directly without having installed the backend.
fix
Install torch (`pip install torch`) or tensorflow (`pip install tensorflow`). Then use `import crested.tl`.
AttributeError: module 'crested.pl' has no attribute 'contribution_scores'
Since v1.7.0, the function was moved to `crested.pl.explain.contribution_scores`.
fix
Use `crested.pl.explain.contribution_scores` instead.
ValueError: This model requires a TensorFlow backend, but TensorFlow is not installed.
Some pretrained models (e.g., Borzoi) were trained with TensorFlow and require it for prediction.
fix
Install tensorflow: `pip install tensorflow`.
RuntimeError: Expected all tensors to be on the same device
Common when mixing CPU and GPU tensors during prediction. Often due to not moving input data to the model's device.
fix
Ensure input AnnData object's `.X` is on the same device as the model: `model.to(device)` and `data.X = data.X.to(device)`.
Upgrade
Version history
1.9.0latest on PyPI · released Jun 17, 2026
Audit
Dependencies
torchoptionalRequired for model training and prediction
tensorflowoptionalRequired for TensorFlow backend models
Agent activity
10 hits · last 30 days
node
8
OpenAI (training)
1
Resources
crested — pip install crested · libregistry