Universal API documentation generator
Project description
Apimatic 🚀
A tool to automatically generate beautiful and comprehensive API documentation (Markdown/OpenAPI) from your source code.
Supports Flask, FastAPI, and more frameworks with optional AI-powered enhancements via Ollama, OpenAI, Google Gemini, and Groq.
📦 Installation
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apimatic-0.1.7.tar.gz.
File metadata
- Download URL: apimatic-0.1.7.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8faa2452f54c7a3c2778bfd9971bccb0ff466ab5dee9298b172b007308b5ea6f
|
|
| MD5 |
e8b29e3ef115475e82b9050dc2ef3fdc
|
|
| BLAKE2b-256 |
1ab747db57a6b7ba4ec74fbca9ccce88376f49ede1c53fdb765dfb3b5beade32
|
File details
Details for the file apimatic-0.1.7-py3-none-any.whl.
File metadata
- Download URL: apimatic-0.1.7-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c80cccaf6ffe394357327d785b86e6982d83302743ad3087b78a24a5eb7831f
|
|
| MD5 |
1523685b64342e048dcd2124ffd5b5a9
|
|
| BLAKE2b-256 |
c9ff43296e4966307eb626fdbaeea444d0eed16bbffce11741f8129c1c7101c0
|