An AI-powered documentation generator that uses OpenAI and Gemini models to create high-quality README.md files, model cards, notebooks, tests, and boilerplate, tailored to your project’s code and structure.
Project description
Docify-AI
An intelligent command-line interface (CLI) that leverages AI to automate documentation, testing, and project scaffolding for local software projects.
Key Features
- AI-Powered Documentation Generation: Automatically create detailed and domain-specific
README.mdfiles for any project. - Automated Test Suite Generation: Generate runnable
pytesttest files covering various scenarios. - Dockerfile Generation: Create optimized
Dockerfiles for containerizing your applications. - GitHub Actions Workflow Generation: Develop
YAMLconfigurations for CI/CD pipelines (e.g., build, test, deploy). - Project Scaffolding: Bootstrap new Python projects with a predefined structure.
- Docstring Generation: Automatically add PEP 257–compliant docstrings to Python functions, classes, and modules.
- Jupyter Notebook Generation: Kickstart data analysis or ML projects with a basic Jupyter Notebook including data loading, EDA, and model training/evaluation pipelines.
- Model Card Generation: Create
MODEL_CARD.mdfor ML/AI projects, detailing model information, intended use, datasets, and ethical considerations. - Flexible AI Clients: Support for both Google Gemini and OpenAI GPT models.
- Intelligent File Scanning: Ignores specified directories and file extensions to focus on relevant code.
- Dataset Schema Extraction: Automatically infers schema and samples from common data formats (
.csv,.json, etc.) to inform AI generations for data-centric tasks.
Installation
Docify-AI can be installed directly from PyPI using pip:
pip install docify-ai
Usage
The docify command is your entry point to all functionalities.
API Key Setup
You must set your GEMINI_API_KEY or OPENAI_API_KEY environment variable or provide it via the --key argument.
# Example for setting environment variable (Linux/macOS)
export GEMINI_API_KEY='YOUR_GEMINI_API_KEY'
# or for OpenAI
export OPENAI_API_KEY='YOUR_OPENAI_API_KEY'
Global Options
--path,-p: Root directory of the project (default: current directory.).--output,-o: Custom output file/folder name.--client,-c: Choose AI client (openaiorgemini, default:gemini). Case-insensitive.--key,-k: Provide API key directly (overrides environment variable).--ignore-dirs: Space-separated list of directories to ignore during scanning.--ignore-exts: Space-separated list of file extensions to ignore during scanning.
CLI Commands
1. Generate README.md (Default Action)
If no specific action flag is provided, docify generates a README.md for the project.
docify -p /path/to/your/project
# Output will be saved to /path/to/your/project/README.md
2. Generate Pytest Test Files
Creates a tests/ directory with pytest compatible test modules.
docify --test -p /path/to/your/project
# Output: tests/ directory within your project, e.g., tests/test_main.py
3. Generate Dockerfile
Creates a Dockerfile for your project.
docify --docker -p /path/to/your/project
# Output: Dockerfile within your project
4. Generate GitHub Actions Workflow
Creates a .github/workflows/ci.yml file for CI/CD.
docify --gha -p /path/to/your/project
# Output: .github/workflows/ci.yml within your project
5. Bootstrap a New Python Project
Generates a basic Python project structure.
docify --init my_new_project
# Output: A new directory named 'my_new_project' with basic Python project files.
6. Add Docstrings to a Python File
Inserts Google-style docstrings into a specified Python file.
docify --docstring /path/to/your/project/my_module.py
# The specified Python file will be updated in place.
7. Generate a Jupyter Notebook
Creates a starter Jupyter Notebook, especially useful for data-centric projects.
docify --notebook -p /path/to/your/data_project
# Output: notebook.ipynb within your project.
8. Generate a Model Card
Creates a MODEL_CARD.md for AI/ML projects.
docify --model-card -p /path/to/your/ml_project
# Output: MODEL_CARD.md within your project.
CHANGELOG
1.6.2 - 2025-09-08
- Optimized
.ipynband dataset files reading to avoid context length explosion.
1.6.0 - 2025-09-07
- 📝 Added
--notebookoption to generate a starter Jupyter Notebook with analysis pipelines and tests. - 📄 Added
--model-cardoption to generate a Model Card (MODEL_CARD.md) for ML/AI projects.
1.5.0 - 2025-09-05
- 📝 Added
--docstringoption to automatically generate PEP 257–compliant docstrings for Python functions, classes, and modules.
1.4.0 - 2025-08-28
- 🐳 Added
--dockeroption to generate a project-aware Dockerfile. - ⚙️ Added
--ghaoption to generate GitHub Actions workflow YAML for CI/CD. - 🏗 Added
--initoption to bootstrap a new Python project with a predefined structure.
1.3.0 - 2025-08-22
- 🚫 Added
--ignore-dirsand--ignore-extsoptions to exclude unwanted directories and files from documentation and test generation.
1.2.0 - 2025-08-21
- 🧪 Added
-tor--testoption to generate pytest-compatible test modules for all project features.
1.1.1 - 2025-08-20
- 🛠 Fixed issue where project description was not visible in generated docs.
1.1.0 - 2025-08-20
- ✨ Added support for OpenAI and Gemini clients.
- 🔑 Added
--keyargument to provide API key without environment variables. - 🔍 Case-insensitive
--clientoption.
1.0.0 - 2025-08-15
- 🚀 Initial release
Project details
Release history Release notifications | RSS feed
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 docify_ai-1.6.2.tar.gz.
File metadata
- Download URL: docify_ai-1.6.2.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f076c617d4f474bb1bc0ff9cf3a5afb3b098c54339ad3050e1e042176e17e97
|
|
| MD5 |
dd85d43862eb7866b108ff66e57c3b19
|
|
| BLAKE2b-256 |
eea3f750fb2226b85acd7facdf05a711f0e631883b8f2488c766759c8cbbfde2
|
File details
Details for the file docify_ai-1.6.2-py3-none-any.whl.
File metadata
- Download URL: docify_ai-1.6.2-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7975409181b7cf599c2e6203e3b69205c95569e2d4f875d6ccb1b098c1a3f59
|
|
| MD5 |
6ee987ae5c3d7d26c23c24dd540c9e50
|
|
| BLAKE2b-256 |
fa431efa193bfa1a2316d19117dd4480509d7c4b75efa03d569c7874d8cb464c
|