Projects Parser
A robust package for extracting structured insights from project titles and descriptions using advanced pattern matching with retries. This tool helps developers parse and organize project information (like names, programming languages, and key features) from text snippets without handling raw code, images, or videos.
📦 Installation
Install the package via pip:
pip install projects_parser
🚀 Features
- Structured Extraction: Parses project names, programming languages, and key features from user input.
- Flexible LLM Integration: Works with default
ChatLLM7or any LangChain-compatible LLM (e.g., OpenAI, Anthropic, Google). - Retry Mechanism: Built-in resilience for reliable parsing.
- Regex Validation: Ensures extracted data matches predefined patterns.
🔧 Usage
Basic Usage (Default LLM: ChatLLM7)
from projects_parser import projects_parser
user_input = "A Python web app with Flask and React for data visualization."
response = projects_parser(user_input)
print(response) # Extracted structured data
Custom LLM Integration
Replace the default ChatLLM7 with any LangChain-compatible LLM (e.g., OpenAI, Anthropic, Google):
Example with OpenAI:
from langchain_openai import ChatOpenAI
from projects_parser import projects_parser
llm = ChatOpenAI()
response = projects_parser(user_input, llm=llm)
Example with Anthropic:
from langchain_anthropic import ChatAnthropic
from projects_parser import projects_parser
llm = ChatAnthropic()
response = projects_parser(user_input, llm=llm)
Example with Google Generative AI:
from langchain_google_genai import ChatGoogleGenerativeAI
from projects_parser import projects_parser
llm = ChatGoogleGenerativeAI()
response = projects_parser(user_input, llm=llm)
🔑 API Key Configuration
Default Behavior (LLM7 Free Tier)
- Uses
LLM7_API_KEYfrom environment variables or falls back to a default key. - Suitable for most use cases (check LLM7 free tier limits).
Custom API Key
Pass your API key directly or via environment variable:
# Directly
response = projects_parser(user_input, api_key="your_api_key_here")
# Via environment variable
os.environ["LLM7_API_KEY"] = "your_api_key_here"
response = projects_parser(user_input)
Get a free API key: Register at LLM7.
📝 Function Signature
projects_parser(
user_input: str,
api_key: Optional[str] = None,
llm: Optional[BaseChatModel] = None
) -> List[str]
Parameters:
user_input(str): Text containing project details (e.g., title/description).api_key(Optional[str]): LLM7 API key (optional if using environment variable).llm(Optional[BaseChatModel]): Custom LangChain LLM (optional; defaults toChatLLM7).
Returns:
List[str]: Extracted structured data (e.g., project name, language, features).
🔄 Rate Limits
- LLM7 Free Tier: Sufficient for most use cases.
- Upgrade: Use a custom API key for higher limits.
📜 License
MIT License (see LICENSE).
📢 Support & Issues
For bugs/feature requests, open an issue on GitHub: 🔗 GitHub Issues
👤 Author
Eugene Evstafev 📧 hi@euegne.plus 🔗 GitHub: chigwell
Metadata
Release files for projects-parser 2025.12.21120037
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| projects_parser-2025.12.21120037.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| projects_parser-2025.12.21120037-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.4 kB
Release files / projects_parser-2025.12.21120037.tar.gz
| Download URL | projects_parser-2025.12.21120037.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75bcfcc54ed2cea0a5b5780d6cdf38d9abc2300c48ea6b77c09337f7fac2cef6
|
|
BLAKE2b-256 checksum How to use checksums |
8afc41b4a40686ee207c8806c37b88fa582e0bb1afd2dd8f6d7f12fefbcbdf8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / projects_parser-2025.12.21120037-py3-none-any.whl
| Download URL | projects_parser-2025.12.21120037-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e500a354da1668f9b0507e3a7ceab17964d37b86114af5ddc191cb47eb77a23d
|
|
BLAKE2b-256 checksum How to use checksums |
5df7e5fbdab16ff81577fc30e33fca48379c13457f7f2d07a3469090cadd9c8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|