Skip to main content

A new package that transforms unstructured text queries into highly structured, search-optimized outputs. The package takes a user's text input, such as a search query or a description of information

Project description

structquery

PyPI version License: MIT Downloads LinkedIn

structquery is a lightweight Python package that converts unstructured text queries into highly structured, search‑optimized outputs. By leveraging the llmatch‑messages utility and a default LLM7 model, the package extracts key elements from user input (e.g., location, difficulty, length) and returns them in a format that is ready for downstream search engines or information‑retrieval pipelines.


✨ Features

  • One‑line transformation from free‑form text to a list of structured fields.
  • Built‑in LLM7 support (ChatLLM7 from langchain_llm7) with automatic API‑key handling.
  • Pluggable LLMs – you can swap in any LangChain‑compatible chat model (OpenAI, Anthropic, Google, etc.).
  • Regex‑driven output validation via llmatch to guarantee format correctness.
  • Zero‑config defaults – works out‑of‑the‑box for common use‑cases.

📦 Installation

pip install structquery

🚀 Quick Start

from structquery import structquery

# Simple call – uses the default ChatLLM7 model
response = structquery(
    user_input="best hiking trails in Colorado"
)

print(response)               # → List of extracted structured strings

Parameters

Name Type Description
user_input str The raw user query or description you want to structure.
llm Optional[BaseChatModel] Your own LangChain chat model. If omitted, the package creates a ChatLLM7 instance automatically.
api_key Optional[str] LLM7 API key. If omitted, the package reads LLM7_API_KEY from the environment; otherwise it falls back to the placeholder "None" (which triggers an error from the LLM service).

🔧 Using a Custom LLM

You can provide any LangChain‑compatible chat model that inherits from BaseChatModel. Below are examples for the most popular providers.

OpenAI

from langchain_openai import ChatOpenAI
from structquery import structquery

llm = ChatOpenAI(model="gpt-4o-mini")
response = structquery(
    user_input="latest smartphones under $500",
    llm=llm
)

Anthropic

from langchain_anthropic import ChatAnthropic
from structquery import structquery

llm = ChatAnthropic(model_name="claude-3-haiku-20240307")
response = structquery(
    user_input="affordable vegan meal plan",
    llm=llm
)

Google Generative AI

from langchain_google_genai import ChatGoogleGenerativeAI
from structquery import structquery

llm = ChatGoogleGenerativeAI(model="gemini-1.5-flash")
response = structquery(
    user_input="top-rated bike touring routes in Europe",
    llm=llm
)

🔑 LLM7 API Key

  • The free tier of LLM7 supplies generous rate limits that satisfy most experimentation and production needs.
  • To obtain a free API key, register at https://token.llm7.io/.
  • You can provide the key in three ways:
    1. Environment variable: export LLM7_API_KEY=your_key
    2. Direct argument: structquery(user_input, api_key="your_key")
    3. Pass a pre‑configured ChatLLM7 instance via the llm argument.

🐞 Issues & Contributions


📝 License

Distributed under the MIT License. See the LICENSE file for details.


📧 Contact

Eugene Evstafevhi@euegne.plus
GitHub: https://github.com/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

structquery-2025.12.21164456.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

structquery-2025.12.21164456-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file structquery-2025.12.21164456.tar.gz.

File metadata

  • Download URL: structquery-2025.12.21164456.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for structquery-2025.12.21164456.tar.gz
Algorithm Hash digest
SHA256 f9242017715f27813c7cd393bed3738ac1aea2dc36965d5b2e90a944db00103e
MD5 ac261021d56d373436e83de639a4d41c
BLAKE2b-256 ea051000a3d151802b712ac8d110bc60b80cd112b25389e7ebd376c561b6af10

See more details on using hashes here.

File details

Details for the file structquery-2025.12.21164456-py3-none-any.whl.

File metadata

File hashes

Hashes for structquery-2025.12.21164456-py3-none-any.whl
Algorithm Hash digest
SHA256 6264d0db5fb0e310757d4950f97f3a2c3c9e96290271a4f7f3def5be35f493e3
MD5 8eedeeac921f498084bd857a6d76409b
BLAKE2b-256 31a9d41e6942297f0c49c9593f1a3ac21c7090bde372e6f52e08dc692eb26e3e

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