Skip to main content

A new package designed to streamline and automate the correction of imperfect OpenAPI specifications by analyzing user-provided textual descriptions and extracting structured insights. It processes te

Project description

Open Spec Correct

PyPI version License: MIT Downloads LinkedIn

Automate and streamline the correction of imperfect OpenAPI specifications by extracting structured insights from textual descriptions.


📌 Overview

Open Spec Correct is a Python package designed to analyze user-provided textual descriptions of APIs and generate structured corrections for OpenAPI specifications. It leverages pattern matching and AI-driven insights to identify inconsistencies, errors, or missing details in API documentation, helping developers create more accurate and maintainable OpenAPI specs faster.


🚀 Features

  • Text-to-Spec Correction: Extracts structured insights from unstructured textual descriptions.
  • Pattern Matching: Uses regex-based validation to ensure output correctness.
  • LLM Flexibility: Works with LLM7 by default (free tier included) or supports custom LLMs (OpenAI, Anthropic, Google, etc.).
  • Retry Mechanisms: Ensures reliable extraction and correction.
  • Environment-Aware: Respects LLM7_API_KEY environment variable for seamless integration.

📦 Installation

pip install open_spec_correct

🔧 Usage

Basic Usage (Default LLM7)

from open_spec_correct import open_spec_correct

user_input = """
API endpoint for fetching user data.
Path: /users/{id}
Method: GET
Query params: ?name=string, ?age=int
Response: 200 OK with JSON body { "id": int, "name": string }
"""

response = open_spec_correct(user_input)
print(response)

Custom LLM Integration

You can replace the default ChatLLM7 with any LangChain-compatible LLM (e.g., OpenAI, Anthropic, Google Generative AI).

Example: Using OpenAI

from langchain_openai import ChatOpenAI
from open_spec_correct import open_spec_correct

llm = ChatOpenAI(model_name="gpt-4")  # Replace with your preferred model
response = open_spec_correct(user_input, llm=llm)
print(response)

Example: Using Anthropic

from langchain_anthropic import ChatAnthropic
from open_spec_correct import open_spec_correct

llm = ChatAnthropic(model="claude-2")
response = open_spec_correct(user_input, llm=llm)
print(response)

Example: Using Google Generative AI

from langchain_google_genai import ChatGoogleGenerativeAI
from open_spec_correct import open_spec_correct

llm = ChatGoogleGenerativeAI(model="gemini-pro")
response = open_spec_correct(user_input, llm=llm)
print(response)

🔑 API Key Configuration

  • Default: Uses LLM7_API_KEY from environment variables.
  • Manual Override: Pass the API key directly:
    response = open_spec_correct(user_input, api_key="your_llm7_api_key")
    
  • Free API Key: Register at LLM7 Token to get started.

⚠️ Rate Limits

  • LLM7 Free Tier: Sufficient for most use cases.
  • Custom Rate Limits: Upgrade via LLM7 dashboard or use a different LLM.

📝 Input Parameters

Parameter Type Description
user_input str Textual description of the API to correct.
api_key Optional[str] LLM7 API key (optional if LLM7_API_KEY is set in environment).
llm Optional[BaseChatModel] Custom LangChain LLM (e.g., ChatOpenAI, ChatAnthropic). Defaults to ChatLLM7.

🔄 Output

Returns a list of structured corrections (e.g., OpenAPI-compatible snippets) extracted from the input text.


📜 License

MIT License (see LICENSE).


🐛 Issues & Support

Report bugs or request features at: 🔗 GitHub Issues


👤 Author

Eugene Evstafev 📧 hi@euegne.plus 🌐 GitHub: chigwell


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

open_spec_correct-2025.12.21155728.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

open_spec_correct-2025.12.21155728-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file open_spec_correct-2025.12.21155728.tar.gz.

File metadata

File hashes

Hashes for open_spec_correct-2025.12.21155728.tar.gz
Algorithm Hash digest
SHA256 dbef5e016d21a2e481b93be2a8548709f20e853cf02e7926eeee7c860b5b69a4
MD5 ebb5a14844f543f6208910ee4b211325
BLAKE2b-256 c39ac21a9461a22cdca5bf21f55b3fa6dd93d77718cd52935015fd5a051fce41

See more details on using hashes here.

File details

Details for the file open_spec_correct-2025.12.21155728-py3-none-any.whl.

File metadata

File hashes

Hashes for open_spec_correct-2025.12.21155728-py3-none-any.whl
Algorithm Hash digest
SHA256 4ddc323349f5f4dda4ffd89ce7413bf69608daa62d9de79e41dc3ed6e47664f3
MD5 e7d2ab2e7d420cdae2b79bbf8e6e878d
BLAKE2b-256 866ef24bcecbbda05f5d2afe2faf7f7032771f2fb7def666825dc25f332f081c

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