AMI-system / ami-api

API to AMI push data into the server
0 stars 0 forks source link

AMI Data Management API

Overview

This project provides an API to push data (images and audio files) into an S3 server. The API is built with FastAPI and includes endpoints for managing AMI system deployments and their data.

Features

Installation

Prerequisites

Steps

  1. Create a virtual environment:

    conda create -n ami-api python=3.9
    conda activate ami-api
  2. Clone the repository:

    git clone https://github.com/AMI-system/ami-api.git
    cd ami-api
  3. Install dependencies:

    pip install -e .
  4. Create credentials.json: Create a file named credentials.json in the root folder with the following content:

    {
     "AWS_ACCESS_KEY_ID": "your_access_key_id",
     "AWS_SECRET_ACCESS_KEY": "your_secret_access_key",
     "AWS_REGION": "your_region",
     "AWS_URL_ENDPOINT": "your_endpoint"
    }
  5. Add deployments_info.csv: Add the file named deployments_info.csv with the information about your AMI deployments.

Running the Application locally

Start the application using Uvicorn:

uvicorn main:app --port 8080 --reload

API Endpoints

Documentation

api_screenshot.png

Data management

Deployments

Other Operations

Contributing

Feel free to fork this repository and create a pull request. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the Apache 2.0 License.

Contact

For more information, visit UKCEH AMI System or contact the team at ami-system@ceh.ac.uk.