Skip to main content

txn-harvester

PyPI version License: MIT Downloads LinkedIn

Extract and structure financial transaction data from unstructured text

txn_harvester is a Python package designed to parse and validate financial transaction data from raw text inputs (e.g., bank statements, transaction logs) into structured formats. It leverages LLM7 (via langchain_llm7) by default, but supports any LangChain-compatible LLM for flexibility.


🚀 Features

  • Extracts transaction details (amount, date, description, category) from unstructured text
  • Validates output against predefined financial patterns using regex
  • Supports custom LLMs (OpenAI, Anthropic, Google, etc.) via LangChain
  • Lightweight and easy to integrate into financial workflows

📦 Installation

pip install txn_harvester

🔧 Usage

Basic Usage (Default LLM7)

from txn_harvester import txn_harvester

user_input = """
Paid for groceries at Whole Foods: $125.50 on 2024-05-15
Rent payment: $1500.00 (due 2024-05-20)
"""

response = txn_harvester(user_input)
print(response)

Custom LLM (OpenAI Example)

from langchain_openai import ChatOpenAI
from txn_harvester import txn_harvester

llm = ChatOpenAI(model="gpt-4")
response = txn_harvester(user_input, llm=llm)

Custom LLM (Anthropic Example)

from langchain_anthropic import ChatAnthropic
from txn_harvester import txn_harvester

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

Custom LLM (Google Example)

from langchain_google_genai import ChatGoogleGenerativeAI
from txn_harvester import txn_harvester

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

🔑 API Key Configuration

  • Default: Uses LLM7_API_KEY from environment variables.
  • Manual: Pass via api_key parameter or set LLM7_API_KEY in your shell:
    export LLM7_API_KEY="your_api_key_here"
    
  • Free Tier: Sufficient for most use cases (rate limits apply).
  • Get Key: Register at https://token.llm7.io

📝 Parameters

Parameter Type Description
user_input str Raw text containing financial transactions (required).
api_key Optional[str] LLM7 API key (optional; defaults to LLM7_API_KEY).
llm Optional[BaseChatModel] Custom LangChain LLM (optional; defaults to ChatLLM7).

📝 Output

Returns a list of structured transaction data (e.g., [{"amount": "$125.50", "date": "2024-05-15", ...}]).


🔄 Customization

  • Modify regex patterns in prompts.py to adapt to specific transaction formats.
  • Extend the package by subclassing txn_harvester for domain-specific parsing.

📝 License

MIT


📧 Support & Issues


Metadata

Release files for txn-harvester 2025.12.22084352

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for txn-harvester 2025.12.22084352
File Size Uploaded
txn_harvester-2025.12.22084352.tar.gz 5.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for txn-harvester 2025.12.22084352
File Interpreter ABI Platform
txn_harvester-2025.12.22084352-py3-none-any.whl Python 3 none any Details

Total release size: 11.6 kB

Release files / txn_harvester-2025.12.22084352.tar.gz

Download URL txn_harvester-2025.12.22084352.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
55792f5773ba5c728c15d5b680a92ceef3778102a386bef34e2ce9667762667d
BLAKE2b-256 checksum
How to use checksums
2752b605d33a7c504555bfc633a678a3c53662d8887600abcddd89532b8f042c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / txn_harvester-2025.12.22084352-py3-none-any.whl

Download URL txn_harvester-2025.12.22084352-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac9f77032bd88bfab066bb35db1cf453f574cf9acad5aa7734640a8d1c5d788a
BLAKE2b-256 checksum
How to use checksums
d8bc8c4d233a843f5de885625b3c92fabf4c5d2d64bed144e909a2f78afa0ee7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

2025.12.22084352 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