jaxfne
Tensor-Field Neural Equations (TFNE) expressed as a JAX simulation engine for layer-resolved neural circuits, source operators, field proxies, probes, objectives, and evidence receipts.
Scientific grammar: Emitter → Source → Field → Probe → Objective → Optimizer → Manifest
Execution grammar: CircuitSpec → construct → Model → simulate → Signals
CircuitSpec is a conceptual category (Configuration | NeuronalTensor),
not a concrete public production class — construct accepts either a
Configuration (original path) or a NeuronalTensor with a
RuntimeConfiguration (tensor-first path). It is unrelated to the
experimental jaxfne.experimental_hpc.CircuitSpec type, which is
not accepted by production construct.
Adaptation (optional HDP family): finite-dimensional hidden biophysical state $H$ and adaptive parameter coordinates $\Theta$ (synaptic and intrinsic), mediated by
$$ \dot X = F_X(X,H,\Theta,U),\quad \dot H = F_H(H,X,\Theta,U),\quad \dot\Theta = F_\Theta(H,X,\Theta). $$
RBS represents $H$. RBD defines $H$ dynamics. HDP defines parameter dynamics and may depend on $H$. $H$ can exist and evolve without HDP. See H-state / HDP guide.
Install
pip install jaxfne
pip install "jaxfne[viz]" # optional plotting
Development: pip install -e ".[dev,viz]" after cloning.
Minimal example
import jaxfne as jtfne
jtfne.enable_x64()
tensor = jtfne.load_canonical_neuronal_tensor("canonical-v1-column-1000n")
model = jtfne.construct(tensor, jtfne.RuntimeConfiguration(seed=0, duration_ms=1000.0, dt_ms=0.5))
signals = jtfne.simulate(model)
Optional: generative development (JDNA)
Instead of loading a fixed tensor, generate one from a PseudoGenome:
genome = jtfne.load_canonical_pseudogenome("canonical-v1-column-1000n")
tensor = jtfne.develop(genome, seed=0) # K_D: development seed
model = jtfne.construct(tensor, jtfne.RuntimeConfiguration(seed=1, duration_ms=1000.0, dt_ms=0.5))
signals = jtfne.simulate(model)
JDNA is an optional path; the direct Configuration/NeuronalTensor paths
remain first-class. See JDNA guide.
JaxFNE composes established neural dynamical models, source/readout operators, and JAX-native execution under the TFNE typed state/map grammar. See TFNE theory and References.
Import convention: import jaxfne as jtfne. Builder paths, paradigms, and
optimization: Quickstart.
Relative and calibrated outputs
Simulated quantities are relative by default. Calibrated claims require an explicit transformation with evidence. See Scope & status.
Documentation
| Resource | Link |
|---|---|
| Quickstart | docs/quickstart.md |
| Site | jaxfne.readthedocs.io |
| Tutorials | docs/tutorials/ |
| Études | docs/etudes/ |
| Frozen compatibility contract (0.4.13) | docs/public_surface_contract.md |
| Changelog | docs/changelog.md |
For AI agents
Read and inspect artifacts/context.md.
It is a router rather than a specification: it names the single public import, the two invariant grammars, where authority actually lives, and the gate commands that settle a claim. Reading and inspecting that one file is enough to orient a coding agent — one working in a terminal, in a sandbox, or under any memory- or skill-based harness — without re-deriving the public API from source or guessing at the internal layout.
The file is present in the repository and in the source distribution. It is not installed alongside the wheel, so an agent working from an installed package should read it at the link above.
Citation
Canonical Visualization Atlas
The JaxFNE Canonical Atlas provides a unified 6-panel visual grammar (network_3d, connectivity, raster, traces, spectral, state_summary) with strict evidence-level separation (OBSERVED vs. DERIVED), deterministic degradation tracking, and cryptographic manifest provenance.
Every preview below is generated directly from realized JaxFNE simulation outputs (canonical-v1-column-1000n scaffold):
Generate the complete standalone HTML atlas suite locally with one line:
import jaxfne as jtfne
from jaxfne.vis import build_atlas
# Run simulation
tensor = jtfne.load_canonical_neuronal_tensor("canonical-v1-column-1000n")
model = jtfne.construct(tensor, jtfne.RuntimeConfiguration(seed=0, duration_ms=500.0, dt_ms=0.5))
signals = jtfne.simulate(model)
# Build canonical atlas with manifest & standalone interactive HTML panels
manifest = build_atlas(model, signals, out_dir="docs/_static/atlas")
print(f"Atlas generated with SHA256: {manifest['sha256']}")
For extended case studies, laminar field readouts, and homeostasis dynamics, see Showcases.
Release files for jaxfne 0.4.21
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jaxfne-0.4.21.tar.gz | 38.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jaxfne-0.4.21-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.7 MB
Release files / jaxfne-0.4.21.tar.gz
| Download URL | jaxfne-0.4.21.tar.gz |
|---|---|
| Size | 38.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a820a04427ef536f7d8f72c3bf3cf6b5122b76171389a7d45d61359346b5892
|
|
BLAKE2b-256 checksum How to use checksums |
d5107707b80b6dd2918d10b8a66fa8d641c58b21e4d1a010fe6c8267ada73798
|
| 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 Sep 8, 2026.
Transparency logRelease files / jaxfne-0.4.21-py3-none-any.whl
| Download URL | jaxfne-0.4.21-py3-none-any.whl |
|---|---|
| Size | 705.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b2659d5db2cc63764e988660ecda4f68d5d00a09051e37078a3af9c2ce0f42ca
|
|
BLAKE2b-256 checksum How to use checksums |
58f372680f5b8e646257bc2158e1005b0e8413b4cf475158003ae353fcdf73d3
|
| 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 Sep 8, 2026.
Transparency log