Skip to main content

Python framework for state-space modeling and algorithm development

Project description

📄 Published in the Journal of Open Source Software (JOSS)
A peer-reviewed open-source framework for state-space modeling and algorithm development


Tsipor Dynamics

Algorithms Engineering and Development

Tsipor (bird) Dynamics (c4dynamics) is the Python framework for state-space modeling and algorithm development.

Static Badge PyPI - Version GitHub deployments GitHub Actions Workflow Status GitHub Actions Workflow Status Pepy Total Downloads

About c4dynamics

c4dynamics is designed to simplify the development of algorithms for dynamic systems, using state space representations. It offers engineers and researchers a systematic approach to model, simulate, and control systems in fields like robotics, aerospace, and navigation.

The framework introduces state objects, which are foundational data structures that encapsulate state vectors and provide the tools for managing data, simulating system behavior, and analyzing results.

With integrated modules for sensors, detectors, and filters, c4dynamics accelerates algorithm development while maintaining flexibility and scalability.

Why c4dynamics?

✅ State objects for easy modeling

✅ Built-in functions for Kalman filters

✅ Integrated sensors and object detection models

✅ Out-of-the-box environments for reinforcement learning

✅ Seamless integration with OpenCV & Open3D

✅ Optimization for Monte Carlo simulations

Documentation

📘 Full documentation:
https://c4dynamics.github.io/c4dynamics/

  • Installation and setup guides
  • Core concepts and state-space modeling philosophy
  • API reference and examples
  • Tutorials for filtering, sensing, and simulation workflows

Requirements

Installation

For detailed instructions on installing c4dynamics, including setup for virtual environments, Python version requirements, and troubleshooting, refer to the c4dynamics setup guide.

>>> pip install c4dynamics

To run the latest GitHub version, download the repo and install required packages:

>>> pip install -r requirements.txt

Quickstart

Import c4dynamics:

>>> import c4dynamics as c4d

Define state space object of two variables in the state space (y, vy) with initial conditions (change the state with your variables):

>>> s = c4d.state(y = 1, vy = 0.5)

Store with time stamp t = 0:

>>> s.store(t = 0)

Multiply the state vector by a matrix and store:

>>> F = [[1, 1],                      
         [0, 1]]              
>>> s.X += F @ s.X                     
>>> s.store(t = 1)                    

Print the state variables, the state vector, and the stored data:

>>> print(s)  
[ y  vy ]
>>> s.X 
[2.5  1]
>>> s.data('y') 
([0,  1], [1,  2.5])

Support

If you encounter problems, have questions, or would like to suggest improvements, please open an Issue in this repository.

New in Block 2

Enhancements and modules in latest release:

  • Complete state space objects mechanism
  • Seeker and radar measurements
  • Kalman filter and Extended Kalman filter
  • YOLOv3 object detection API
  • Datasets fetching to run examples
  • Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

c4dynamics-2.3.4.tar.gz (120.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

c4dynamics-2.3.4-py3-none-any.whl (123.6 kB view details)

Uploaded Python 3

File details

Details for the file c4dynamics-2.3.4.tar.gz.

File metadata

  • Download URL: c4dynamics-2.3.4.tar.gz
  • Upload date:
  • Size: 120.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for c4dynamics-2.3.4.tar.gz
Algorithm Hash digest
SHA256 9f4171fdfce325d9e1d8e0424f0fde7aa13cf67f7bfdd818580a82b9c87b56f8
MD5 1279c64388e19371c1f776a403adfaa9
BLAKE2b-256 ed4a4ab693f993a00c6a252c18817f6aa887378dfafd77fb355e7907d26c540f

See more details on using hashes here.

File details

Details for the file c4dynamics-2.3.4-py3-none-any.whl.

File metadata

  • Download URL: c4dynamics-2.3.4-py3-none-any.whl
  • Upload date:
  • Size: 123.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for c4dynamics-2.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d98720996293071789170f41906550e7317fc201066b622a1c53b0154da18b90
MD5 0b74b5e95f8bb7d68e5a3909b851cb69
BLAKE2b-256 b70cff72b12fad9c86d76964ee82ea326ce07b32edf906b761101d3880f3e2a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page