Metadata-Version: 2.4
Name: flux-restful
Version: 1.1.0
Summary: A RESTful API, web interface, and Python client for submitting and monitoring jobs on a Flux Framework instance
Author-email: Vanessa Sochat <vsoch@users.noreply.github.com>
License: MIT
Project-URL: Homepage, https://github.com/flux-framework/flux-restful-api
Project-URL: Documentation, https://flux-framework.github.io/flux-restful-api
Project-URL: Repository, https://github.com/flux-framework/flux-restful-api
Project-URL: Changelog, https://github.com/flux-framework/flux-restful-api/blob/main/CHANGELOG.md
Keywords: flux,hpc,scheduler,rest,fastapi
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: fastapi>=0.115
Requires-Dist: starlette>=0.46
Requires-Dist: uvicorn>=0.30
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: jinja2>=3.1
Requires-Dist: Markdown>=3.5
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: alembic>=1.13
Requires-Dist: pydantic>=2.5
Requires-Dist: pydantic-settings>=2.2
Requires-Dist: python-jose[cryptography]>=3.4
Requires-Dist: bcrypt>=4.0
Requires-Dist: httpx>=0.24
Requires-Dist: jsonschema>=4.0
Requires-Dist: ruamel.yaml>=0.17
Provides-Extra: pam
Requires-Dist: python-pam>=2.0; extra == "pam"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: httpx; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Dynamic: license-file

# Flux RESTFul API

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
[![DOI](https://zenodo.org/badge/561527661.svg)](https://zenodo.org/badge/latestdoi/561527661)
![PyPI Version](https://img.shields.io/pypi/v/flux-restful)

![https://github.com/flux-framework/flux-restful-api/raw/main/img/flux-restful-eyes-small.png](https://github.com/flux-framework/flux-restful-api/raw/main/img/flux-restful-eyes-small.png)

This is a small Flux Python API (using FastAPI) that can be containerized
alongside Flux, and provide an easy means to interact with Flux via the API.
With Flux RESTful we can:

1. provide simple endpoints to submit jobs, list jobs, or get job status
2. eventually support subscribing to events and a user interface job table
3. option to kill or stop the server (intended for Flux Operator)
4. allow for start with a user name and token (for basic auth)

Install the server with `pip install flux-restful` (the Flux Python bindings come with
Flux itself) and start it under a Flux instance with `flux start flux-restful serve`.

This project is new and we look forward to [hearing your feedback](https://github.com/flux-framework/flux-restful-api).
See our ⭐️ [Documentation](https://flux-framework.github.io/flux-restful-api) ⭐️ to get started,
and take a look at the [clients](clients) we provide to interact with the server.

![https://github.com/flux-framework/flux-restful-api/raw/main/img/flux-restful.png](https://github.com/flux-framework/flux-restful-api/raw/main/img/flux-restful.png)


## 😁️ Contributors 😁️

We use the [all-contributors](https://github.com/all-contributors/all-contributors)
tool to generate a contributors graphic below.

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://vsoch.github.io"><img src="https://avatars.githubusercontent.com/u/814322?v=4?s=100" width="100px;" alt="Vanessasaurus"/><br /><sub><b>Vanessasaurus</b></sub></a><br /><a href="https://github.com/flux-framework/flux-restful-api/commits?author=vsoch" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://linkedin.com/in/tgamblin/"><img src="?s=100" width="100px;" alt="Todd Gamblin"/><br /><sub><b>Todd Gamblin</b></sub></a><br /><a href="https://github.com/flux-framework/flux-restful-api/commits?author=tgamblin" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/khoing0810"><img src="https://avatars.githubusercontent.com/u/47909147?v=4?s=100" width="100px;" alt="Khoi Nguyen"/><br /><sub><b>Khoi Nguyen</b></sub></a><br /><a href="https://github.com/flux-framework/flux-restful-api/commits?author=khoing0810" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://blog.delhomme.org/"><img src="https://avatars.githubusercontent.com/u/1001832?v=4?s=100" width="100px;" alt="dupgit"/><br /><sub><b>dupgit</b></sub></a><br /><a href="https://github.com/flux-framework/flux-restful-api/commits?author=dupgit" title="Code">💻</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

Project interaction is governed by a Code of Conduct. Please see our [Code of Conduct](.github/CODE_OF_CONDUCT.md) for contributing.

## LICENSE

DevTools is distributed under the terms of the MIT license.
All new contributions must be made under this license.

See [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),
[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and
[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614
