Skip to main content

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

PyPI - Version PyPI - Python Version Downloads

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.md files for any project.
  • Automated Test Suite Generation: Generate runnable pytest test files covering various scenarios.
  • Dockerfile Generation: Create optimized Dockerfiles for containerizing your applications.
  • GitHub Actions Workflow Generation: Develop YAML configurations for CI/CD pipelines.
  • 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 with a starter notebook including data loading, EDA, and model training pipelines.
  • Model Card Generation: Create MODEL_CARD.md for ML/AI projects, detailing model information, intended use, and ethical considerations.
  • Flexible AI Clients: Support for both Google Gemini and OpenAI GPT models.

Installation

Docify-AI is available on PyPI and can be installed using pip:

pip install docify-ai

Usage

The docify command is the entry point to all functionalities.

1. API Key Setup

Before using the tool, you must set your GEMINI_API_KEY or OPENAI_API_KEY as an environment variable. Alternatively, you can provide it directly via the --key argument.

# Example for Linux/macOS
export GEMINI_API_KEY='YOUR_GEMINI_API_KEY'

# Example for OpenAI
export OPENAI_API_KEY='YOUR_OPENAI_API_KEY'

2. CLI Commands & Options

Global Options

These options can be used with any action:

  • --path, -p: Root directory of the project (default: current directory).
  • --output, -o: Custom output file/folder name.
  • --client, -c: AI client to use (openai or gemini, default: gemini).
  • --key, -k: Provide the API key directly, overriding environment variables.
  • --ignore-dirs: Space-separated list of directories to ignore.
  • --ignore-exts: Space-separated list of file extensions to ignore.

Command Examples

Generate README.md (Default Action) Analyzes your project and creates a professional README file.

docify --path /path/to/your/project

Generate Pytest Tests Creates a tests/ directory with pytest-compatible test modules.

docify --test --path /path/to/your/project

Generate a Dockerfile Creates a Dockerfile tailored to your project's needs.

docify --docker --path /path/to/your/project

Generate a GitHub Actions Workflow Creates a .github/workflows/ci.yml file for continuous integration.

docify --gha --path /path/to/your/project

Bootstrap a New Python Project Generates a basic Python project structure from a description.

docify --init "A simple Flask API for managing tasks"

Add Docstrings to a Python File Inserts Google-style docstrings into a specified Python file in-place.

docify --docstring /path/to/your/project/my_module.py

Generate a Jupyter Notebook Creates a starter Jupyter Notebook for data analysis or ML projects.

docify --notebook --path /path/to/your/data_project

Generate a Model Card Creates a MODEL_CARD.md for your AI/ML projects.

docify --model-card --path /path/to/your/ml_project

CHANGELOG

1.7.0 - 2025-09-14

  • 🏗 Updated --init to accept a requirements description instead of just a project name.
  • 📂 Project scaffold is now generated in the current working directory (user creates the folder first).

1.6.2 - 2025-09-08

  • Optimized .ipynb and dataset files reading to avoid context length explosion.

1.6.0 - 2025-09-07

  • 📝 Added --notebook option to generate a starter Jupyter Notebook with analysis pipelines and tests.
  • 📄 Added --model-card option to generate a Model Card (MODEL_CARD.md) for ML/AI projects.

1.5.0 - 2025-09-05

  • 📝 Added --docstring option to automatically generate PEP 257–compliant docstrings for Python functions, classes, and modules.

1.4.0 - 2025-08-28

  • 🐳 Added --docker option to generate a project-aware Dockerfile.
  • ⚙️ Added --gha option to generate GitHub Actions workflow YAML for CI/CD.
  • 🏗 Added --init option to bootstrap a new Python project with a predefined structure.

1.3.0 - 2025-08-22

  • 🚫 Added --ignore-dirs and --ignore-exts options to exclude unwanted directories and files from documentation and test generation.

1.2.0 - 2025-08-21

  • 🧪 Added -t or --test option 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 --key argument to provide API key without environment variables.
  • 🔍 Case-insensitive --client option.

1.0.0 - 2025-08-15

  • 🚀 Initial release

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

docify_ai-1.7.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

docify_ai-1.7.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file docify_ai-1.7.0.tar.gz.

File metadata

  • Download URL: docify_ai-1.7.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docify_ai-1.7.0.tar.gz
Algorithm Hash digest
SHA256 b9b16b72143fc9a676a378663094c3e5c89c7f54005b7529d35a320165909392
MD5 afd5145a4ae6726b778edbfea1993913
BLAKE2b-256 a9d0282c8a03592e89d6d66f222aea7962d18b92090641e99290d6e9b170b24f

See more details on using hashes here.

File details

Details for the file docify_ai-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: docify_ai-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for docify_ai-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6dc9a31dac1a3c926f22e38d8cae77126cf4d3c36fb31d67d8b3c23700398b78
MD5 1b62ad5571064275d53e1925ad34ef74
BLAKE2b-256 0fd1b72bc800554c30b188006311ae90a188b92ee348a3c5c5725d92e205bcfd

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