Skip to main content

DocAPI is a Python package that automatically generates API documentation using LLM.

Project description

image

Python Version OS Lisence PyPI GitHub pull request

[ English | 中文 ]

DocAPI is a Python package that uses LLM to automatically generate API documentation.

Features

  • The Flask framework supports automatic scanning of the routing structure of API services;

  • Supports Tongyi Qianwen, OpenAI, Azure OpenAI, open source models, etc;

  • Supports automatic document generation and partial document update;

  • Supports Chinese and English documents;

  • Supports web page deployment to display API documentation.

Installation

pip install docapi

or

pip install -U docapi -i https://pypi.org/simple

GitHub source code installation

pip install git+https://github.com/Shulin-Zhang/docapi

Usage

Method 1 (Recommended)

Automatically scan the routing structure. This is only valid for flask projects and must be used in the environment of api projects.

OpenAI:

export OPENAI_API_KEY=api_key

export OPENAI_API_MODEL=gpt-4o-mini

# Generate documents
docapi generate server.py

# Update documents
docapi update server.py

# Start web service
docapi serve

Qianwen, open source model:

export OPENAI_API_KEY=api_key

export OPENAI_API_BASE=api_base_url

export OPENAI_API_MODEL=model_name

# Generate documents
docapi generate server.py

# Update documents
docapi update server.py

# Start web service
docapi serve

Baidu Qianfan:

export QIANFAN_ACCESS_KEY=access_key

export QIANFAN_SECRET_KEY=secret_key

export QIANFAN_MODEL=ERNIE-3.5-8K

# Generate documents
docapi generate server.py

# Update documents
docapi update server.py

# Start web service
docapi serve

ZhipuAI:

export ZHIPUAI_API_KEY=api_key

export ZHIPUAI_MODEL=glm-4-flash

# Generate documents
docapi generate server.py

# Update documents
docapi update server.py

# Start web service
docapi serve

Method 2

Generate the configuration file

docapi init

Edit the config.yaml file

# API file list

api_files: 
  - 'flask_server.py'
  - 'flask_api.py'

# OpenAI

openai_api_key: xxx

openai_base_url: 'http://ip:port/v1'

openai_model: 'qwen-plus'

# Azure OpenAI

azure_api_key: null

azure_endpoint: null

azure_api_version: null

azure_model: null
# Generate API documentation
docapi generate --doc_dir ./docs --lang zh --config config.yaml

# Update API documentation
docapi update --doc_dir ./docs --lang zh --config config.yaml

# Start the web service
docapi serve ./docs -h 127.0.0.1 -p 9000

Update log

  • [2024-11-17] Support Zhipu AI, Baidu Qianfan model, optimize document structure, and add javascript code examples.

Supported Models

  • OpenAI

  • AzureOpenAI

  • Tongyi Qianwen

  • Zhipu AI

  • Baidu Qianfan

  • Open source model

Supported API Frameworks

  • Flask

Automatic scanning is only valid for the Flask framework and is recommended for use on Flask services.

API Web Page

image

TODO

  • Supports large models such as Wenxin Yiyan and Zhipu AI.

  • Supports automatic scanning of frameworks such as fastapi and Django.

  • Supports online web page display of documents.

  • Supports custom document templates.

  • Multithreading accelerates requests.

  • Import to postman.

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

docapi-0.0.12.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

docapi-0.0.12-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file docapi-0.0.12.tar.gz.

File metadata

  • Download URL: docapi-0.0.12.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.20

File hashes

Hashes for docapi-0.0.12.tar.gz
Algorithm Hash digest
SHA256 530444e0695fdb80528202cafda286a9d59e5e508d15e683df66db0809fc2573
MD5 7026a57e7f108b88534b9355d9a6db33
BLAKE2b-256 8c6db04fbfb1df115d92209d413efdef4bbab84a1ad1c89b6e6fdb6ce5e13b85

See more details on using hashes here.

File details

Details for the file docapi-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: docapi-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.20

File hashes

Hashes for docapi-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 a2baf9994364fa5a765e34681c6f4091969e06360b98dbc47136103b65c4d8c3
MD5 ea0b93178f34fbe3a1c8d77458f8d191
BLAKE2b-256 bd8e13bf6f4a10f12a6212734fb7cf31f6e7e40bf74f50df9d6688ad48f2b2fa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page