Welcome to Pynamics
Pynamics is a simple, lightweight Python package to simulate dynamical systems.
It is mainly inteded as a support package for more advanced control design projects, especially projects seeking to implement advanced control systems leveraging the predictive capabilities of machine learning algorithms.
The package provides classes to model a system (linear and nonlinear state-space models) and a simulator class that can be used to run different types of simulations. Limited control capabilities are also provided, namely a controller base class that users can build upon to design their own controllers.
Please note that this package is NOT appropriate for extensive, extremely precise simulations.
Main features
-
Simulations: simulate dynamical systems in Python using our simulator class. Only fixed-step solvers are supported at the moment.
-
Plot results: plot the simulation results automatically.
-
State-space models: model your system using our generic linear and nonlinear state-space models.
Installation
Using pip
The easiest way to install Pynamics is to install it directly from PyPi using pip:
pip install pynamics
This will install the package along with its dependencies.
If you wish to contribute to the package, install its development dependencies by typing:
pip install "pynamics[dev]"
Using git
Alternatively, the package can be installed via git. To do so, you must first clone the repository:
git clone https://github.com/MiguelLoureiro98/pynamics.git
Once the repository has been cloned, move into its directory and install the package using pip:
cd pynamics
pip install .
Documentation
Check out the official documentation: https://miguelloureiro98.github.io/pynamics/
About
This package was developed by Miguel Loureiro, a Mechanical Engineer who specialises in control systems, machine learning and optimisation algorithms.
If you're interested in any of these, feel free to contact me via email: miguel.santos.loureiro@gmail.com
Metadata
Release files for pynamics2 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 | |
|---|---|---|---|
| pynamics2-1.0.0.tar.gz | 29.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pynamics2-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.2 kB
Release files / pynamics2-1.0.0.tar.gz
| Download URL | pynamics2-1.0.0.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28b80a1e283c6034979ca9d98c583a9edb69d12ff55a558dce90be24f439f12c
|
|
BLAKE2b-256 checksum How to use checksums |
e1ea93f39559cdb29dfba6e5d1b919a4c02226efd135500c75387e2126c8089b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|
Release files / pynamics2-1.0.0-py3-none-any.whl
| Download URL | pynamics2-1.0.0-py3-none-any.whl |
|---|---|
| Size | 40.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d83a5248b4f5df718ce302c6444a175cfe9f283fca52a72e7b7a1ec62af38ee2
|
|
BLAKE2b-256 checksum How to use checksums |
27b3ee0422718d8169d42e831da238f7dae22cff14d939c9d6816ea8840b8737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|