Skip to main content

AI-powered codebase analyzer and API documentation for Python projects

Project description

frumle (Python)

AI-powered codebase analyzer for Python projects. Scan your Flask, FastAPI, Django, or Starlette app and get API documentation in your Frumle dashboard.

What is frumle?

frumle scans your Python codebase, sends it to the Frumle backend, and generates documentation including:

  • API Documentation: Endpoints, request/response bodies, parameters, authentication
  • Structured Analysis: Overview, architecture, tech stack
  • Dashboard: View everything at frumle.tellecata.com

Same backend as the npm and Maven / Gradle plugins—only the CLI and file scanning are Python-specific.

Quick Start

1. Install

pip install frumle

Or run without installing (from a clone):

python -m pip install -e .
# or
PYTHONPATH=src python -m frumle --help

2. Get your API key

  1. Go to frumle.tellecata.com
  2. Sign up and copy your API key from the dashboard

3. Add your API key

frumle add-key <your-api-key>

Or:

frumle login <your-api-key>

4. Analyze your project

From your project root:

frumle

Or a specific directory:

frumle ./src
frumle ./app

Analysis runs on the server. When it’s done, open your dashboard to see the docs.

Commands

Command Description
frumle Analyze current directory (default)
frumle <directory> Analyze a given directory
frumle add-key <key> Store and verify your API key
frumle login <key> Same as add-key
frumle status Show API key status and quota

Options

  • --project-name <name> – Project name (default: directory name or pyproject.toml / setup.py name)
  • --ignore <dirs> – Comma-separated dirs to ignore (default: __pycache__,.git,.venv,venv,env,.eggs,dist,build)

Examples

# Use a custom project name
frumle --project-name my-fastapi-app

# Ignore extra directories
frumle --ignore __pycache__,.pytest_cache,.mypy_cache

Supported frameworks

  • Flask@app.route, blueprints
  • FastAPI@app.get, @app.post, routers, APIRouter
  • Django – URLconf, DRF views, @api_view
  • StarletteRoute, Router
  • Other – Any Python web app with route-like patterns

Config file

Running frumle creates or updates frumle.config.json in the project with base URLs, e.g.:

{
  "baseUrls": [
    { "environment": "local", "url": "http://localhost:8000" },
    { "environment": "production", "url": "" }
  ]
}

You can add your production URL in that file. Local URL is guessed from common patterns (e.g. app.run(port=5000), uvicorn.run(..., port=8000)).

Requirements

  • Python 3.8+
  • Internet connection (to talk to the Frumle API)

Other platforms

  • Node.js / TypeScript: npm install -g frumlenpm
  • Java (Maven): mvn frumle:add-key then mvn frumle:startMaven Central
  • Java (Gradle): ./gradlew frumle → Gradle Plugin Portal

Publishing to PyPI (maintainers)

cd py-package
pip install build twine
python -m build
twine upload dist/*

Use a PyPI account and token (or ~/.pypirc) for uploads.

License

MIT © Tellecata LLC

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frumle-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frumle-0.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file frumle-0.1.0.tar.gz.

File metadata

  • Download URL: frumle-0.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for frumle-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c0692a3c4b7295517c138941cbd8071bf2220924f4d7c3b43249dfd32bda579d
MD5 2c38703b16414d40d1b995a38c4fcd29
BLAKE2b-256 b21686d4d57b30320cdbe3941261d42ed4222b9e65194876f5b3656a4218e6b1

See more details on using hashes here.

File details

Details for the file frumle-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: frumle-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for frumle-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29136cf8074d48004c662d425fb65751be87c47ec9e22b8e27c00b95b4e0fb56
MD5 63c6e9c65380458a1cfccdc3d3adc56e
BLAKE2b-256 1ec03d50f691fd9ec4d736b597153701b5e565a4efb751a202f435ce932f19c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page