Skip to main content

Cortix is a Python library for network dynamics modeling and HPC simulation.

Project description

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

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

cortix-1.1.54.tar.gz (522.8 kB view details)

Uploaded Source

Built Distribution

cortix-1.1.54-py3-none-any.whl (576.1 kB view details)

Uploaded Python 3

File details

Details for the file cortix-1.1.54.tar.gz.

File metadata

  • Download URL: cortix-1.1.54.tar.gz
  • Upload date:
  • Size: 522.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for cortix-1.1.54.tar.gz
Algorithm Hash digest
SHA256 cc88d3dce8ebc0ede7834bb3c33040d2892c17c6da6b80274657426fa10ef76b
MD5 76bb8c72b1a9cb29016148f3f784651d
BLAKE2b-256 dd5d1a23d3c7ccf0141f2a837aee227a161d59768f771a72e37cf9d8aa6662b7

See more details on using hashes here.

File details

Details for the file cortix-1.1.54-py3-none-any.whl.

File metadata

  • Download URL: cortix-1.1.54-py3-none-any.whl
  • Upload date:
  • Size: 576.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for cortix-1.1.54-py3-none-any.whl
Algorithm Hash digest
SHA256 72529dfc7c62c4e8b567d4e0f5d9f1e8e326bc4f3b3562083b5639e47c6c79b8
MD5 1916bb7041a060033b86ec471048a15e
BLAKE2b-256 bba47f8e18be6872489e0e400459f4b3a4e67cca54922a86d46d13679b92a48c

See more details on using hashes here.

Supported by

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