Apimatic 🚀
A tool to automatically generate beautiful and comprehensive API documentation (Markdown) from your source code.
Supports Flask, FastAPI, and more frameworks with optional AI-powered enhancements via Ollama, OpenAI, Google Gemini, and Groq.
📦 Installation
# Run this in your global environment
pip install Apimatic
Upgrade to the latest version:
pip install --upgrade Apimatic
⚡ Usage
Apimatic now uses commands to separate actions.
1. Generate Documentation:
apimatic generate [OPTIONS]
2. Configure API Keys:
apimatic config [OPTIONS]
🔑 Configuration
To use AI enhancements from providers like OpenAI, Google Gemini, or Groq, you must set an API key.
# Set your OpenAI API key
apimatic config --set-openai-key YOUR_API_KEY
# Set your Google Gemini API key
apimatic config --set-gemini-key YOUR_API_KEY
# Set your Groq API key
apimatic config --set-groq-key YOUR_API_KEY
The key will be stored securely in your home directory.
⚙️ Generation Options
| Option | Description |
|---|---|
-h, --help |
Show help message and exit |
--src SRC |
Root directory of the project to scan (Default: current directory) |
--framework [FRAMEWORK ...] |
Force a specific framework (flask, fastapi, etc.). If omitted, auto-detected |
--format {markdown} |
Output format (Default: markdown) |
--output OUTPUT |
Path for the generated output file (Default: API_Docs.md) |
--use-ollama |
Enhance with a local Ollama model |
--ollama-model MODEL |
Ollama model to use (e.g., phi3:mini) |
--use-openai |
Enhance with an OpenAI model |
--openai-model MODEL |
OpenAI model to use (e.g., gpt-4o-mini) |
--use-google-gemini |
Enhance with a Google Gemini model |
--google-gemini-model MODEL |
Gemini model to use (e.g., gemini-1.5-flash) |
--use-groq |
Enhance with a Groq model |
--groq-model MODEL |
Groq model to use (e.g., llama3-8b-8192) |
📝 Examples
Basic Generation:
# Generate Markdown docs from the current project
apimatic generate --src . --output API_Docs.md
Force Framework:
# Force detection for a Flask app
apimatic generate --src ./my_flask_app --framework flask
AI-Enhanced Documentation:
First, set your key:
apimatic config --set-openai-key sk-xxxxxxxx
Then, generate with enhancement:
# Use OpenAI's gpt-4o-mini model
apimatic generate --src . --use-openai --openai-model gpt-4o-mini
# Use Google Gemini
apimatic generate --src . --use-google-gemini
# Use Groq's fast Mixtral model
apimatic generate --src . --use-groq
# Use a local Ollama model
apimatic generate --src . --use-ollama --ollama-model phi3:mini
🤖 Recommended AI Models
| Provider | Recommended Model | Notes |
|---|---|---|
| Ollama (Local) | phi3:mini, llama3:8b |
Fast, free, and runs on your machine. Great for privacy. |
| OpenAI | gpt-4o-mini |
Excellent balance of cost, speed, and intelligence. |
| Google Gemini | gemini-1.5-flash |
Fast and cost-effective model from Google. |
| Groq | llama3-8b-8192 |
Incredibly fast inference speeds. |
🤝 Contributing
Contributions are welcome! Please fork the repo, make your changes, and submit a PR.
📄 License
This project is licensed under the MIT License.
Metadata
Release files for Apimatic 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| apimatic-0.1.8.tar.gz | 16.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| apimatic-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.1 kB
Release files / apimatic-0.1.8.tar.gz
| Download URL | apimatic-0.1.8.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
138f06e2ecb3295812eac96df58c8cf7ab59c28b5387e50b8d6bed956b0b6eeb
|
|
BLAKE2b-256 checksum How to use checksums |
1f138b86d9fbc2de055fa9d5d386fcd715af80387a625dddb32cf018759f1818
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|
Release files / apimatic-0.1.8-py3-none-any.whl
| Download URL | apimatic-0.1.8-py3-none-any.whl |
|---|---|
| Size | 25.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5214c407cbedf2dc0148c67745a13665fdab80e7559c779c337cf746b6dbf75c
|
|
BLAKE2b-256 checksum How to use checksums |
f1e3a228f437dd3792e2b57101dc165e9c221a3890e2d4e0af19b282c36e1fbb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|