pycinema
is a toolkit of python-based components for creating, filtering, transforming and viewing Cinema databases. Cinema databases are a compact and interactive output format that can be created from scientific visualization tools and infrastructures (ParaView, Ascent, etc.) or created through other code by writing to the common output format. There is more information about the Cinema project here.
Full documentation for this project can be found on readthedocs.org
![]() |
---|
Screen capture of two pycinema applications, cinema:explorer and cinema:view, which mimic the functionality of existing viewers in Cinema (and add a few added features). Both of these are available in the pycinema toolkit. |
This toolkit introduces the concept of filter graphs and applications to Cinema. Data operations (loading, querying, manipulating and viewing) are performed by filters that take input data, transform it, and pass it on in the form of tables, data, or data products. A collection of these filters is connected in a filter graph, and a filter graph can be saved in a reusable way known as an application. This makes the cinema toolkit a flexible platform for creating, modifying and saving data applications.
![]() |
---|
Screen capture of Cinema:Explorer application, showing the normal view (left) and also revealing the 'filter graph' view (lower right) of the application. pycinema introduces both of these concepts to cinema data application. |
pycinema
modulegit clone git@github.com:cinemascience/pycinema.git
cd pycinema
python3 -m venv pcenv
source pcenv/bin/activate
pip install --upgrade pip
pip install .
mkdir pyc-test
cd pyc-test
python3 -m venv pcenv
source pcenv/bin/activate
pip install --upgrade pip
pip install pycinema
You can now use this python environment to run examples from the repository. Run cinema
and select a file from the data
directory:
source pcenv/bin/activate
cinema view data/sphere.cdb
make module
And then to upload it to pypi
(assuming you have permission):
make module-upload
To upload it to testpypi
(assuming you have permission):
make module-test-upload
Documentation for this project can be found on readthedocs.org
pycinema-data
example Cinema datasets.pycinema-examples
examples referenced in the readthedocs sitepycinema-testdata
Cinema databases used for unit testing and CI testing.pycinema
(this toolkit): Cite this web pageContributions can be made by submitting issues and contributing code through pull requests. The code shall be reviewed by the core Cinema team, and accepted when both content and code standards are met.