ecodynalyze – Ecological Study Analysis Package
Standardize and analyze ecological research data with structured insights.
Overview
ecodynalyze is a Python package designed to extract, structure, and summarize key findings from ecological studies. By analyzing text excerpts (e.g., research papers, field notes), it identifies species interactions, dominance hierarchies, and environmental impacts, enabling researchers to compare and synthesize data across diverse sources.
The package leverages LLM7 (default) or custom LLMs (via LangChain) to parse unstructured text and return structured outputs, ensuring consistency and comparability.
Key Features
✅ Structured Data Extraction – Parses species interactions, dominance patterns, and ecological outcomes. ✅ Flexible LLM Integration – Works with LLM7 (default), OpenAI, Anthropic, Google Vertex AI, or any LangChain-compatible model. ✅ Regex-Pattern Validation – Ensures extracted data matches predefined formats. ✅ Environment-Friendly – Optimized for lightweight, high-accuracy analysis.
Installation
pip install ecodynalyze
Usage Examples
Basic Usage (Default LLM7)
from ecodynalyze import ecodynalyze
user_input = """
In a 2023 study, researchers observed that species A dominated interactions
with species B in 85% of recorded events, while species C showed minimal
competitive behavior due to habitat constraints.
"""
response = ecodynalyze(user_input)
print(response)
Custom LLM Integration
Using OpenAI
from langchain_openai import ChatOpenAI
from ecodynalyze import ecodynalyze
llm = ChatOpenAI(model="gpt-4")
response = ecodynalyze(user_input, llm=llm)
Using Anthropic (Claude)
from langchain_anthropic import ChatAnthropic
from ecodynalyze import ecodynalyze
llm = ChatAnthropic(model="claude-2")
response = ecodynalyze(user_input, llm=llm)
Using Google Vertex AI
from langchain_google_genai import ChatGoogleGenerativeAI
from ecodynalyze import ecodynalyze
llm = ChatGoogleGenerativeAI(model="gemini-pro")
response = ecodynalyze(user_input, llm=llm)
Parameters
| Parameter | Type | Description |
|---|---|---|
user_input |
str |
Text excerpt (e.g., research paper, field notes) to analyze. |
api_key |
Optional[str] |
LLM7 API key (defaults to LLM7_API_KEY env var). |
llm |
Optional[BaseChatModel] |
Custom LangChain LLM (e.g., ChatOpenAI, ChatAnthropic). |
LLM7 API Key
- Default: Uses
LLM7_API_KEYenvironment variable. - Manual Override: Pass via
api_keyparameter. - Free Tier: Sufficient for most use cases (rate limits apply).
- Upgrade: Get a custom API key at LLM7 Token.
Output Format
The function returns a list of structured dictionaries containing:
- Species names
- Interaction types (e.g., competition, predation)
- Dominance patterns
- Environmental context
Example output:
[
{
"species1": "A",
"species2": "B",
"interaction": "competition",
"dominance": "A > B (85%)",
"environment": "habitat-constrained"
}
]
Contributing & Support
📢 Issues & Feedback: GitHub Issues 📧 Author: Eugene Evstafev (LinkedIn) 📧 Contact: hi@euegne.plus
License
Metadata
Release files for ecodynalyze 2025.12.20201125
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ecodynalyze-2025.12.20201125.tar.gz | 5.6 kB | Without provenance | Details for ecodynalyze-2025.12.20201125.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ecodynalyze-2025.12.20201125-py3-none-any.whl | Python 3 | none | any | Details for ecodynalyze-2025.12.20201125-py3-none-any.whl |
Total release size: 11.7 kB
Release files / ecodynalyze-2025.12.20201125.tar.gz
| Download URL | ecodynalyze-2025.12.20201125.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66c0236bd53aeb5361ed9db5b1e482dac2074903cce1894d11ae35be09fc8152
|
|
BLAKE2b-256 checksum How to use checksums |
e6a701f831dc0a55703675ab1c007fefdfa5d6f89200f6d132784014d2144c52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / ecodynalyze-2025.12.20201125-py3-none-any.whl
| Download URL | ecodynalyze-2025.12.20201125-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b16bb3b98eaa1b9b677ff9094206ec9720a85a7403665b9308e9ad8007e0a67a
|
|
BLAKE2b-256 checksum How to use checksums |
c46c43c740a9c9f4533d6f584a523d63e2678b9c5ffc523ed3d2ee21e12fe5b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Security for ecodynalyze 2025.12.20201125
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.