Metadata-Version: 2.4
Name: autosubmit_api
Version: 4.1.2b3
Summary: An extension to the Autosubmit package that serves its information as an API
Home-page: https://github.com/BSC-ES/autosubmit-api
Author: Luiggi Tenorio, Bruno P. Kinoshita, Cristian Gutiérrez, Julian Berlin, Wilmer Uruchi
Author-email: support-autosubmit@bsc.es
License: GNU GPL
Keywords: autosubmit,API
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi[all]==0.115.0
Requires-Dist: pyjwt~=2.8.0
Requires-Dist: requests~=2.28.1
Requires-Dist: bscearth.utils~=0.5.2
Requires-Dist: pydotplus~=2.0.2
Requires-Dist: portalocker~=2.6.0
Requires-Dist: networkx<=2.6.3
Requires-Dist: scipy~=1.11.4
Requires-Dist: python-dotenv~=1.0.1
Requires-Dist: autosubmitconfigparser>=1.0.72
Requires-Dist: APScheduler~=3.10.4
Requires-Dist: gunicorn~=22.0.0
Requires-Dist: pydantic~=2.5.2
Requires-Dist: SQLAlchemy~=2.0.23
Requires-Dist: python-cas~=1.6.0
Requires-Dist: autosubmit==4.1.11
Requires-Dist: uvicorn<0.36.0,~=0.34.0
Requires-Dist: uvicorn-worker~=0.3.0
Requires-Dist: paramiko
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: ruff; extra == "test"
Requires-Dist: testcontainers; extra == "test"
Provides-Extra: postgres
Requires-Dist: psycopg2; extra == "postgres"
Provides-Extra: all
Requires-Dist: fastapi[all]==0.115.0; extra == "all"
Requires-Dist: pyjwt~=2.8.0; extra == "all"
Requires-Dist: requests~=2.28.1; extra == "all"
Requires-Dist: bscearth.utils~=0.5.2; extra == "all"
Requires-Dist: pydotplus~=2.0.2; extra == "all"
Requires-Dist: portalocker~=2.6.0; extra == "all"
Requires-Dist: networkx<=2.6.3; extra == "all"
Requires-Dist: scipy~=1.11.4; extra == "all"
Requires-Dist: python-dotenv~=1.0.1; extra == "all"
Requires-Dist: autosubmitconfigparser>=1.0.72; extra == "all"
Requires-Dist: APScheduler~=3.10.4; extra == "all"
Requires-Dist: gunicorn~=22.0.0; extra == "all"
Requires-Dist: pydantic~=2.5.2; extra == "all"
Requires-Dist: SQLAlchemy~=2.0.23; extra == "all"
Requires-Dist: python-cas~=1.6.0; extra == "all"
Requires-Dist: autosubmit==4.1.11; extra == "all"
Requires-Dist: uvicorn<0.36.0,~=0.34.0; extra == "all"
Requires-Dist: uvicorn-worker~=0.3.0; extra == "all"
Requires-Dist: paramiko; extra == "all"
Requires-Dist: pytest; extra == "all"
Requires-Dist: pytest-cov; extra == "all"
Requires-Dist: pytest-asyncio; extra == "all"
Requires-Dist: ruff; extra == "all"
Requires-Dist: testcontainers; extra == "all"
Requires-Dist: psycopg2; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Autosubmit API

[![codecov](https://codecov.io/gh/BSC-ES/autosubmit-api/graph/badge.svg?token=ECJKA4M6GR)](https://codecov.io/gh/BSC-ES/autosubmit-api)
![PyPI - Downloads](https://img.shields.io/pypi/dm/autosubmit-api)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/BSC-ES/autosubmit-api/ci.yml)


# Table of Contents

1. [Overview](#overview)
2. [Installation](#installation)
3. [Configuration options](#configuration-options)
4. [How to run tests](#how-to-run-tests)

## Overview

Autosubmit API is a package that consumes the information generated by Autosubmit and serves it as an API.

Distribution: https://pypi.org/project/autosubmit-api/

Full documentation: https://autosubmit-api.readthedocs.io/

## Installation

Autosubmit API can be easily installed via pip

```sh
pip install autosubmit-api # >=4.0 (recommended)

# Check installation and serving options
autosubmit_api start -h
```

Start the server:

```sh
autosubmit_api start
```

## Configuration options

The Autosubmit API have some configuration options that can be modified by setting their specific environment variable before starting the server. Here are some options:

- **`SECRET_KEY`**: The secret key to encode the JWT tokens from the Authorization Module. **Important to be set up on production.**
- **`AS_API_ROOT_PATH`**: The root path of the API. This is useful if you are serving it with a reverse proxy. Default is an empty string.

To see the full list go to: https://autosubmit-api.readthedocs.io/en/latest/configuration/

## How to run tests

### Install pytest

```bash
pip install -e .[test]
```

### Run tests:

```bash
pytest
```

You will find the coverage report in `htmlcov/index.html`
