Skip to main content

Projects Parser

PyPI version License: MIT Downloads LinkedIn

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 ChatLLM7 or 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_KEY from 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 to ChatLLM7).

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)

Source distribution for projects-parser 2025.12.21120037
File Size Uploaded
projects_parser-2025.12.21120037.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for projects-parser 2025.12.21120037
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2025.12.21120037 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page