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.0.1
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.0.1.tar.gz | 373.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyteia-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 829.4 kB
Release files / pyteia-0.0.1.tar.gz
| Download URL | pyteia-0.0.1.tar.gz |
|---|---|
| Size | 373.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8e9a6ea9d472493af77bc7544f392d231128f9b6b6b2e958dd507e488e2a26a
|
|
BLAKE2b-256 checksum How to use checksums |
6525a3942c8186d294fdf391502b76ff64a0f243b244736c227fe7a8b138b42f
|
| 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.0.1-py3-none-any.whl
| Download URL | pyteia-0.0.1-py3-none-any.whl |
|---|---|
| Size | 455.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc23529c2d6ecaa263c66feffbd20f7a201a180fce15a48f8185131487a42225
|
|
BLAKE2b-256 checksum How to use checksums |
13cb8c31765f20b2dc443a6855c5f283e97c1626d612510fcdb0227b3946188d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|