/crosscompute

Automate your Jupyter notebooks and scripts as web-based reports, tools, widgets, dashboards, forms.

Primary LanguagePythonMIT LicenseMIT

CrossCompute Analytics Automation Framework

Automate your Jupyter notebooks and scripts as web-based reports, tools, widgets, dashboards, forms. Use this framework to create your own automations, then serve locally or deploy on your own instance of the CrossCompute Analytics Automation System.

  • Reports are documents that update when the data changes.
  • Forms are step-by-step questions that generate a specific web-based report.
  • Tools are forms that transform input variables into output variables.
  • Widgets are interactive visualizations that update when the data changes.
  • Dashboards are widgets in a layout.

Here are some available extensions:

Here are some available views:

  • string
  • number
  • password
  • email
  • text
  • markdown
  • image
  • map-mapbox (crosscompute-views-map)
  • map-deck-screengrid (crosscompute-views-map)

Usage

# Upgrade package
pip install crosscompute>=0.9.0 --upgrade

# Initialize configuration
crosscompute

# Serve automation
crosscompute automate.yml

Here are some tutorials and examples:

Development

# Clone repository
git clone https://github.com/crosscompute/crosscompute

# Install with dependencies for tests
cd crosscompute
pip install -e .[test]

# Run tests
pytest --cov=crosscompute --cov-report term-missing:skip-covered tests

# Build package for PyPI
pip install build
python -m build --sdist --wheel

# Publish package on PyPI
pip install twine --upgrade
python -m twine upload dist/*

Troubleshooting

SyntaxError: Invalid Syntax

If you get the following error, you are running on an older version of Python:

$ crosscompute

    while chunk := f.read(CHUNK_SIZE_IN_BYTES):
                 ^
SyntaxError: invalid syntax

To solve this issue, create a virtual environment using python >= 3.9.

sudo dnf -y install python3.9
# sudo apt -y install python3.9
python3.9 -m venv ~/.virtualenvs/crosscompute
source ~/.virtualenvs/crosscompute/bin/activate
pip install crosscompute>=0.9.0

Acknowledgments