teia
A Hydra-configured deep-learning runtime. A run is three config-declared component graphs, one for data, one for the network and one for evaluation, executed by a thin Lightning engine. Components are organized by architectural constraint, and a task contract types the seams between the graphs.
Install
The package is published on PyPI as pyteia. It installs the teia command and the teia Python package:
pip install pyteia
teia --help
python -c "import teia.core"
Teia needs Python 3.11 or newer and PyTorch. To pick a PyTorch build for your hardware (CPU only, or a specific CUDA version), install it first by following https://pytorch.org/get-started/locally/, then install pyteia.
Optional component dependencies are grouped as extras named after a domain:
pip install "pyteia[vision]" # image readers and transforms (torchvision)
pip install "pyteia[audio]" # audio readers and spectrograms (torchaudio, soundfile)
pip install "pyteia[tabular]" # SQL and parquet readers (sqlalchemy, pyarrow)
pip install "pyteia[all]" # all of the above
You do not need to guess: when a configured run needs a missing package, teia stops before training and prints the exact install command.
A project that builds on teia lists pyteia in its own dependencies, for example dependencies = ["pyteia>=0.0.1"] in its pyproject.toml (teia plugin init writes this for you).
Quick start
Two demos live in the repository's demo/ folder and need no dataset download:
git clone https://github.com/ptonso/teia && cd teia
pip install "pyteia[vision]"
./demo/digits.sh # scikit-learn digits as an image folder, Flatten + MLP
./demo/tabular.sh # 3-class table, MLP
Each script runs a small prepare_*.py that writes the data under demo/data/, then runs teia train with a datamodule, a netmodule and an evalmodule. Extra arguments are forwarded to teia train.
CLI:
teia config init|list|show|tree|explain|lintteia initteia train,teia test,teia eval,teia infer,teia exportteia plugin init,teia plugin check: scaffold a project as a teia plugin and verify it (specs/plugin)
A task is a contract over what the graphs exchange (teia.task.*). A task preset selects a datamodule, a netmodule and an evalmodule. You can also wire the three modules yourself:
teia train \
datamodule=tabular-cls/csv \
netmodule=tabular-cls/numerical_mlp \
evalmodule=tabular-cls/default \
data_root=...
Docs
- Using teia
- Configuration
- Custom modules
- Specs: the contracts for contributors.
License
Apache License 2.0, see LICENSE.
Metadata
Release files for pyteia 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyteia-0.1.0.tar.gz | 414.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyteia-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 915.9 kB
Release files / pyteia-0.1.0.tar.gz
| Download URL | pyteia-0.1.0.tar.gz |
|---|---|
| Size | 414.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5df68570a4f8868114a60ac5fcd8829c0705dba3ecdf302c09ef826452a23ed4
|
|
BLAKE2b-256 checksum How to use checksums |
f555807bcd5aec7cb7d0a6072dfaede6ea920036bff84ac804a8cd2594143ad5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / pyteia-0.1.0-py3-none-any.whl
| Download URL | pyteia-0.1.0-py3-none-any.whl |
|---|---|
| Size | 501.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e900f3d9d391d6bb70ab7b4bdf02c1697b8ef298d22432bd9d1bbb01d77cc90b
|
|
BLAKE2b-256 checksum How to use checksums |
49c6d7f7aff34cdbdefd6c02ee21f689aaa7c9c4c1b4048e4c7ffcc469a2d713
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|