Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Automate your work by writing a configuration file

Project description

CrossCompute

Automate your work by writing a configuration file.

Please see https://crosscompute.com for examples and tutorials.

pip install -U crosscompute

Usage

# export CROSSCOMPUTE_CLIENT=https://crosscompute.com
# export CROSSCOMPUTE_ECHOES=https://services.crosscompute.com
# export CROSSCOMPUTE_SERVER=https://services.crosscompute.com
export CROSSCOMPUTE_TOKEN=YOUR-TOKEN
crosscompute

Run Automation

crosscompute automations run
crosscompute automations run automation.yml

Add Tool

git clone git@github.com:crosscompute/crosscompute-examples
cd crosscompute-examples/add-numbers

# Mock
crosscompute tools add tool.yml --mock

# Real
crosscompute tools add tool.yml

See Tool

crosscompute tools see
crosscompute tools see | jq
crosscompute tools see | jq .[].id
crosscompute tools see TOOL-ID

Run Worker

crosscompute workers run

See Project

crosscompute projects see
crosscompute projects see | jq
crosscompute projects see | jq '.[] | {id:.id, name:.name}'
crosscompute projects see PROJECT-ID

Set Project

crosscompute projects set project.yml

Add Result

crosscompute results add result.yml

Development

git clone https://github.com/crosscompute/crosscompute
cd crosscompute
pip install -e .[test]
pytest --cov=crosscompute --cov-report term-missing:skip-covered --cov-config=tox.ini tests

Acknowledgments

  • Olga Creutzburg
  • Salah Ahmed
  • Rodrigo Guarachi
  • Polina Chernomaz
  • Miguel Ángel Gordián
  • Noé Domínguez Porras
  • Marta Moreno
  • Ning Wei
  • Elaine Chan
  • Aida Shoydokova
  • Jennifer Ruda

0.8

  • Start from scratch
  • Define AddProjectScript, ChangeProjectScript, SeeProjectScript
  • Define AddToolScript, SeeToolScript
  • Support reports
  • Parallelize report and result automations using ThreadPoolExecutor

0.7

  • Add memory_level, processor_level to work script
  • Remove redundant calls to data_type.load
  • Render run_tool_json errors in form
  • Replace setup script with support for setup.sh in work script
  • Replace show_standard_output, show_standard_error with show_raw_output
  • Support inline default values in tool definition e.g. {--x} and {--x 1}
  • Use hard links when available

0.6

  • Accept markdown templates that lack titles
  • Add work script
  • Expand support for DataType.parse, DataType.render
  • Handle empty arguments properly
  • Rearrange result folder
  • Recognize variable name and variable help in markdown templates

0.5

  • Serve Python Jupyter Notebooks
  • Support Python 3
  • Support Unicode
  • Support Windows

0.4

  • Add tool scaffold
  • Support data types that require extra stylesheets, scripts, api_keys
  • Make result files available from server
  • Use DataTypeError to detect data_type errors
  • Use DataType classmethods without instantiation

0.3

  • Validate standard outputs and standard errors against data types
  • Support popovers via help in tool definition

0.2

  • Support data type plugins
  • Add setup script

0.1

  • Add run script
  • Add serve script

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for crosscompute, version 0.8.4.7
Filename, size File type Python version Upload date Hashes
Filename, size crosscompute-0.8.4.7-py3-none-any.whl (28.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size crosscompute-0.8.4.7.tar.gz (22.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page