Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

RocketPy-Team/Infinity-API

Open more actions menu

Infinity-API

Ask DeepWiki

Capabilities

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

Setup

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

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

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors 6

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.