Metadata-Version: 2.1
Name: eqsql
Version: 0.10.3
Summary: The eqsql package provies an API for HPC workflows to submit, run, and retrieve tasks (such as simulation model runs) using queues implemented in a database.
Home-page: https://github.com/emews/EQ-SQL
Author: Nick Collier
Author-email: ncollier@anl.gov
Maintainer: Nick Collier
Maintainer-email: ncollier@anl.gov
License: BSD 3-Clause License
Project-URL: Bug Tracker, https://github.com/emews/EQ-SQL/issues
Project-URL: Documentation, https://github.com/emews/EQ-SQL#readme
Project-URL: Git Repository, https://github.com/emews/EQ-SQL
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: dill
Requires-Dist: proxystore
Requires-Dist: psij-python
Requires-Dist: psutil
Requires-Dist: psycopg2-binary
Requires-Dist: globus-compute-sdk

# EMEWS QUEUES in SQL for Python #

The eqsql package provies an API for HPC workflows to submit tasks (such as
simulation model runs) to a queue implemented in a database. eqsql worker pools pop tasks 
off this queue for evaluation, and push the results back to a database input queue. 
The tasks can be provided by a Python or R language model exploration (ME) algorithm.

A task is submitted with the following arguments: an experiment id; the task work type; the task payload; an optional
priority that defaults to 0; and an optional metadata tag string. The payload contains sufficient information for a
worker pool to execute the task and is typically a JSON formatted string, either a JSON dictionary or in less complex
cases a simple JSON list. On submission, the API creates a unique task identifier (an integer) for the task and 
inserts that identifier, the experiment identifier, the work type, and the payload into the EMEWS DB tasks table,
together with a task creation timestamp. That task identifier, priority and work type are then inserted into the EMEWS
DB output queue table.

API docs are [here](https://emews.github.io/eqsql/apidoc/)
