Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

docapi

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

docapi

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

  • 0.1.2
  • PyPI
  • Socket score

Maintainers
1

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 a variety of mainstream commercial and open source models at home and abroad;

  • Supports automatic document generation and partial document update;

  • Supports Chinese and English documents;

  • Supports web page deployment to display API documentation.

Installation

pip install -U 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

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 --lang en

# Update documents
docapi update server.py --lang en

# Start web service
docapi serve

Azure OpenAI:

export AZURE_OPENAI_API_KEY=api_key

export AZURE_OPENAI_ENDPOINT=endpoint

export OPENAI_API_VERSION=version

export AZURE_OPENAI_MODEL=gpt-4o-mini

# 生成文档
docapi generate server.py --template <template_path>

# 更新文档
docapi update server.py --template <template_path>

# 启动web服务
docapi serve docs --ip 0.0.0.0 --port 9000

Qianwen, Open source deployment:

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 --lang en

# Update documents
docapi update server.py --lang en

# 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 --lang en

# Update documents
docapi update server.py --lang en

# 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

Code calls

import os
from docapi import DocAPI, llm_builder, prompt
from docapi.scanner import flask_scanner

os.environ['OPENAI_API_KEY'] = "api_key"
os.environ['OPENAI_API_BASE'] = "api_base"
os.environ['OPENAI_API_MODEL'] = "model_name"

docapi = DocAPI.build(lang="en")

# docapi = DocAPI(llm=llm_builder.build_llm(), scanner=flask_scanner, prompt=prompt.doc_prompt_en)

docapi.generate("flask_project/flask_server.py", "docs")

# docapi.update("flask_project/flask_server.py", "docs")

# docapi.serve("docs", ip="127.0.0.1", port=8080)

Changelog

  • [2024-11-17] Support Zhipu AI, Baidu Qianfan model, optimize document structure, and add javascript code examples; Remove the execution mode that uses the configuration file.

  • [2024-11-20] Support custom document templates.

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 Django.

  • Supports online web page display of documents.

  • Supports custom document templates.

  • Multithreading accelerates requests.

  • Import to postman.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc