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

An intelligent command-line interface (CLI) that leverages AI to automate documentation, testing, and project scaffolding for local software projects.

PyPI - Version PyPI - Python Version Downloads

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 (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.md for 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 (openai or gemini, 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 .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.6.2.tar.gz (14.7 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.6.2-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

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

Hashes for docify_ai-1.6.2.tar.gz
Algorithm Hash digest
SHA256 7f076c617d4f474bb1bc0ff9cf3a5afb3b098c54339ad3050e1e042176e17e97
MD5 dd85d43862eb7866b108ff66e57c3b19
BLAKE2b-256 eea3f750fb2226b85acd7facdf05a711f0e631883b8f2488c766759c8cbbfde2

See more details on using hashes here.

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

Hashes for docify_ai-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f7975409181b7cf599c2e6203e3b69205c95569e2d4f875d6ccb1b098c1a3f59
MD5 6ee987ae5c3d7d26c23c24dd540c9e50
BLAKE2b-256 fa431efa193bfa1a2316d19117dd4480509d7c4b75efa03d569c7874d8cb464c

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