Skip to main content

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.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

Note: If you also use Frumle for JavaScript, C#, or PHP, install within a virtual environment to avoid global CLI conflicts across package managers. Then run with python -m frumle instead of 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.com
  2. Sign up and copy your API key from the dashboard

3. Add your API key

python -m frumle add-key <your-api-key>

Or set an environment variable (useful for CI):

export FRUMLE_API_KEY=frumle_…
python -m frumle

4. Analyze your project

From your project root:

python -m frumle

Or a specific directory:

python -m frumle ./src
python -m frumle ./app

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

Commands

Command Description
python -m frumle Analyze current directory (default)
python -m frumle <directory> Analyze a given directory
python -m frumle add-key <key> Store and verify your API key
python -m frumle login <key> Same as add-key
python -m frumle status Show API key status and quota
python -m frumle ci Add .github/workflows/frumle.yml for auto-docs on push

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)
  • --skip-config-write – Do not write frumle.config.json (also default when CI=true)
  • --json – Print a single JSON result
  • --quiet – Suppress progress logs

Auto-docs on every push

After a successful interactive analyze, Frumle asks once to add a GitHub Action. Or run:

python -m frumle ci
gh secret set FRUMLE_API_KEY

Then commit and push the workflow file.

Examples

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

# Ignore extra directories
python -m 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
  • Starlette – Route, 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 --save-dev frumle → run with npx frumle → npm
  • C# / .NET: dotnet tool install Frumle → run with dotnet frumle → NuGet
  • PHP: composer require --dev frumle/frumle → run with vendor/bin/frumle
  • Java (Maven): mvn frumle:add-key then mvn frumle:start → Maven 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

Metadata

Release files for frumle 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for frumle 0.3.0
File Size Uploaded Provenance
frumle-0.3.0.tar.gz 13.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for frumle 0.3.0
File Interpreter ABI Platform
frumle-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.1 kB

Release files / frumle-0.3.0.tar.gz

Download URL frumle-0.3.0.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8c9affdc7ed49848363b9befeecfbecfa1ee4d30f12b1d2a16ea4a469c03338e
BLAKE2b-256 checksum
How to use checksums
9753ebfeb26ec5c85639a631495dc2dd99935e225f0c5047dbec1600c1869868
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / frumle-0.3.0-py3-none-any.whl

Download URL frumle-0.3.0-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
519cc59f467e75fe9131bb109e32ac1c693cec0651bb2ca1472312e4fd4d477e
BLAKE2b-256 checksum
How to use checksums
a0ecf2581390d64e4041114232e365cb516bcfec04c15ec0026e94196f6c7aff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for frumle 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page