Skip to content

A new package that transforms unstructured developer tool ideas from text inputs into structured, actionable product specifications. Users can describe their desired tool in natural language, and the

Notifications You must be signed in to change notification settings

chigwell/devide-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

devide-spec

PyPI version License: MIT Downloads LinkedIn

Transform unstructured developer tool ideas into structured, actionable product specifications.

devide_spec is a Python package that converts natural language descriptions of developer tools into structured, well-defined specifications. It extracts key features, target users, and potential challenges, providing a clear roadmap for development.


🚀 Features

  • Extracts structured specifications from unstructured text inputs
  • Supports customizable LLM backends (LLM7 by default)
  • Configurable via environment variables or direct API key input
  • Works seamlessly with popular LangChain LLM integrations

📦 Installation

pip install devide_spec

🔧 Usage

Basic Usage (with default LLM7)

from devide_spec import devide_spec

response = devide_spec(user_input="I want a CLI tool that helps developers manage their Docker containers with a simple command interface")
print(response)

Custom LLM Integration

You can replace the default ChatLLM7 with any LangChain-compatible LLM:

Using OpenAI

from langchain_openai import ChatOpenAI
from devide_spec import devide_spec

llm = ChatOpenAI()
response = devide_spec(user_input="My tool idea...", llm=llm)

Using Anthropic

from langchain_anthropic import ChatAnthropic
from devide_spec import devide_spec

llm = ChatAnthropic()
response = devide_spec(user_input="My tool idea...", llm=llm)

Using Google Generative AI

from langchain_google_genai import ChatGoogleGenerativeAI
from devide_spec import devide_spec

llm = ChatGoogleGenerativeAI()
response = devide_spec(user_input="My tool idea...", llm=llm)

🔑 API Key Configuration

The package uses LLM7 by default. You can:

  1. Set your API key via environment variable:
    export LLM7_API_KEY="your_api_key_here"
  2. Or pass it directly:
    from devide_spec import devide_spec
    response = devide_spec(user_input="My tool idea...", api_key="your_api_key_here")

Get a free LLM7 API key at https://token.llm7.io/.


📝 Input Parameters

Parameter Type Description
user_input str The natural language description of your tool idea
api_key Optional[str] LLM7 API key (optional if using environment variable)
llm Optional[BaseChatModel] Custom LangChain LLM (optional, defaults to ChatLLM7)

📌 Output

The function returns a list of structured specifications extracted from the input text, formatted to match a predefined regex pattern.


🔄 Rate Limits

  • LLM7 Free Tier is sufficient for most use cases.
  • For higher rate limits, use your own API key or upgrade your LLM7 plan.

📖 License

MIT


📧 Support & Issues

For bugs, feature requests, or support, please open an issue at: https://github.com/chigwell/devide-spec/issues


👤 Author

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


Releases

No releases published

Packages

No packages published

Languages