Metadata-Version: 2.4
Name: python_workflow_submitter
Version: 0.1.1
Summary: A way of submitting workflows to graphql in python
Home-page: https://github.com/Matt-Carre/python-workflow-submitter
Author: Matthew Carre
Author-email: Matthew Carre <matthew.carre@diamond.ac.uk>
License-Expression: Apache-2.0
Project-URL: GitHub, https://github.com/Matt-Carre/python-workflow-submitter
Project-URL: Homepage, https://github.com/Matt-Carre/python-workflow-submitter
Project-URL: issues, https://github.com/Matt-Carre/python-workflow-submitter/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10, <4
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gql
Requires-Dist: aiohttp
Requires-Dist: hera
Requires-Dist: requests
Requires-Dist: PyYAML
Requires-Dist: pillow
Requires-Dist: numpy
Requires-Dist: h5py
Requires-Dist: dotenv
Requires-Dist: python-keycloak
Requires-Dist: pytest-asyncio
Requires-Dist: asyncio
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

[![CI](https://github.com/Matt-Carre/python-workflow-submitter/actions/workflows/ci.yml/badge.svg)](https://github.com/Matt-Carre/python-workflow-submitter/actions/workflows/ci.yml)
[![Coverage](https://codecov.io/gh/Matt-Carre/python-workflow-submitter/branch/main/graph/badge.svg)](https://codecov.io/gh/Matt-Carre/python-workflow-submitter)

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
# python_workflow_submitter

 Python alternative to creating and running argo workflows in the Data Analysis Platform

This allows for the submission of Hera workflow objects to Diamond's GraphQL API.

What            | Where
:---:           | :---:
Source          | <https://github.com/Matt-Carre/python-workflow-submitter>
Docker          | `docker run ghcr.io/Matt-Carre/python-workflow-submitter:latest`
Releases        | <https://github.com/Matt-Carre/python-workflow-submitter/releases>

To submit your workflow notebook:

```python
from python_workflow_submitter.submit_workflow import submit_workflow

await submit_workflow(w)
```
To submit a workflow script:
```python 
import asyncio
from python_workflow_submitter.submit_workflow import submit_workflow

asyncio.run(submit_workflow(w))
```

To submit a generic workflow via a graphql mutation in a notebook:

```python
import os
from python_workflow_submitter.submit_workflow import submit_stock_workflow

await submit_stock_workflow(
        "example-template",
        {"png": "True", "jpg": "False", "jpeg": "True", "tif": "True", "tiff": "False"},
        host= str(os.environ.get("HOST")),
        visit= str(os.environ.get("VISIT")),
    )
```
Alternatively:
```python 
import asyncio
from python_workflow_submitter.submit_workflow import submit_workflow

asyncio.run(submit_stock_workflow(
        "example-template",
        {"png": "True", "jpg": "False", "jpeg": "True", "tif": "True", "tiff": "False"},
        host= str(os.environ.get("HOST")),
        visit= str(os.environ.get("VISIT")),
    ))
