ncalib
A modular Python Library for handling Neural Cellular Automata.
Features
- Modular architecture for Neural Cellular Automata
- Easy-to-use API for building and training NCA models
- Extensible framework for custom implementations
Quickstart
Installation
Install ncalib from PyPI using pip:
pip install ncalib
Some examples and loggers are using Weights and Biases. To use them install the required dependencies using:
pip install ncalib[wandb]
Examples
Examples are found in examples. Currently there are following implementations:
- simple_nca.py - Original NCA reconstructing an image (Mordvintsev et al. (2020))
- simple_classifying_mnist.py - Self-classicying MNIST Digits (Randazzo et al. (2020) )
- image_segmentation.py/image_segmentation_hydra.py - NCA that can segment an image (with and without hydra) (Sandler et al. (2020))
- genome_nca.py - NCA that can be seeded with different genomes (Stovold (2023))
Development
This project uses uv for package management and distribution.
Setup Development Environment
# Clone the repository
git clone https://github.com/dwoiwode/ncalib.git
cd ncalib
# Install dependencies with uv
uv sync
# Install extra dependencies
uv sync --all-extras
Running Tests
Tests are run using pytest:
uv run pytest tests
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Links
Release files for ncalib 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ncalib-0.1.2.tar.gz | 49.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ncalib-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.7 kB
Release files / ncalib-0.1.2.tar.gz
| Download URL | ncalib-0.1.2.tar.gz |
|---|---|
| Size | 49.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98b2a34e07c3c9813557681f919177439ab0c163850459547a897606542cf2dd
|
|
BLAKE2b-256 checksum How to use checksums |
6e41549f11faa02fa8565090828241adf5cf97cb84369910cd5c12b30dc7448f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.11
|
Release files / ncalib-0.1.2-py3-none-any.whl
| Download URL | ncalib-0.1.2-py3-none-any.whl |
|---|---|
| Size | 80.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
50cce0818f06f3634cdb44af4ab8a30dc100806f646acabfed0377db9af23f55
|
|
BLAKE2b-256 checksum How to use checksums |
9ab6dc7986a4b1de351f42117c61a663d798e040a88e30d87cd25545c2e7a684
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.11
|