Skip to content

persephone-tools/persephone-web-API

Repository files navigation

Persephone-web-API (beta version)

This is a web API for the the persephone library

This is a REST API that will provide the ability to interact with the Persephone transcription tools from over the network.

This API is based on the OpenAPI 2.0 (formerly known as Swagger) standard which specifies API endpoints via API description files. The API specification for this project can be found in a YAML file located in the repository at ./persephone_api/api_spec.yaml

This file will show you all the endpoints that are supported but an easier way to get familiarity with the API is to use the API explorer frontend provided by the project. See the API explorer section of this README to get started with exploring the API.

For more information about the API specification see the documentation page.

Installation

You can install this package directly or use Docker.

Because this package depends on various system binaries (such as ffmpeg) being installed as well Python packages we recommend using the Docker container we have created. However you can also install this directly without a container as well if you wish, see the installation documentation page for more information.

Usage

We have a Docker image that will automate the install and spin up the API server. A Docker image for this project is available at docker hub at "persephonetools/api:latest"

Alternatively you can build the image locally as follows:

docker build -t persephone-web-api:dev .

Then to run it:

docker run -p 8080:8080/tcp persephone-web-api:dev

If you are looking to use the whole stack the easiest way to get started is to use the docker-compose setup found in the persephone-docker repository as this will automate the install and setup of this API server along with the persephone web frontend that accesses the API.

Documentation

Documentation can be found here.

The web based documentation is automatically built from the files found in the ./docs/ directory in this repository.

Support

If you find an issue or bug with this code please open an issue on the issues tracker. Please use the discussion mailing list to discuss other questions regarding this project.