docify-ai


Namedocify-ai JSON
Version 1.7.0 PyPI version JSON
download
home_pageNone
SummaryAn 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.
upload_time2025-09-14 14:36:44
maintainerNone
docs_urlNone
authorShiwang Upadhyay
requires_python>=3.8
licenseNone
keywords ai documentation readme-generator tests-generator project-structure docker-template cicd-workflows-template mermaid-diagrams openai gemini automation developer-tools cli docstrings notebook-generation automatic-data-cleaning auto-eda notebook-generator model-card model-card-generator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Docify-AI

[
![PyPI - Version](https://img.shields.io/pypi/v/docify-ai.svg?style=flat-square)
](https://pypi.org/project/docify-ai/)
[
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/docify-ai.svg?style=flat-square)
](https://pypi.org/project/docify-ai/)
[
![Downloads](https://static.pepy.tech/badge/docify-ai)
](https://pepy.tech/project/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.md` files for any project.
*   **Automated Test Suite Generation**: Generate runnable `pytest` test files covering various scenarios.
*   **Dockerfile Generation**: Create optimized `Dockerfile`s 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`:

```bash
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.

```bash
# 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.

```bash
docify --path /path/to/your/project
```

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

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

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

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

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

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

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

```bash
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.

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

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

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

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

```bash
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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "docify-ai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ai, documentation, readme-generator, tests-generator, project-structure, docker-template, cicd-workflows-template, mermaid-diagrams, openai, gemini, automation, developer-tools, cli, docstrings, notebook-generation, automatic-data-cleaning, auto-EDA, notebook-generator, model-card, model-card-generator",
    "author": "Shiwang Upadhyay",
    "author_email": "shiwangupadhyay8@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a9/d0/282c8a03592e89d6d66f222aea7962d18b92090641e99290d6e9b170b24f/docify_ai-1.7.0.tar.gz",
    "platform": null,
    "description": "# Docify-AI\n\n[\n![PyPI - Version](https://img.shields.io/pypi/v/docify-ai.svg?style=flat-square)\n](https://pypi.org/project/docify-ai/)\n[\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/docify-ai.svg?style=flat-square)\n](https://pypi.org/project/docify-ai/)\n[\n![Downloads](https://static.pepy.tech/badge/docify-ai)\n](https://pepy.tech/project/docify-ai)\n\nAn intelligent command-line interface (CLI) that leverages AI to automate documentation, testing, and project scaffolding for local software projects.\n\n## Key Features\n\n*   **AI-Powered Documentation Generation**: Automatically create detailed and domain-specific `README.md` files for any project.\n*   **Automated Test Suite Generation**: Generate runnable `pytest` test files covering various scenarios.\n*   **Dockerfile Generation**: Create optimized `Dockerfile`s for containerizing your applications.\n*   **GitHub Actions Workflow Generation**: Develop `YAML` configurations for CI/CD pipelines.\n*   **Project Scaffolding**: Bootstrap new Python projects with a predefined structure.\n*   **Docstring Generation**: Automatically add PEP 257\u2013compliant docstrings to Python functions, classes, and modules.\n*   **Jupyter Notebook Generation**: Kickstart data analysis with a starter notebook including data loading, EDA, and model training pipelines.\n*   **Model Card Generation**: Create `MODEL_CARD.md` for ML/AI projects, detailing model information, intended use, and ethical considerations.\n*   **Flexible AI Clients**: Support for both Google Gemini and OpenAI GPT models.\n\n## Installation\n\nDocify-AI is available on PyPI and can be installed using `pip`:\n\n```bash\npip install docify-ai\n```\n\n## Usage\n\nThe `docify` command is the entry point to all functionalities.\n\n### 1. API Key Setup\n\nBefore 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.\n\n```bash\n# Example for Linux/macOS\nexport GEMINI_API_KEY='YOUR_GEMINI_API_KEY'\n\n# Example for OpenAI\nexport OPENAI_API_KEY='YOUR_OPENAI_API_KEY'\n```\n\n### 2. CLI Commands & Options\n\n#### Global Options\n\nThese options can be used with any action:\n\n*   `--path`, `-p`: Root directory of the project (default: current directory).\n*   `--output`, `-o`: Custom output file/folder name.\n*   `--client`, `-c`: AI client to use (`openai` or `gemini`, default: `gemini`).\n*   `--key`, `-k`: Provide the API key directly, overriding environment variables.\n*   `--ignore-dirs`: Space-separated list of directories to ignore.\n*   `--ignore-exts`: Space-separated list of file extensions to ignore.\n\n#### Command Examples\n\n**Generate `README.md` (Default Action)**\nAnalyzes your project and creates a professional README file.\n\n```bash\ndocify --path /path/to/your/project\n```\n\n**Generate Pytest Tests**\nCreates a `tests/` directory with `pytest`-compatible test modules.\n\n```bash\ndocify --test --path /path/to/your/project\n```\n\n**Generate a Dockerfile**\nCreates a `Dockerfile` tailored to your project's needs.\n\n```bash\ndocify --docker --path /path/to/your/project\n```\n\n**Generate a GitHub Actions Workflow**\nCreates a `.github/workflows/ci.yml` file for continuous integration.\n\n```bash\ndocify --gha --path /path/to/your/project\n```\n\n**Bootstrap a New Python Project**\nGenerates a basic Python project structure from a description.\n\n```bash\ndocify --init \"A simple Flask API for managing tasks\"\n```\n\n**Add Docstrings to a Python File**\nInserts Google-style docstrings into a specified Python file in-place.\n\n```bash\ndocify --docstring /path/to/your/project/my_module.py\n```\n\n**Generate a Jupyter Notebook**\nCreates a starter Jupyter Notebook for data analysis or ML projects.\n\n```bash\ndocify --notebook --path /path/to/your/data_project\n```\n\n**Generate a Model Card**\nCreates a `MODEL_CARD.md` for your AI/ML projects.\n\n```bash\ndocify --model-card --path /path/to/your/ml_project\n```\n# CHANGELOG\n\n## 1.7.0 - 2025-09-14\n- \ud83c\udfd7 Updated `--init` to accept a **requirements description** instead of just a project name.\n- \ud83d\udcc2 Project scaffold is now generated in the **current working directory** (user creates the folder first).\n\n## 1.6.2 - 2025-09-08\n- Optimized ```.ipynb```  and dataset files reading to avoid context length explosion.\n\n## 1.6.0 - 2025-09-07\n- \ud83d\udcdd Added `--notebook` option to generate a starter Jupyter Notebook with analysis pipelines and tests.\n- \ud83d\udcc4 Added `--model-card` option to generate a Model Card (`MODEL_CARD.md`) for ML/AI projects.\n\n## 1.5.0 - 2025-09-05\n- \ud83d\udcdd Added `--docstring` option to automatically generate PEP 257\u2013compliant docstrings for Python functions, classes, and modules.\n\n## 1.4.0 - 2025-08-28\n- \ud83d\udc33 Added `--docker` option to generate a project-aware Dockerfile.\n- \u2699\ufe0f Added `--gha` option to generate GitHub Actions workflow YAML for CI/CD.\n- \ud83c\udfd7 Added `--init` option to bootstrap a new Python project with a predefined structure.\n\n## 1.3.0 - 2025-08-22\n- \ud83d\udeab Added `--ignore-dirs` and `--ignore-exts` options to exclude unwanted directories and files from documentation and test generation.\n\n## 1.2.0 - 2025-08-21\n- \ud83e\uddea Added `-t` or `--test` option to generate pytest-compatible test modules for all project features.\n\n## 1.1.1 - 2025-08-20\n- \ud83d\udee0 Fixed issue where project description was not visible in generated docs.\n\n## 1.1.0 - 2025-08-20\n- \u2728 Added support for OpenAI and Gemini clients.\n- \ud83d\udd11 Added `--key` argument to provide API key without environment variables.\n- \ud83d\udd0d Case-insensitive `--client` option.\n\n## 1.0.0 - 2025-08-15\n- \ud83d\ude80 Initial release\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "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\u2019s code and structure.",
    "version": "1.7.0",
    "project_urls": {
        "Homepage": "https://github.com/shiwangupadhyay/docify-project",
        "Issues": "https://github.com/shiwangupadhyay/docify-project/issues",
        "Repository": "https://github.com/shiwangupadhyay/docify-project"
    },
    "split_keywords": [
        "ai",
        " documentation",
        " readme-generator",
        " tests-generator",
        " project-structure",
        " docker-template",
        " cicd-workflows-template",
        " mermaid-diagrams",
        " openai",
        " gemini",
        " automation",
        " developer-tools",
        " cli",
        " docstrings",
        " notebook-generation",
        " automatic-data-cleaning",
        " auto-eda",
        " notebook-generator",
        " model-card",
        " model-card-generator"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0fd1b72bc800554c30b188006311ae90a188b92ee348a3c5c5725d92e205bcfd",
                "md5": "1b62ad5571064275d53e1925ad34ef74",
                "sha256": "6dc9a31dac1a3c926f22e38d8cae77126cf4d3c36fb31d67d8b3c23700398b78"
            },
            "downloads": -1,
            "filename": "docify_ai-1.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1b62ad5571064275d53e1925ad34ef74",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 16446,
            "upload_time": "2025-09-14T14:36:43",
            "upload_time_iso_8601": "2025-09-14T14:36:43.836662Z",
            "url": "https://files.pythonhosted.org/packages/0f/d1/b72bc800554c30b188006311ae90a188b92ee348a3c5c5725d92e205bcfd/docify_ai-1.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a9d0282c8a03592e89d6d66f222aea7962d18b92090641e99290d6e9b170b24f",
                "md5": "afd5145a4ae6726b778edbfea1993913",
                "sha256": "b9b16b72143fc9a676a378663094c3e5c89c7f54005b7529d35a320165909392"
            },
            "downloads": -1,
            "filename": "docify_ai-1.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "afd5145a4ae6726b778edbfea1993913",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 14626,
            "upload_time": "2025-09-14T14:36:44",
            "upload_time_iso_8601": "2025-09-14T14:36:44.964084Z",
            "url": "https://files.pythonhosted.org/packages/a9/d0/282c8a03592e89d6d66f222aea7962d18b92090641e99290d6e9b170b24f/docify_ai-1.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-14 14:36:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "shiwangupadhyay",
    "github_project": "docify-project",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "docify-ai"
}
        
Elapsed time: 2.30738s