Modelling autonomy dynamics over the Autonometrics atlas. Ships ProfileTrajectory: a recording substrate for sequences of autonomy profiles. Layer 2 of the Autonometrics -> Autodynamics -> Ex-Machina trilogy.
Project description
Autodynamics
Layer 2 of 3 in the autonomy research trilogy: Autonometrics (measure) -> Autodynamics (explain) -> Ex-Machina (build / emulate)
Status: Pre-alpha. Ships a recording substrate; no stable theoretical model yet.
Vision
Autonometrics quantifies where a system sits on the five autonomy axes (closure, memory, constraint closure, persistence, coherence). Autodynamics aims to model how systems move across that atlas: trajectories, attractors, transitions, and the dynamical regularities that govern changes in autonomy.
This package will eventually expose:
- Trajectory analysis tools over
AutonomyProfiletime series. - Phase-space modelling for systems described by the
AutonomySystemprotocol. - Stability and attractor characterisation across the five-axis atlas.
- Hooks for empirical validation against longitudinal data from biology, AI, and motivational psychology corpora.
What this package contains today
A minimal recording substrate: ProfileTrajectory. A class that:
- Stores a sequence of
AutonomyProfilevalues measured at successive moments. - Exposes axis-wise time series for any of the five canonical axes.
- Computes pairwise consecutive deltas.
- Sums the resulting magnitudes into a total path length in profile space.
It is the smallest piece of code that lets you treat a sequence of autonomy measurements as a trajectory in a metric space — the precondition for any later dynamical analysis.
Install with:
pip install autodynamicsImport as:import autodynamics
Quick run
pip install autodynamics
autodynamics-demo --n-states-list 3 4 5 6 8 --n-steps 600
You will see a small table of (closure, memory) profiles measured over a sweep of SimpleAutomaton configurations, the consecutive deltas between them, and the total path length.
Toy demo: ProfileTrajectory
Disclaimer. This is the recording substrate of Autodynamics, not its theory. The trajectory class lets you collect, traverse, and compute simple geometric quantities over a sequence of
AutonomyProfiles. It does not interpret what those movements mean — that interpretation is the open research question this package will eventually try to answer. Treat the code as a useful template, not as evidence.
import autonometrics as anm
from autodynamics import ProfileTrajectory
trajectory = ProfileTrajectory(axes=("closure", "memory"))
for n_states in [3, 4, 5, 6, 8]:
sys = anm.SimpleAutomaton.demo(n_states=n_states, n_steps=600)
sys.run()
profile = anm.measure(sys, axes=["closure", "memory"])
trajectory.append(profile)
print(trajectory.axis_series("closure")) # time series of one axis
print(trajectory.deltas()) # pairwise consecutive movements
print(trajectory.total_path_length()) # sum of delta magnitudes
Roadmap
v0.1.0a1(current): Toy trajectory recorder. Reserves name, declares vision, ships demo.v0.2.x: First serious dynamics primitives (attractor characterisation, regime classification). Lands after Autonometrics reaches v1.0.v1.0.0: Stable trajectory API on top of Autonometrics profiles.
Position in the trilogy
| Layer | Project | Question it answers |
|---|---|---|
| 1 | Autonometrics | Where does a system sit on the autonomy atlas? |
| 2 | Autodynamics | How does it move across the atlas over time? |
| 3 | Ex-Machina | Can we build a system that occupies a chosen region? |
License
Apache License 2.0 — see LICENSE.
Citation
If you reference this work, please cite Autodynamics directly. A formal citation block will be added in v0.2.x.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autodynamics-0.1.0a1.tar.gz.
File metadata
- Download URL: autodynamics-0.1.0a1.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e433ad36e19a9d09646b9ee96abacff38fcb4da1890b302c30eeaab47924aeb6
|
|
| MD5 |
ad8c449d602ffc3284b88e00e6809b0f
|
|
| BLAKE2b-256 |
2fc4a2c031dd9491259334c5e188106c996e3607d8c90813bfe43d6fa8396396
|
File details
Details for the file autodynamics-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: autodynamics-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
881e02b27cf55300446e9ff86f3251c49daf92031eb8b3bbdaafb651887f2b71
|
|
| MD5 |
cbb7f522c9ca274ee974e29deed99ddf
|
|
| BLAKE2b-256 |
d86c3348be799bbfca972d8f90d188c5756d24f406969260e85f30c20a49ab4f
|