Metadata-Version: 2.1
Name: crosscompute
Version: 0.8.4.5
Summary: Automate your work by writing a configuration file
Home-page: https://github.com/crosscompute/crosscompute
Author: CrossCompute Inc
Author-email: support@crosscompute.com
License: UNKNOWN
Keywords: crosscompute
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/markdown
Requires-Dist: geojson
Requires-Dist: invisibleroads (>=0.3.4)
Requires-Dist: invisibleroads-macros-disk (>=1.1.0)
Requires-Dist: invisibleroads-macros-log (>=1.0.3)
Requires-Dist: invisibleroads-macros-security (>=1.0.1)
Requires-Dist: invisibleroads-macros-text (>=1.0.3)
Requires-Dist: packaging (>=20.4)
Requires-Dist: pyramid
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: sseclient
Requires-Dist: strictyaml
Requires-Dist: tinycss2
Provides-Extra: test
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: pytest-mock ; extra == 'test'

# CrossCompute

Automate your work by writing a configuration file.

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

```bash
pip install -U crosscompute
```

## Usage

```bash
# 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

```bash
crosscompute automations run
crosscompute automations run automation.yml
```

### Add Tool

```bash
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

```bash
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

```bash
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 Angel 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

# 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

