Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor documentation update #239

Merged
merged 1 commit into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/workflows/test_and_publish_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,19 @@ jobs:
- name: Build sophios
run: |
python -m pip install twine build
python -m build --wheel
python -m build --sdist

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: sophios-wheels
path: dist/*
retention-days: 1

- name: Publish to PyPi
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
python -m build --wheel
python -m build --sdist
twine upload dist/*
19 changes: 4 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,23 @@ Scientific computing can be difficult in practice due to various complex softwar

## Documentation
The documentation is available on [readthedocs](https://workflow-inference-compiler.readthedocs.io/en/latest/).
## Example Workflows
The following repositories contain example workflows:

[Molecular Modeling Workflows](https://github.com/PolusAI/mm-workflows)

[Image Workflows](https://github.com/PolusAI/image-workflows)

Like CWL, the compiler is general purpose and is not limited to any specific domain.
You do not need to install these to use wic. They are completely optional.

(But obviously if you're just getting started and you don't have any workflows of your own, you probably want to install at least one of them.)
## Quick Start
See the [installation guide](docs/installguide.md) for more details, but:

For pip users:

`pip install wic` # Please read the next sentence
`pip install sophios`

Unlike conda, **pip cannot install the binary system dependencies needed to actually run most workflows!**
In order to execute the CWL workflows that are generated by `sophios`, the `cwltool` and all of its underlying dependencies need to be present in the system. Unfortunately
`pip` has no capability to resolve and install these dependencies. PLease refer to the `cwltool` [installation guide](https://cwltool.readthedocs.io/en/latest/#install) to prepare the system to run CWL workflows.

If you want to actually run workflows, you (or your sysadmin) will have to manually install and configure additional software!

For conda users / developers:

See the [installation guide for developers](docs/dev/installguide.md)

```
wic --yaml ../workflow-inference-compiler/docs/tutorials/helloworld.wic --graphviz --run_local --quiet
sophios --yaml ../workflow-inference-compiler/docs/tutorials/helloworld.wic --graphviz --run_local --quiet
```

The Workflow Inference Compiler is a [Domain Specific Language](https://en.wikipedia.org/wiki/Domain-specific_language) (DSL) based on the [Common Workflow Language](https://www.commonwl.org). CWL is fantastic, but explicitly constructing the Directed Acyclic Graph (DAG) associated with a non-trivial workflow is not so simple. Instead of writing raw CWL, you can write your workflows in a much simpler yml DSL. For technical reasons edge inference is far from unique, so ***`users should always check that edge inference actually produces the intended DAG`***.
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/installguide.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ You should now have the `wic` executable available in your terminal.
To test your installation, you can run the example in README.md:

```
wic --yaml ../workflow-inference-compiler/docs/tutorials/helloworld.wic --run_local --quiet
sophios --yaml ../workflow-inference-compiler/docs/tutorials/helloworld.wic --run_local --quiet
```

You can also run the automated test suite. Note that the tests are based on the workflows; if you have more workflows, the tests will take longer.
Expand Down
7 changes: 3 additions & 4 deletions docs/installguide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

For pip users:

`pip install wic` # Please read the next sentence
`pip install sophios`

Unlike conda, **pip cannot install the binary system dependencies needed to actually run most workflows!**

If you want to actually run workflows, you (or your sysadmin) will have to manually install and configure additional software!
In order to execute the CWL workflows that are generated by `sophios`, the `cwltool` and all of its underlying dependencies need to be present in the system. Unfortunately
`pip` has no capability to resolve and install these dependencies. PLease refer to the `cwltool` [installation guide](https://cwltool.readthedocs.io/en/latest/#install) to prepare the system to run CWL workflows.

For conda users / developers:

Expand Down
2 changes: 0 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Based on https://packaging.python.org/en/latest/tutorials/packaging-projects/
[build-system]
requires = ["setuptools>=42", "wheel", "versioneer[toml]==0.29", "tomli"]
# NOTE: Use upper bound of <68 for setuptools due to 2to3 error.
# See https://stackoverflow.com/questions/72414481/error-in-anyjson-setup-command-use-2to3-is-invalid

build-backend = "setuptools.build_meta"

Expand Down
Loading