Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tangled Program Graphs API

API for managing and interacting with Tangled Program Graph experiments.

Table of Contents

Table of Contents
  1. About The Project
  2. Built With
  3. Getting Started
  4. Acknowledgments

About The Project

This project provides a FastAPI-based API for managing and interacting with Tangled Program Graph (TPG) experiments. It allows users to evolve TPG agents within specified environments and replay existing experiments using a given seed. The API also includes WebSocket endpoints for real-time communication and signaling between clients.

Key Features

  • Evolve Experiments: Initiate TPG evolution within a specified environment. The API returns the seed and PID of the new experiment.
  • Replay Experiments: Replay a TPG experiment using a specific environment and seed.
  • WebSocket Signaling: Establish real-time communication channels between clients for signaling purposes. This is particularly useful for interactive experiments or demonstrations.
  • CORS Support: Configured to allow requests from http://localhost:8080 and http://127.0.0.1:8080, enabling local development and testing.

Built With

  • FastAPI - A modern, fast (high-performance), web framework for building APIs with Python 3.7+
  • uvicorn - ASGI server for running the FastAPI application.
  • pydantic - Data validation and settings management using Python type annotations.
  • uv - Fast Python package installer and resolver.

Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

  • Python 3.12 or higher

Installation

  1. Clone the repository
git clone https://github.com/tangledprogramgraphs/api.git
  1. Navigate to the project directory
cd api
  1. Install the dependencies using uv.
uv sync
  1. Running the API
uv run fastapi dev

About

The official API to manage and interact with Tangled Program Graph experiments

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages