# Docify-AI
[

](https://pypi.org/project/docify-ai/)
[

](https://pypi.org/project/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\n](https://pypi.org/project/docify-ai/)\n[\n\n](https://pypi.org/project/docify-ai/)\n[\n\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"
}