GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - RocketPy-Team/Infinity-API: Infinity-API is a RESTful Open API and MCP server for RocketPy

BranchesTags
Open more actions menu

Latest commit

 

History

607 Commits
607 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
src
src
 
 
tests/unit
tests/unit
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CODEOWNERS
CODEOWNERS
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
compose.yaml
compose.yaml
 
 
pyproject.toml
pyproject.toml
 
 
requirements-dev.txt
requirements-dev.txt
 
 
requirements.txt
requirements.txt
 
 

Repository files navigation

Infinity-API

Ask DeepWiki

  • API: https://api.rocketpy.org/
  • MCP Server: https://api.rocketpy.org/mcp/

Capabilities

  • Performs rocket simulations and returns simulation data
  • Stores simulation input data in mongo-db

Setup

  • Install python3 3.11.5 or above
  • install mongodb-atlas
  • Install dependencies python3 -m pip install -r requirements.txt

Windows Users

⚠️ Known Issue: uvloop does not support Windows and will fail during pip installation with:

RuntimeError: uvloop does not support Windows at the moment

Recommended Solution: Use Docker (easiest approach)

Development

  • make format
  • make test
  • make clean
  • make build

Starting the server

  • Setup MONGODB_CONNECTION_STRING:
$ touch .env && echo MONGODB_CONNECTION_STRING="$ConnectionString" > .env

Docker

  • run docker compose: docker-compose up --build -d

Standalone

  • Dev: python3 -m uvicorn src:app --reload --port 3000
  • Prod: gunicorn -k uvicorn.workers.UvicornWorker src:app -b 0.0.0.0:3000

MCP Server

  • The MCP bridge is mounted directly on the FastAPI app and is available at /mcp alongside the REST API.
  • No extra process is required: uvicorn src:app serves both the REST routes and the MCP transport.

Project structure

├── README.md    # this file
├── requirements.txt
│   
├── lib
│   │   
│   ├── api.py    # main app
│   │── secrets.py
│   │   
│   ├── controllers
│   │   ├── interface.py
│   │   ├── environment.py
│   │   ├── flight.py
│   │   ├── motor.py
│   │   └── rocket.py
│   │   
│   ├── services 
│   │   ├── environment.py
│   │   ├── flight.py
│   │   ├── motor.py
│   │   └── rocket.py
│   │   
│   ├── routes 
│   │   ├── environment.py
│   │   ├── flight.py
│   │   ├── motor.py
│   │   └── rocket.py
│   │   
│   ├── repositories
│   │   ├── interface.py
│   │   ├── environment.py
│   │   ├── flight.py
│   │   ├── motor.py
│   │   └── rocket.py
│   │   
│   ├── models
│   │   ├── interface.py
│   │   ├── environment.py
│   │   ├── flight.py
│   │   ├── motor.py
│   │   ├── rocket.py
│   │   │   
│   │   └── sub
│   │       ├── aerosurfaces.py
│   │       └── tanks.py
│   │   
│   └── views
│       ├── interface.py
│       ├── environment.py
│       ├── flight.py
│       ├── motor.py
│       └── rocket.py
│   
└── tests

DOCS

  • OpenAPI standard: https://api.rocketpy.org/redoc
  • Swagger UI: https://api.rocketpy.org/docs

API Flowchart

General API workflow. Current available models are: Environment, Flight, Rocket and Motor.

CRUD

sequenceDiagram
    participant User
    participant API
    participant MongoDB

    User ->> API: POST /model    
    API ->> MongoDB: Persist API Model as a document
    MongoDB -->> API: Model ID
    API -->> User: 201 ModelCreated View

    User ->> API: GET /model/:id
    API ->> MongoDB: Read API Model document
    MongoDB -->> API: API Model document
    API -->> User: 200 API ModelView

    User ->> API: PUT /model/:id
    API ->> MongoDB: Update API Model document
    API -->> User: 204

    User ->> API: DELETE /model/:id
    API ->> MongoDB: Delete API Model document
    MongoDB -->> API: Deletion Confirmation
    API -->> User: 204

Loading

Simulating and extracting RocketPY native classes

sequenceDiagram
    participant User
    participant API
    participant MongoDB
    participant RocketPy lib

    User ->> API: GET model/:id/simulate/
    API -->> MongoDB: Retrieve API Model document
    MongoDB -->> API: API Model document 
    API ->> RocketPy: Initialize RocketPy native class and simulate
    RocketPy lib -->> API: Simulation Results
    API -->> User: Simulation Results

    User ->> API: GET /model/:id/rocketpy
    API -->> MongoDB: Retrieve API Model document
    MongoDB -->> API: API Model document 
    API ->> RocketPy: Initialize RocketPy native class
    RocketPy lib -->> API: RocketPy native class
    API -->> User: RocketPy native class as .dill binary (amd64)
Loading

About

Infinity-API is a RESTful Open API and MCP server for RocketPy

api.rocketpy.org

Topics

aerodynamicsapiflight-simulatorpublic-apirocket-simulator

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

10 stars

Watchers

3 watching

Forks

3 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.