Skip to main content

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

Metadata

Release files for docify-ai 1.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docify-ai 1.7.0
File Size Uploaded
docify_ai-1.7.0.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docify-ai 1.7.0
File Interpreter ABI Platform
docify_ai-1.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.1 kB

Release files / docify_ai-1.7.0.tar.gz

Download URL docify_ai-1.7.0.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b9b16b72143fc9a676a378663094c3e5c89c7f54005b7529d35a320165909392
BLAKE2b-256 checksum
How to use checksums
a9d0282c8a03592e89d6d66f222aea7962d18b92090641e99290d6e9b170b24f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / docify_ai-1.7.0-py3-none-any.whl

Download URL docify_ai-1.7.0-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6dc9a31dac1a3c926f22e38d8cae77126cf4d3c36fb31d67d8b3c23700398b78
BLAKE2b-256 checksum
How to use checksums
0fd1b72bc800554c30b188006311ae90a188b92ee348a3c5c5725d92e205bcfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page