Skip to content

wagner-austin/API

Repository files navigation

API Platform

Typed Python monorepo for ML training, NLP, and media services. Strict mypy (no Any), 100% test coverage, FastAPI + RQ + Redis architecture.

Services

Service Port Description
data-bank-api 8001 Content-addressed file storage with atomic writes
Model-Trainer 8005 GPT-2 and Char-LSTM training with CUDA support
handwriting-ai 8004 MNIST digit recognition with calibrated confidence
turkic-api 8000 Turkic language detection and IPA transliteration
transcript-api 8003 YouTube video transcription
qr-api 8002 QR code generation
music-wrapped-api 8006 Music listening analytics (Spotify, Apple, Last.fm)
covenant-radar-api 8007 Loan covenant monitoring and breach prediction
grandma-api 8008 Multi-language audio translation (Whisper STT)
github-stats-api 8009 GitHub stats SVG card generation
opportunity-radar-api 8010 Hackathon and competition discovery
procart-api - Procedural art rendering orchestration

Clients

Client Description
DiscordBot Discord bot integrating all platform services
TankpitBot Tankpit.com WebSocket protocol reverse-engineering and game bot

Shared Libraries

Library Description
platform_core Config, logging, HTTP clients, FastAPI utilities
platform_workers RQ job infrastructure, Redis utilities
platform_ml ML artifact storage, manifests, tarballs
platform_discord Discord embed builders, event subscribers
platform_music Music analytics, streaming service adapters
instrument_io Scientific instrument data format readers
monorepo_guards Code quality rules (20+ static analysis checks)
covenant_domain Loan covenant domain models and rule engine
covenant_ml XGBoost training and prediction for covenants
covenant_persistence PostgreSQL repositories for covenant data
cleargbm From-scratch interpretable gradient boosting (pure stdlib)
cleargbm_rs High-performance Rust core for ClearGBM with PyO3 bindings
platform_calendar Google Calendar API for competition deadlines
platform_codebase Codebase capability detection and profiling
platform_devpost Devpost hackathon discovery + capability matching
platform_kaggle Kaggle competition discovery + capability matching
platform_stt Speech-to-text with Whisper, chunking, language detection
procart Procedural art core (neon visuals, HDR pipeline)

Quick Start

# Start shared infrastructure (Redis + network)
make infra

# Start a specific service
make up-databank      # data-bank-api
make up-trainer       # Model-Trainer (GPU)
make up-handwriting   # handwriting-ai
make up-qr            # qr-api
make up-transcript    # transcript-api
make up-turkic        # turkic-api
make up-music         # music-wrapped-api
make up-covenant      # covenant-radar-api
make up-grandma       # grandma-api
make up-github-stats  # github-stats-api
make up-opportunity   # opportunity-radar-api
make up-discord       # DiscordBot

# Start all services
make up-all

# Stop everything
make down

# Run checks across all libs/services
make check
make lint
make test

# View running containers
make status

Architecture

                         +------------------+
                         |   Discord Bot    |
                         +--------+---------+
                                  |
                    +-------------+-------------+
                    |                           |
              +-----v-----+               +-----v-----+
              |  Redis    |               |  Services |
              | (pub/sub) |               | (FastAPI) |
              +-----+-----+               +-----+-----+
                    |                           |
              +-----v-----+               +-----v-----+
              | RQ Workers|               | data-bank |
              +-----------+               +-----------+

All services share:

  • platform-network (Docker bridge)
  • platform-redis (job queue + pub/sub for async services)
  • Structured JSON logging
  • Health endpoint (/healthz)

Development

# Install dependencies for a service
cd services/Model-Trainer
poetry install --with dev

# Run checks
make check

# Run just lint or test
make lint
make test

See docs/ for detailed documentation.

Requirements

  • Python 3.11+
  • Docker + Docker Compose
  • Poetry
  • Make (via PowerShell on Windows)
  • NVIDIA GPU + CUDA 12.4 (for Model-Trainer)

License

MIT

About

Typed Python monorepo: FastAPI microservices for ML training (GPT-2, MNIST), Turkic NLP, QR generation, YouTube transcription, and music analytics. Shared libs for RQ workers, Redis pub/sub, and Discord bot integration. Strict mypy, 100% test coverage, Docker + Railway ready.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors