cleanup cli and rename project and add copyright notice of the predecessor project
This commit is contained in:
parent
167e53a86e
commit
8d1e7afe69
|
|
@ -1,6 +1,8 @@
|
|||
# Configuration Guide
|
||||
|
||||
TradingAgents supports configuration through multiple methods with the following priority:
|
||||
**Copyright Notice:** Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
|
||||
Litadel supports configuration through multiple methods with the following priority:
|
||||
|
||||
**Priority (highest to lowest):**
|
||||
1. Environment variables
|
||||
|
|
@ -200,7 +202,7 @@ The `→` lines show values being used from your config, skipping the prompts!
|
|||
## Troubleshooting
|
||||
|
||||
**CLI still prompts for everything:**
|
||||
- Check that `config.ini` exists in the TradingAgents directory
|
||||
- Check that `config.ini` exists in the Litadel directory
|
||||
- Verify the file has the correct structure (see `config.example.ini`)
|
||||
- Check for typos in section names and keys
|
||||
|
||||
|
|
|
|||
53
README.md
53
README.md
|
|
@ -1,5 +1,5 @@
|
|||
<p align="center">
|
||||
<img src="assets/TauricResearch.png" style="width: 60%; height: auto;">
|
||||
<img src="assets/litadel.png" style="width: 60%; height: auto;">
|
||||
</p>
|
||||
|
||||
<div align="center" style="line-height: 1;">
|
||||
|
|
@ -25,37 +25,29 @@
|
|||
|
||||
---
|
||||
|
||||
# TradingAgents: Multi-Agents LLM Financial Trading Framework
|
||||
# Litadel: Multi-Agents LLM Financial Trading Framework
|
||||
|
||||
> 🎉 **TradingAgents** officially released! We have received numerous inquiries about the work, and we would like to express our thanks for the enthusiasm in our community.
|
||||
> **Copyright Notice:** Litadel is a successor of TradingAgents by TaurusResearch. This project builds upon and extends the original TradingAgents framework.
|
||||
>
|
||||
> 🎉 **Litadel** officially released! We have received numerous inquiries about the work, and we would like to express our thanks for the enthusiasm in our community.
|
||||
>
|
||||
> So we decided to fully open-source the framework. Looking forward to building impactful projects with you!
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.star-history.com/#TauricResearch/TradingAgents&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=TauricResearch/TradingAgents&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=TauricResearch/TradingAgents&type=Date" />
|
||||
<img alt="TradingAgents Star History" src="https://api.star-history.com/svg?repos=TauricResearch/TradingAgents&type=Date" style="width: 80%; height: auto;" />
|
||||
</picture>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
🚀 [TradingAgents](#tradingagents-framework) | ⚡ [Installation & CLI](#installation-and-cli) | 🎬 [Demo](https://www.youtube.com/watch?v=90gr5lwjIho) | 📦 [Package Usage](#tradingagents-package) | 🤝 [Contributing](#contributing) | 📄 [Citation](#citation)
|
||||
🚀 [Litadel](#litadel-framework) | ⚡ [Installation & CLI](#installation-and-cli) | 🎬 [Demo](https://www.youtube.com/watch?v=90gr5lwjIho) | 📦 [Package Usage](#litadel-package) | 🤝 [Contributing](#contributing) | 📄 [Citation](#citation)
|
||||
|
||||
</div>
|
||||
|
||||
## TradingAgents Framework
|
||||
## Litadel Framework
|
||||
|
||||
TradingAgents is a multi-agent trading framework that mirrors the dynamics of real-world trading firms. By deploying specialized LLM-powered agents: from fundamental analysts, sentiment experts, and technical analysts, to trader, risk management team, the platform collaboratively evaluates market conditions and informs trading decisions. Moreover, these agents engage in dynamic discussions to pinpoint the optimal strategy.
|
||||
Litadel is a multi-agent trading framework that mirrors the dynamics of real-world trading firms. By deploying specialized LLM-powered agents: from fundamental analysts, sentiment experts, and technical analysts, to trader, risk management team, the platform collaboratively evaluates market conditions and informs trading decisions. Moreover, these agents engage in dynamic discussions to pinpoint the optimal strategy.
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/schema.png" style="width: 100%; height: auto;">
|
||||
</p>
|
||||
|
||||
> TradingAgents framework is designed for research purposes. Trading performance may vary based on many factors, including the chosen backbone language models, model temperature, trading periods, the quality of data, and other non-deterministic factors. [It is not intended as financial, investment, or trading advice.](https://tauric.ai/disclaimer/)
|
||||
> Litadel framework is designed for research purposes. Trading performance may vary based on many factors, including the chosen backbone language models, model temperature, trading periods, the quality of data, and other non-deterministic factors. [It is not intended as financial, investment, or trading advice.](https://tauric.ai/disclaimer/)
|
||||
|
||||
Our framework decomposes complex trading tasks into specialized roles. This ensures the system achieves a robust, scalable approach to market analysis and decision-making.
|
||||
|
||||
|
|
@ -95,16 +87,16 @@ Our framework decomposes complex trading tasks into specialized roles. This ensu
|
|||
|
||||
### Installation
|
||||
|
||||
Clone TradingAgents:
|
||||
Clone Litadel:
|
||||
```bash
|
||||
git clone https://github.com/TauricResearch/TradingAgents.git
|
||||
cd TradingAgents
|
||||
git clone https://github.com/TauricResearch/Litadel.git
|
||||
cd Litadel
|
||||
```
|
||||
|
||||
Create a virtual environment in any of your favorite environment managers:
|
||||
```bash
|
||||
conda create -n tradingagents python=3.13
|
||||
conda activate tradingagents
|
||||
conda create -n litadel python=3.13
|
||||
conda activate litadel
|
||||
```
|
||||
|
||||
Install dependencies:
|
||||
|
|
@ -127,7 +119,7 @@ cp .env.example .env
|
|||
# Edit .env with your actual API keys
|
||||
```
|
||||
|
||||
**Note:** We are happy to partner with Alpha Vantage to provide robust API support for TradingAgents. You can get a free AlphaVantage API [here](https://www.alphavantage.co/support/#api-key), TradingAgents-sourced requests also have increased rate limits to 60 requests per minute with no daily limits. Typically the quota is sufficient for performing complex tasks with TradingAgents thanks to Alpha Vantage’s open-source support program. If you prefer to use OpenAI for these data sources instead, you can modify the data vendor settings in `tradingagents/default_config.py`.
|
||||
**Note:** We are happy to partner with Alpha Vantage to provide robust API support for Litadel. You can get a free AlphaVantage API [here](https://www.alphavantage.co/support/#api-key), Litadel-sourced requests also have increased rate limits to 60 requests per minute with no daily limits. Typically the quota is sufficient for performing complex tasks with Litadel thanks to Alpha Vantage's open-source support program. If you prefer to use OpenAI for these data sources instead, you can modify the data vendor settings in `tradingagents/default_config.py`.
|
||||
|
||||
### CLI Usage
|
||||
|
||||
|
|
@ -151,15 +143,15 @@ An interface will appear showing results as they load, letting you track the age
|
|||
<img src="assets/cli/cli_transaction.png" width="100%" style="display: inline-block; margin: 0 2%;">
|
||||
</p>
|
||||
|
||||
## TradingAgents Package
|
||||
## Litadel Package
|
||||
|
||||
### Implementation Details
|
||||
|
||||
We built TradingAgents with LangGraph to ensure flexibility and modularity. We utilize `o1-preview` and `gpt-4o` as our deep thinking and fast thinking LLMs for our experiments. However, for testing purposes, we recommend you use `o4-mini` and `gpt-4.1-mini` to save on costs as our framework makes **lots of** API calls.
|
||||
We built Litadel with LangGraph to ensure flexibility and modularity. We utilize `o1-preview` and `gpt-4o` as our deep thinking and fast thinking LLMs for our experiments. However, for testing purposes, we recommend you use `o4-mini` and `gpt-4.1-mini` to save on costs as our framework makes **lots of** API calls.
|
||||
|
||||
### Python Usage
|
||||
|
||||
To use TradingAgents inside your code, you can import the `tradingagents` module and initialize a `TradingAgentsGraph()` object. The `.propagate()` function will return a decision. You can run `main.py`, here's also a quick example:
|
||||
To use Litadel inside your code, you can import the `tradingagents` module and initialize a `TradingAgentsGraph()` object. The `.propagate()` function will return a decision. You can run `main.py`, here's also a quick example:
|
||||
|
||||
```python
|
||||
from tradingagents.graph.trading_graph import TradingAgentsGraph
|
||||
|
|
@ -204,13 +196,20 @@ print(decision)
|
|||
|
||||
You can view the full list of configurations in `tradingagents/default_config.py`.
|
||||
|
||||
## Roadmap
|
||||
|
||||
### Upcoming Improvements
|
||||
- [ ] **Switch from LangChain/LangGraph to OpenAI Agents SDK** - For better maintainability and parallelization
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome contributions from the community! Whether it's fixing a bug, improving documentation, or suggesting a new feature, your input helps make this project better. If you are interested in this line of research, please consider joining our open-source financial AI research community [Tauric Research](https://tauric.ai/).
|
||||
|
||||
## Citation
|
||||
|
||||
Please reference our work if you find *TradingAgents* provides you with some help :)
|
||||
Please reference our work if you find *Litadel* provides you with some help :)
|
||||
|
||||
Original TradingAgents citation:
|
||||
|
||||
```
|
||||
@misc{xiao2025tradingagentsmultiagentsllmfinancial,
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 62 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
|
|
@ -1,4 +1,4 @@
|
|||
"""File handling and logging decorators for the TradingAgents CLI."""
|
||||
"""File handling and logging decorators for the Litadel CLI."""
|
||||
|
||||
from functools import wraps
|
||||
from pathlib import Path
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
"""LLM provider and model configuration data for the TradingAgents CLI."""
|
||||
"""LLM provider and model configuration data for the Litadel CLI."""
|
||||
|
||||
# LLM provider base URLs
|
||||
LLM_PROVIDERS = [
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ from cli.stream_processor import process_chunk
|
|||
console = Console()
|
||||
|
||||
app = typer.Typer(
|
||||
name="TradingAgents",
|
||||
help="TradingAgents CLI: Multi-Agents LLM Financial Trading Framework",
|
||||
name="Litadel",
|
||||
help="Litadel CLI: Multi-Agents LLM Financial Trading Framework (successor of TradingAgents)",
|
||||
add_completion=True, # Enable shell completion
|
||||
)
|
||||
|
||||
|
|
@ -59,7 +59,8 @@ def get_user_selections():
|
|||
|
||||
# Create welcome box content
|
||||
welcome_content = f"{welcome_ascii}\n"
|
||||
welcome_content += "[bold green]TradingAgents: Multi-Agents LLM Financial Trading Framework - CLI[/bold green]\n\n"
|
||||
welcome_content += "[bold green]Litadel: Multi-Agents LLM Financial Trading Framework - CLI[/bold green]\n\n"
|
||||
welcome_content += "[dim]Successor of TradingAgents by TaurusResearch[/dim]\n\n"
|
||||
welcome_content += "[bold]Workflow Steps:[/bold]\n"
|
||||
welcome_content += "I. Analyst Team → II. Research Team → III. Trader → IV. Risk Management → V. Portfolio Management\n\n"
|
||||
welcome_content += (
|
||||
|
|
@ -71,7 +72,7 @@ def get_user_selections():
|
|||
welcome_content,
|
||||
border_style="green",
|
||||
padding=(1, 2),
|
||||
title="Welcome to TradingAgents",
|
||||
title="Welcome to Litadel",
|
||||
subtitle="Multi-Agents LLM Financial Trading Framework",
|
||||
)
|
||||
console.print(Align.center(welcome_box))
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
"""Interactive user prompts for the TradingAgents CLI."""
|
||||
"""Interactive user prompts for the Litadel CLI."""
|
||||
|
||||
import questionary
|
||||
from typing import List, Optional, Tuple, Dict
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
"""Report display functions for the TradingAgents CLI."""
|
||||
"""Report display functions for the Litadel CLI."""
|
||||
|
||||
from rich.console import Console
|
||||
from rich.panel import Panel
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
"""Stream processing logic for handling agent analysis chunks in the TradingAgents CLI."""
|
||||
"""Stream processing logic for handling agent analysis chunks in the Litadel CLI."""
|
||||
|
||||
from cli.helpers import extract_content_string, update_research_team_status
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
"""UI display functions for the TradingAgents CLI using Rich library."""
|
||||
"""UI display functions for the Litadel CLI using Rich library."""
|
||||
|
||||
from rich.panel import Panel
|
||||
from rich.spinner import Spinner
|
||||
|
|
@ -30,9 +30,9 @@ def update_display(layout, message_buffer, spinner_text=None):
|
|||
# Header with welcome message
|
||||
layout["header"].update(
|
||||
Panel(
|
||||
"[bold green]Welcome to TradingAgents CLI[/bold green]\n"
|
||||
"[bold green]Welcome to Litadel CLI[/bold green]\n"
|
||||
"[dim]© [Tauric Research](https://github.com/TauricResearch)[/dim]",
|
||||
title="Welcome to TradingAgents",
|
||||
title="Welcome to Litadel",
|
||||
border_style="green",
|
||||
padding=(1, 2),
|
||||
expand=True,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
# TradingAgents Configuration
|
||||
# Litadel Configuration
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch
|
||||
# Copy this file to config.ini and customize your settings
|
||||
|
||||
[llm]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
[project]
|
||||
name = "tradingagents"
|
||||
name = "litadel"
|
||||
version = "0.1.0"
|
||||
description = "Add your description here"
|
||||
description = "Multi-Agents LLM Financial Trading Framework (successor of TradingAgents by TaurusResearch)"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
dependencies = [
|
||||
|
|
|
|||
13
setup.py
13
setup.py
|
|
@ -1,14 +1,17 @@
|
|||
"""
|
||||
Setup script for the TradingAgents package.
|
||||
Setup script for the Litadel package.
|
||||
|
||||
Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
This project builds upon and extends the original TradingAgents framework.
|
||||
"""
|
||||
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="tradingagents",
|
||||
name="litadel",
|
||||
version="0.1.0",
|
||||
description="Multi-Agents LLM Financial Trading Framework",
|
||||
author="TradingAgents Team",
|
||||
description="Multi-Agents LLM Financial Trading Framework (successor of TradingAgents)",
|
||||
author="Litadel Team",
|
||||
author_email="yijia.xiao@cs.ucla.edu",
|
||||
url="https://github.com/TauricResearch",
|
||||
packages=find_packages(),
|
||||
|
|
@ -29,7 +32,7 @@ setup(
|
|||
python_requires=">=3.10",
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
"tradingagents=cli.main:app",
|
||||
"litadel=cli.main:app",
|
||||
],
|
||||
},
|
||||
classifiers=[
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# TradingAgents/graph/__init__.py
|
||||
# Litadel/graph/__init__.py
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
# This project builds upon and extends the original TradingAgents framework.
|
||||
|
||||
from .trading_graph import TradingAgentsGraph
|
||||
from .conditional_logic import ConditionalLogic
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# TradingAgents/graph/propagation.py
|
||||
# Litadel/graph/propagation.py
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
# This project builds upon and extends the original TradingAgents framework.
|
||||
|
||||
from typing import Dict, Any
|
||||
from tradingagents.agents.utils.agent_states import (
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# TradingAgents/graph/reflection.py
|
||||
# Litadel/graph/reflection.py
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
# This project builds upon and extends the original TradingAgents framework.
|
||||
|
||||
from typing import Dict, Any
|
||||
from langchain_openai import ChatOpenAI
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# TradingAgents/graph/setup.py
|
||||
# Litadel/graph/setup.py
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
# This project builds upon and extends the original TradingAgents framework.
|
||||
|
||||
from typing import Dict, Any
|
||||
from langchain_openai import ChatOpenAI
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# TradingAgents/graph/signal_processing.py
|
||||
# Litadel/graph/signal_processing.py
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
# This project builds upon and extends the original TradingAgents framework.
|
||||
|
||||
from langchain_openai import ChatOpenAI
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# TradingAgents/graph/trading_graph.py
|
||||
# Litadel/graph/trading_graph.py
|
||||
# Copyright Notice: Litadel is a successor of TradingAgents by TaurusResearch.
|
||||
# This project builds upon and extends the original TradingAgents framework.
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
|
|
|||
132
uv.lock
132
uv.lock
|
|
@ -1,5 +1,5 @@
|
|||
version = 1
|
||||
revision = 3
|
||||
revision = 2
|
||||
requires-python = ">=3.10"
|
||||
resolution-markers = [
|
||||
"python_full_version >= '3.13'",
|
||||
|
|
@ -1951,6 +1951,71 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/03/a5/866b44697cee47d1cae429ed370281d937ad4439f71af82a6baaa139d26a/Lazify-0.4.0-py2.py3-none-any.whl", hash = "sha256:c2c17a7a33e9406897e3f66fde4cd3f84716218d580330e5af10cfe5a0cd195a", size = 3107, upload-time = "2018-06-14T13:12:22.273Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "litadel"
|
||||
version = "0.1.0"
|
||||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "akshare" },
|
||||
{ name = "backtrader" },
|
||||
{ name = "chainlit" },
|
||||
{ name = "chromadb" },
|
||||
{ name = "eodhd" },
|
||||
{ name = "feedparser" },
|
||||
{ name = "finnhub-python" },
|
||||
{ name = "grip" },
|
||||
{ name = "langchain-anthropic" },
|
||||
{ name = "langchain-experimental" },
|
||||
{ name = "langchain-google-genai" },
|
||||
{ name = "langchain-openai" },
|
||||
{ name = "langgraph" },
|
||||
{ name = "pandas" },
|
||||
{ name = "parsel" },
|
||||
{ name = "praw" },
|
||||
{ name = "pytz" },
|
||||
{ name = "questionary" },
|
||||
{ name = "redis" },
|
||||
{ name = "requests" },
|
||||
{ name = "rich" },
|
||||
{ name = "setuptools" },
|
||||
{ name = "stockstats" },
|
||||
{ name = "tqdm" },
|
||||
{ name = "tushare" },
|
||||
{ name = "typing-extensions" },
|
||||
{ name = "yfinance" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "akshare", specifier = ">=1.16.98" },
|
||||
{ name = "backtrader", specifier = ">=1.9.78.123" },
|
||||
{ name = "chainlit", specifier = ">=2.5.5" },
|
||||
{ name = "chromadb", specifier = ">=1.0.12" },
|
||||
{ name = "eodhd", specifier = ">=1.0.32" },
|
||||
{ name = "feedparser", specifier = ">=6.0.11" },
|
||||
{ name = "finnhub-python", specifier = ">=2.4.23" },
|
||||
{ name = "grip", specifier = ">=4.6.2" },
|
||||
{ name = "langchain-anthropic", specifier = ">=0.3.15" },
|
||||
{ name = "langchain-experimental", specifier = ">=0.3.4" },
|
||||
{ name = "langchain-google-genai", specifier = ">=2.1.5" },
|
||||
{ name = "langchain-openai", specifier = ">=0.3.23" },
|
||||
{ name = "langgraph", specifier = ">=0.4.8" },
|
||||
{ name = "pandas", specifier = ">=2.3.0" },
|
||||
{ name = "parsel", specifier = ">=1.10.0" },
|
||||
{ name = "praw", specifier = ">=7.8.1" },
|
||||
{ name = "pytz", specifier = ">=2025.2" },
|
||||
{ name = "questionary", specifier = ">=2.1.0" },
|
||||
{ name = "redis", specifier = ">=6.2.0" },
|
||||
{ name = "requests", specifier = ">=2.32.4" },
|
||||
{ name = "rich", specifier = ">=14.0.0" },
|
||||
{ name = "setuptools", specifier = ">=80.9.0" },
|
||||
{ name = "stockstats", specifier = ">=0.6.5" },
|
||||
{ name = "tqdm", specifier = ">=4.67.1" },
|
||||
{ name = "tushare", specifier = ">=1.4.21" },
|
||||
{ name = "typing-extensions", specifier = ">=4.14.0" },
|
||||
{ name = "yfinance", specifier = ">=0.2.63" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "literalai"
|
||||
version = "0.1.201"
|
||||
|
|
@ -4762,71 +4827,6 @@ wheels = [
|
|||
{ url = "https://files.pythonhosted.org/packages/67/53/d840eff3b6cc64f40f115b8de9a17a100973be3679f14b66056ab5a4615e/traceloop_sdk-0.40.9-py3-none-any.whl", hash = "sha256:c061a278f40062986379bc2df76635cb545c3f81301f6b38d51b3a6f9c288f54", size = 31486, upload-time = "2025-06-10T09:55:57.458Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tradingagents"
|
||||
version = "0.1.0"
|
||||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
{ name = "akshare" },
|
||||
{ name = "backtrader" },
|
||||
{ name = "chainlit" },
|
||||
{ name = "chromadb" },
|
||||
{ name = "eodhd" },
|
||||
{ name = "feedparser" },
|
||||
{ name = "finnhub-python" },
|
||||
{ name = "grip" },
|
||||
{ name = "langchain-anthropic" },
|
||||
{ name = "langchain-experimental" },
|
||||
{ name = "langchain-google-genai" },
|
||||
{ name = "langchain-openai" },
|
||||
{ name = "langgraph" },
|
||||
{ name = "pandas" },
|
||||
{ name = "parsel" },
|
||||
{ name = "praw" },
|
||||
{ name = "pytz" },
|
||||
{ name = "questionary" },
|
||||
{ name = "redis" },
|
||||
{ name = "requests" },
|
||||
{ name = "rich" },
|
||||
{ name = "setuptools" },
|
||||
{ name = "stockstats" },
|
||||
{ name = "tqdm" },
|
||||
{ name = "tushare" },
|
||||
{ name = "typing-extensions" },
|
||||
{ name = "yfinance" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "akshare", specifier = ">=1.16.98" },
|
||||
{ name = "backtrader", specifier = ">=1.9.78.123" },
|
||||
{ name = "chainlit", specifier = ">=2.5.5" },
|
||||
{ name = "chromadb", specifier = ">=1.0.12" },
|
||||
{ name = "eodhd", specifier = ">=1.0.32" },
|
||||
{ name = "feedparser", specifier = ">=6.0.11" },
|
||||
{ name = "finnhub-python", specifier = ">=2.4.23" },
|
||||
{ name = "grip", specifier = ">=4.6.2" },
|
||||
{ name = "langchain-anthropic", specifier = ">=0.3.15" },
|
||||
{ name = "langchain-experimental", specifier = ">=0.3.4" },
|
||||
{ name = "langchain-google-genai", specifier = ">=2.1.5" },
|
||||
{ name = "langchain-openai", specifier = ">=0.3.23" },
|
||||
{ name = "langgraph", specifier = ">=0.4.8" },
|
||||
{ name = "pandas", specifier = ">=2.3.0" },
|
||||
{ name = "parsel", specifier = ">=1.10.0" },
|
||||
{ name = "praw", specifier = ">=7.8.1" },
|
||||
{ name = "pytz", specifier = ">=2025.2" },
|
||||
{ name = "questionary", specifier = ">=2.1.0" },
|
||||
{ name = "redis", specifier = ">=6.2.0" },
|
||||
{ name = "requests", specifier = ">=2.32.4" },
|
||||
{ name = "rich", specifier = ">=14.0.0" },
|
||||
{ name = "setuptools", specifier = ">=80.9.0" },
|
||||
{ name = "stockstats", specifier = ">=0.6.5" },
|
||||
{ name = "tqdm", specifier = ">=4.67.1" },
|
||||
{ name = "tushare", specifier = ">=1.4.21" },
|
||||
{ name = "typing-extensions", specifier = ">=4.14.0" },
|
||||
{ name = "yfinance", specifier = ">=0.2.63" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tushare"
|
||||
version = "1.4.21"
|
||||
|
|
|
|||
Loading…
Reference in New Issue