Python Automata Library (PAL)
PAL is a Python modeling library for high-performance agent-based, lattice population, and PDE models. Model code uses a compact object-oriented API and can be compiled with @pal.njit; PAL keeps performance-sensitive state and algorithms in a precompiled native core.
import PythonAutomataLibrary as pal
PAL provides:
Grid: typed 1D/2D/3D lattice data.AgentGrid: lattice or continuous-position agents with identity and properties.PopGrid: integer lattice populations without individual agent identity.PDEgrid: diffusion/advection fields.IList: reusable integer query results.Multinomial: binomial/multinomial sampling.PixWindowandOpenGLWindow: 2D/3D visualization.@pal.njit: Numba compilation with PAL-specific source transformation and diagnostics.
PAL runs in safe mode by default. Call pal.FastMode() before constructing PAL objects to select the unchecked high-performance implementations after a model has been validated.
Documentation
- PAL Guide (PDF) — first model, worked modeling workflows, and detailed API behavior.
- PAL Architecture and Design (PDF) — implementation structure, design rationale, subsystem choices, testing, and performance.
- API Reference (PDF) — source-derived public signatures.
- Cheatsheet (PDF) — compact one-page lookup for common operations.
Examples/— complete working models.- Testing — correctness, API, integration, and regression tests, with local and CI run instructions.
Installation
Install PAL from PyPI:
python -m pip install PythonAutomataLibrary
Release wheels are intended to bundle the native core for Windows, Linux, and macOS, without manual compilation. PyPI publication is pending; see distribution status.
Build from source
PAL currently loads its native library from the package directory. Build it before importing PAL.
Windows, from an x64 Visual Studio Developer Command Prompt:
python build_native.py
Linux/macOS:
python build_native.py
Then run the tests:
python -m pytest -q Testing
Architecture
NativeCore.py is the Python/Numba API and compilation layer. pal_native.c owns stable mutable simulation state and the workhorse native algorithms. Safe and fast PAL objects are selected at construction time, so compiled hot paths do not branch on safety mode.
The public API has dedicated regression coverage in Testing/API/; the full Testing/ tree is the integration gate.
Citation
If you use PAL in your research, please cite:
Bravo, R. R. (2026). Python Automata Library (PAL) [Computer software]. https://github.com/rafaelrbravo/PythonAutomataLibrary
GitHub's Cite this repository button provides citation formats from CITATION.cff.
PAL is based on the Hybrid Automata Library (HAL). Please also acknowledge or cite HAL when its underlying ideas or algorithms are relevant to your work.
Metadata
Release files for PythonAutomataLibrary 1.0.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 | |
|---|---|---|---|
| pythonautomatalibrary-1.0.0.tar.gz | 91.8 kB | Details |
Built distributions (wheels)
Total release size: 2.4 MB
Release files / pythonautomatalibrary-1.0.0.tar.gz
| Download URL | pythonautomatalibrary-1.0.0.tar.gz |
|---|---|
| Size | 91.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e50b3977d726b869cc1135e762e2db711055e19eb89a9bce2cd6de5022738713
|
|
BLAKE2b-256 checksum How to use checksums |
4e58f9b49cbb24cc659b29d251a5efcc4ca251a3cf9d453ee1854618f72c030c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp313-cp313-win_amd64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 184.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
50f32c4b93c2050a38f68e70b3e106ae9eb89ef5916098de361755610dfc4f57
|
|
BLAKE2b-256 checksum How to use checksums |
99b5ada27039b31e3a75c7da43aa5540821b8464eadf9cfba29b3456b536d4cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 147.3 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
14ce4bbca0702ce5bb0711e358070d7c4cb5cb8da1687c4e5e97e1cac0016631
|
|
BLAKE2b-256 checksum How to use checksums |
094af338a201f29e32093145c7c8ef088ec88b2ad3ad16153c7a76635e37cc5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 119.4 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9bb5c907c0b66a4dfc2a97cc686c0c6e155b68efc813258d7d18aa5c6b507cac
|
|
BLAKE2b-256 checksum How to use checksums |
14ad723dd479e7eb3c5454a6e972066ef1846677871c026b5248b862fd1a6327
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 124.7 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
8ebd298ce3a63e57e22ef3c61501f493f5d8c1eddf73d9bfd3131449d92618a8
|
|
BLAKE2b-256 checksum How to use checksums |
4b678b0eab7ee0c059b7426a5f52e5458dabcc7354fbfa725b42726c614e0081
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp312-cp312-win_amd64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 184.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c7135ca9109eb944b5e79960430d677370fb9afe97279def5d2d85305e25e039
|
|
BLAKE2b-256 checksum How to use checksums |
df4716dff374b3b14db355da131ef538e70e68f31aadd56805cd4a59010558b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 147.3 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7bd8e59d1aaa7039ca51a57efb82e115f756e197ec2ffec160fe1247e46a8b76
|
|
BLAKE2b-256 checksum How to use checksums |
20837e8f832b1d0bde1a21fc18e620d7f3b8e150eb259f03db69989244bc750c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 119.4 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
33cc399ea9183c2ea4c12a4a9e53f3e5bbfe470814c4d096677e821bdad7075e
|
|
BLAKE2b-256 checksum How to use checksums |
97dede431945b7a8f3116692e3d9cabdb6f18d33fb223f34d04b75a0ee9be675
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 124.7 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
bf8cfd86a8f7f2a2879a02d7f9bae63e4b23bfde806a3fb0250f96a9ee0a5c76
|
|
BLAKE2b-256 checksum How to use checksums |
33445837b86a7da13b574562fb18aaa7b7f353931791d629b3bf3f5a61afe162
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp311-cp311-win_amd64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 184.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f50b0b54ef7202c2076599241494bb596093af99ee6a85510b05cf7bca8e8881
|
|
BLAKE2b-256 checksum How to use checksums |
bf69df017daaff74bf2d50478d782c4ee6c93a8d8f2921b2b16fa6b44ba0bac7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 147.3 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
81504d726a1f239d42e7ff5cf0214bcc4fae7f283ce30129d0c754b446464bc8
|
|
BLAKE2b-256 checksum How to use checksums |
6d0c98419b5146a1ea68aef24f7e3d5899e881e1cd2c850f43cca4e539ff467a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 119.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9a295c1e6b86e14954be01d04149f40ee83eaabb36412f0d536dc8788c23baeb
|
|
BLAKE2b-256 checksum How to use checksums |
936ef8dc2e9954f08a2342a1f36d395f0fa43763fa03e84992713d9b5adaf827
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 125.5 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
ed7aedb077e9cc2b5117d39f9d46dc025036dde757623fc52f359da4460d5224
|
|
BLAKE2b-256 checksum How to use checksums |
ab55802dc26551c08bafd06b2b045887070e3bcf5bdcae42ff35102de81acb55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp310-cp310-win_amd64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 184.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f2931c94c821bfb2ec6d0ea7e7e5ced232e2bc9aec7deb336b70dc5ef60fbc7d
|
|
BLAKE2b-256 checksum How to use checksums |
0f9c4226e6ecb086857b6c26439924e7fea1e157c7cb1bf35e7a59d8e37bbdc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 147.3 kB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
cbf39d226c2db58acb898b61792f4925bc585bd5ee4559b1eab4ce75909f079e
|
|
BLAKE2b-256 checksum How to use checksums |
518c01bddf2433deb8a28173995042c05279ca3c98cf7fc61195997994c2acce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 119.4 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
66497367cf1be866386f280b2ea7b3c4fff1b74f928bb099ea4ac5f7abc3f1c5
|
|
BLAKE2b-256 checksum How to use checksums |
5c47ee985903318b6879531d0594742b39bdb7e1a86b646bfed2dc7dfe83a4db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / pythonautomatalibrary-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | pythonautomatalibrary-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 125.5 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
4fa2644f1b84a1d9a672df81bce216ca28f5196e9043f6209326e0f55c965fa8
|
|
BLAKE2b-256 checksum How to use checksums |
5484d36b9c3e786c92837d782e9efe794f787986befa2a686221be754ae2e48f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency log