Skip to main content

AI-powered documentation generator for Python projects

Project description

Doclify

Intelligent, AI-powered documentation for your software projects.

PyPI Version PyPI Downloads GitHub Stars GitHub Issues GitHub Forks GitHub Discussions GitHub License


Doclify is an intelligent command-line tool that automates the process of documenting your software projects. By leveraging the fast inference of the Groq API, Doclify scans your codebase, understands the context of each file using advanced LLMs (like Llama 3, Qwen, or deepseek), and generates a comprehensive, professional README.md file.

🎯 Our Mission

The main aim of this project is to support developers and students who don't have access to paid API credits. By utilizing powerful open source models, Doclify enables anyone to maintain well-structured, clearly documented, and highly organized project management without worrying about subscription costs.


🚀 Getting Started

1. Installation

Install Doclify directly via pip:

pip install doclify

2. Configure Your API Key

Doclify uses the Groq API to perform massive-scale, lightning-fast inference on your codebase. You must set your API key as an environment variable or place it in a .env file in your project's root directory.

Platform Command
Windows (CMD) set GROQ_API_KEY=gsk_your_api_key_here
Windows (PS) $env:GROQ_API_KEY="gsk_your_api_key_here"
Linux/macOS export GROQ_API_KEY=gsk_your_api_key_here
.env File GROQ_API_KEY=gsk_your_api_key_here

(Get your free Groq API key at console.groq.com)


📖 Detailed Usage Guide

Doclify provides a suite of CLI commands to manage your documentation lifecycle.

doclify init

Initialize Doclify in your target repository.

  • What it does: Scans your project folder (respecting your existing .gitignore files) and creates a doclify.yaml configuration file. It also creates a hidden .doclify/ directory to manage local caching and save on API costs.
  • Command:
    doclify init
    
  • When to use: Always run this first when documenting a new project.

doclify models

Discover the latest LLMs available on the Groq network.

  • What it does: Connects to the Groq API and fetches a real-time table of all available AI models, including their Developer Names, Context Windows, and Maximum Output limits.
  • Command:
    doclify models
    
  • When to use: Use this to find a powerful model (like llama-3.3-70b-versatile or deepseek-r1-distill-llama-70b) to use for your documentation generation.

doclify set default <model_id>

Configure the default AI model for your project.

  • What it does: Updates the doclify.yaml file to use the specific model you selected for all future generations.
  • Command:
    doclify set default llama-3.3-70b-versatile
    

doclify run

Generate your complete project documentation.

  • What it does: Reads the instructions in your doclify.yaml, parallelizes the extraction of all your code files, generates an intelligent summary for each file, and then compiles all that context into a massive, highly professional README.md.
  • Safety: If you already have a README.md, Doclify automatically creates a backup named README-prev.md before overwriting it.
  • Command:
    doclify run
    
  • Overrides: You can temporarily test other models without changing your config by passing arguments:
    doclify run --model qwen/qwen3-32b
    

doclify update <path>

Perform targeted updates to specific files to save API tokens and time.

  • What it does: Instead of regenerating summaries for your entire codebase, this command only updates the cache for the specific file or directory you specify.
  • Arguments:
    • <path>: Path to the modified file or directory. To trigger a full README regeneration using the existing cache, use ..
  • Examples:
    • Update a specific script:
      doclify update src/database/connection.py
      
    • Regenerate the README.md from the cache:
      doclify update .
      

⚙️ Configuration (doclify.yaml)

When you run doclify init, a doclify.yaml file is generated. You can manually edit this file to finely tune what is included in your documentation.

project: My Awesome Project
structure:
  - src/main.py
  - src/utils/helpers.py
llm:
  model: llama-3.3-70b-versatile

If you ever add new files or directories to your project, you can simply run doclify init again. It will safely update your structure manifest while preserving your model configuration!


💬 Feedback, Issues, and Discussions

Doclify is constantly evolving, and your feedback is incredibly valuable!

  • 🐛 Found a Bug or Have an Issue? Please open an issue on the GitHub Issues page. To help us resolve it quickly, please include detailed steps to reproduce, your doclify.yaml configuration, and the terminal output of the error.
  • 💡 Have an Idea or Question? Join the conversation in the GitHub Discussions tab! Whether you need help configuring your project, want to suggest a feature, or just want to share a cool README Doclify generated for you, we'd love to hear from you.

🤝 Contributing & License

Contributions make the open-source community an amazing place! Feel free to fork, branch, and submit Pull Requests.

This project is licensed under the MIT License. See the LICENSE file for details.

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

doclify-0.2.2.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

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

doclify-0.2.2-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file doclify-0.2.2.tar.gz.

File metadata

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

File hashes

Hashes for doclify-0.2.2.tar.gz
Algorithm Hash digest
SHA256 9c4a31c663b92a4085e1e2376eb2205747ec8b09c89edcc528bff4806e770d84
MD5 7d10963c56e722467c4b045f56854562
BLAKE2b-256 8888bb6f21b4645a11724aa7dee8ca50199186b8e1fe6c23334987cff88062ae

See more details on using hashes here.

File details

Details for the file doclify-0.2.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for doclify-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 46c3f918acc0173b3fc3bb346a1447c34da709b77d284af11a7528a37b0f310a
MD5 7e5782854192114ac0698e12251cf2cc
BLAKE2b-256 0cdd05f005bc618acaad8661ead68ca394ad20c89331f88a9c4a1f132d197ed8

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