AI-powered CLI tool for generating Python documentation strings effortlessly
Project description
Pythion
Pythion is a command-line interface (CLI) tool designed to assist Python developers by generating documentation strings using AI. With an easy-to-use interface built on the Click library, Pythion provides a seamless way to enhance your Python projects with well-structured docstrings and documentation management.
Features
- Generate documentation strings for Python functions and classes.
- Create and manage documentation in batches
- Flexible options to include or exclude already documented functions.
- Automatically generate intelligent commit messages based on staged changes.
- Easily bump version numbers in your projects.
Table of Contents
Installation
You can install Pythion via pip. Open your terminal and enter:
pip install pythion
Usage
After installing Pythion, you can invoke the command-line tool as follows:
pythion [OPTIONS] COMMAND [ARGS]…
Commands
1. docs
Generates and manages docstrings for Python projects.
pythion docs <root_dir> [--custom-instruction <instruction>] [--profile <profile>]
- Arguments:
root_dir: The path to the root directory containing the Python files to analyze.
- Options:
--custom-instruction: Custom instructions for generating docstrings.--profile: Choose a predefined instruction set such asfastapiorcli.
Example:
pythion docs /path/to/project --custom-instruction "Use concise language."
2. module_docs
Generates documentation for Python modules.
pythion module_docs <root_dir> [--custom-instruction <instruction>]
- Arguments:
root_dir: The root directory of the Python project.
- Options:
--custom-instruction: Custom instructions for module documentation generation.
Example:
pythion module_docs /path/to/project --custom-instruction "Include examples in docstrings."
3. build-cache
Creates a documentation cache for functions and methods in a specified directory.
pythion build-cache <root_dir> [--use_all] [--dry]
- Arguments:
root_dir: The directory path containing Python files.
- Options:
--use_all: Generates docstrings for all functions, or only those without docstrings.--dry: Performs a dry run without generating any documentation.
Example:
pythion build-cache /path/to/dir --use_all --dry
4. iter-docs
Iterates through the docstring cache and apply them to objects
pythion iter-docs <root_dir></root_dir>
- Arguments:
root_dir: The path to the directory containing documents to be iterated.
Example:
pythion iter-docs /path/to/dir
5. make-commit
Generates a commit message based on staged changes.
pythion make-commit [--custom-instruction <instruction>] [--profile <profile>]
- Options:
--custom-instruction: Custom instructions for generating the commit message.--profile: (Optional) Select a predefined instruction set.
Example:
pythion make-commit --custom-instruction "Don't mention version updates"
6. bump-version
Bumps version numbers in a specified version file.
pythion bump-version --version-regex <pattern> --file-path <file>
- Arguments:
--version-regex: Regex pattern to match the version string.--file-path: Full path to the file containing the version string.
Example:
pythion bump-version --version-regex 'version="(.\*?)"' --file-path '/path/to/version_file.txt'
NOTES
- You must have an OpenAI API key saved on your environment for the key
OPENAI_API_KEY.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pythion-1.0.21.tar.gz.
File metadata
- Download URL: pythion-1.0.21.tar.gz
- Upload date:
- Size: 29.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8eb0ccfa7e36752ee41a94b4d96a16da2d7120d7ffe8e4aedb6e6136673ed927
|
|
| MD5 |
403be7ef2504a2876d78359cd56f33c5
|
|
| BLAKE2b-256 |
9f850a6bb05475446456f2f3bd195d52aec1a51588fbcd305f3bcaf80d83fdef
|
File details
Details for the file pythion-1.0.21-py3-none-any.whl.
File metadata
- Download URL: pythion-1.0.21-py3-none-any.whl
- Upload date:
- Size: 34.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e6f581691ac14e1e8664341c2d898b3fb84926a13b348a13305da6ac6b3aa3e
|
|
| MD5 |
fe39c0191de5ddf7f00711accce26beb
|
|
| BLAKE2b-256 |
068faca96f6c3da622eac30671162e849d6f3cbeff2fc1fc6eb867f7a857f945
|