Skip to main content

Cortix

A Python library for network dynamics modeling and HPC simulation.

Website Repo Size PyPI version PyPI - Python Version

codecov

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

  1. Clone this repository to install the latest version of Cortix
git clone https://github.com/dpploy/cortix.git
  1. Install the required dependencies listed in requirements.txt
pip install --user -r cortix/requirements.txt
  1. Add cortix's parent path to your $PYTHONPATH variable
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

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

c/o UMass Innovation Hub

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)

Source distribution for cortix 1.1.67
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)

Table of built distributions (wheels) for cortix 1.1.67
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.1.67 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page