Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexbuccheri/oct_flow
Octopus Workflow Prototype
https://github.com/alexbuccheri/oct_flow
Last synced: about 2 months ago
JSON representation
Octopus Workflow Prototype
- Host: GitHub
- URL: https://github.com/alexbuccheri/oct_flow
- Owner: AlexBuccheri
- Created: 2023-11-15T15:50:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-19T15:45:52.000Z (about 1 year ago)
- Last Synced: 2023-12-19T15:52:51.857Z (about 1 year ago)
- Language: Python
- Size: 221 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Octopus Workflows
![Tests](https://github.com/AlexBuccheri/oct_flow/actions/workflows/tests.yml/badge.svg)
## Installation
### Virtual Env
* Create a venv either manually, or with Pycharm
* Specify the location of this `venv` in the `Makefile`
* Default is assumed to be `venv` w.r.t. the project rootActivating venv:
```shell
source venv/bin/activate
```Exiting a venv:
```shell
deactivate
```* Install the project for
* Production: `make install`
* Development: `make install-dev`All requirements will be handled by make and pyproject.toml.
### Formatting and Linting
Check formatting and Linting:
```shell
make check-format
```Apply formatting and Linting:
```shell
make format
```### Run Tests
In the main environment, run:
```shell
pytest
```For all supported environments:
```shell
tox
```If a specific toc venv fails, one can switch to it:
```shell
# Change to python 3.9 venv
source .tox/py39/bin/activate
```## Viewing Documentation
The sphinx documentation is built with:
```shell
make doc
```and cleaned with:
```shell
make clean-doc
```Once built, documentation can be viewed via [docs/build/html/index.html](docs/build/html/index.html)
## Using the Workflows
A workflow is run like:
```shell
python workflows/kerker_comparison/main.py
```and then copied to the target machine like:
```shell
scp -r jobs/kerker_comparison/ ada01:.
````scp` works because I have `.ssh/config` set up to enable tunnelling.
## Writing Workflows
**ADD ME**
## Issues
### Parsing
* Substitution of variables - issues with the regex and substitute - need to resolve
* Parsing mathematical expressions - have to specify
* Parsing the various rules for blocks - not fulyl handled
* Clearly the only way to effectively parse is to wrap the oct parser### Adding File Dependencies to the Workflow
I think the cleanest way to do this is with file rules:
* Attribute a file dependency to all calculations
* Attribute a file dependency only to calculations that match a rule