Cortix
A Python library for network dynamics modeling and HPC simulation.
What is Cortix?
- Cortix is a massively parallel Python library for system-level module coupling, execution, and analysis of dynamical system models that exchange time-dependent data.
- Cortix takes as input a collection of computational modules and provides an environment for the coupling of these modules into a single simulation.
- Cortix supports:
- Module decoupling
- Communication between modules
- Data visualization
- Cortix runs on top of MPI and scales across many cores.
Installation: start by installing MPI
Installing via PyPI
pip install --user cortix
if updating to a new version, you may need to specify the version
pip install --user cortix=="<version>"
NB: this will not install the GraphViz executables but only the python wrapper. Install the GraphViz library on your system by yourself.
Installing via Conda
In a Anaconda environment (MacOS terminal conda, or Windows Anaconda powershell) do:
pip install cortix
conda install graphviz
if updating to a new version, you may need to specify the version
pip install cortix=="<version>"
Installing from source
- Clone this repository to install the latest version of Cortix
git clone https://github.com/dpploy/cortix.git
- Install the required dependencies listed in
requirements.txt
pip install --user -r cortix/requirements.txt
- Add
cortix's parent path to your$PYTHONPATHvariable
export PYTHONPATH=$PYTHONPATH:$(pwd)
Note: you may want to add this line to your .bashrc in order for it to be persistent
Verify your Cortix install by running the Droplet example
mpiexec -n xx examples/run_droplet_swirl.py
where xx is the number of MPI processes which must match the number of modules plus 1. If there are 10 droplets and 1 vortex, use $xx = 12$.
Testing
Testing is facilitated by PyTest. Tests can be run locally from within the tests directory
cd tests && py.test
Using Cortix
Please refer to the documentation for more on getting started!
Team
- Valmor F. de Almeida: valmor_dealmeida@uml.edu
- Taha M. Azzaoui: tazzaoui@cs.uml.edu
- Seamus D. Gallagher: seamus_gallagher@student.uml.edu
- Austin Rotker: austin_rotker@student.uml.edu
- Gilberto E. Alas: gilberto_alas@student.uml.edu
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Location
Cortix Group
110 Canal St., 3rd Floor
Lowell, MA 01852
Metadata
Release files for cortix 1.1.67
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cortix-1.1.67.tar.gz | 525.1 kB | Without provenance | Details for cortix-1.1.67.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cortix-1.1.67-py3-none-any.whl | Python 3 | none | any | Details for cortix-1.1.67-py3-none-any.whl |
Total release size: 1.1 MB
Release files / cortix-1.1.67.tar.gz
| Download URL | cortix-1.1.67.tar.gz |
|---|---|
| Size | 525.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
887bdd5b05a1788acedce986551b71bcc03255be0f5d3701b1baa64c3dd2d87f
|
|
BLAKE2b-256 checksum How to use checksums |
bf589810a46c021da6de1a1b917e51450c71f39722c9fe8460690a21e545bb2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Release files / cortix-1.1.67-py3-none-any.whl
| Download URL | cortix-1.1.67-py3-none-any.whl |
|---|---|
| Size | 578.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e06c89074b488d43fab54b2b7f49753c6fa56a355340b4cf1b8bb763fcebfe2
|
|
BLAKE2b-256 checksum How to use checksums |
d84cf7a8eb762fe77a392c65e68123db29138a81b323d474b5d36b6d4132b30c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Security for cortix 1.1.67
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.