EvoScientist 0.0.1.dev2__py3-none-any.whl → 0.0.1.dev4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: EvoScientist
3
- Version: 0.0.1.dev2
3
+ Version: 0.0.1.dev4
4
4
  Summary: EvoScientist: Towards Self-Evolving AI Scientists for End-to-End Scientific Discovery
5
5
  Author: Xi Zhang
6
6
  Maintainer: Xi Zhang
@@ -16,11 +16,14 @@ License-File: LICENSE
16
16
  Requires-Dist: deepagents>=0.3.6
17
17
  Requires-Dist: langchain>=1.2
18
18
  Requires-Dist: langchain-anthropic>=1.3
19
- Requires-Dist: anthropic>=0.76
19
+ Requires-Dist: langchain-openai>=0.3
20
+ Requires-Dist: langchain-nvidia-ai-endpoints>=0.3
20
21
  Requires-Dist: tavily-python>=0.7
21
22
  Requires-Dist: pyyaml>=6.0
22
23
  Requires-Dist: rich>=14.0
23
24
  Requires-Dist: prompt-toolkit>=3.0
25
+ Requires-Dist: questionary>=2.0.1
26
+ Requires-Dist: typer>=0.12
24
27
  Requires-Dist: python-dotenv>=1.0
25
28
  Requires-Dist: langgraph-cli[inmem]>=0.4
26
29
  Requires-Dist: httpx>=0.27
@@ -28,6 +31,8 @@ Requires-Dist: markdownify>=0.14
28
31
  Provides-Extra: dev
29
32
  Requires-Dist: pytest>=8.0; extra == "dev"
30
33
  Requires-Dist: pytest-cov>=5.0; extra == "dev"
34
+ Requires-Dist: ruff>=0.5; extra == "dev"
35
+ Requires-Dist: build>=1.0; extra == "dev"
31
36
  Dynamic: license-file
32
37
 
33
38
  <!-- Add logo here -->
@@ -60,7 +65,9 @@ Dynamic: license-file
60
65
 
61
66
 
62
67
  ## 📖 Contents
68
+ - [🤖 Supported Models](#-supported-models)
63
69
  - [⛏️ Installation](#️-installation)
70
+ - [🔑 API Key Configuration](#-api-key-configuration)
64
71
  - [⚡ Quick Start](#-quick-start)
65
72
  - [CLI Inference](#cli-inference)
66
73
  - [Script Inference](#script-inference)
@@ -71,6 +78,24 @@ Dynamic: license-file
71
78
  - [📦 Codebase Contributors](#-codebase-contributors)
72
79
  - [📜 License](#-license)
73
80
 
81
+ ## 🤖 Supported Models
82
+
83
+ | Provider | Short Name | Model ID |
84
+ |----------|-----------|----------|
85
+ | Anthropic | `claude-sonnet-4-5` | `claude-sonnet-4-5-20250929` |
86
+ | Anthropic | `claude-opus-4-5` | `claude-opus-4-5-20251101` |
87
+ | Anthropic | `claude-3-5-sonnet` | `claude-3-5-sonnet-20241022` |
88
+ | Anthropic | `claude-3-5-haiku` | `claude-3-5-haiku-20241022` |
89
+ | OpenAI | `gpt-4o` | `gpt-4o` |
90
+ | OpenAI | `gpt-4o-mini` | `gpt-4o-mini` |
91
+ | OpenAI | `o1` | `o1` |
92
+ | OpenAI | `o1-mini` | `o1-mini` |
93
+ | NVIDIA | `glm4.7` | `z-ai/glm4.7` |
94
+ | NVIDIA | `deepseek-v3.1` | `deepseek-ai/deepseek-v3.1-terminus` |
95
+ | NVIDIA | `nemotron-nano` | `nvidia/nemotron-3-nano-30b-a3b` |
96
+
97
+ You can also use any full model ID directly — the provider will be inferred automatically.
98
+
74
99
  ## ⛏️ Installation
75
100
 
76
101
  > [!TIP]
@@ -106,6 +131,56 @@ uv pip install -e .
106
131
 
107
132
  </details>
108
133
 
134
+ ## 🔑 API Key Configuration
135
+
136
+ EvoScientist requires API keys for LLM inference and web search. You can configure them in three ways:
137
+
138
+ ### Option A: Interactive Setup Wizard (Recommended)
139
+
140
+ ```Shell
141
+ EvoSci onboard
142
+ ```
143
+
144
+ The wizard guides you through selecting a provider, entering API keys, choosing a model, and configuring workspace settings. Keys are validated automatically.
145
+
146
+ ### Option B: Environment Variables (Global)
147
+
148
+ Set keys directly in your terminal session. Add these to your shell profile (`~/.bashrc`, `~/.zshrc`, etc.) to persist across sessions:
149
+
150
+ ```Shell
151
+ export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
152
+ export TAVILY_API_KEY="your_tavily_api_key_here"
153
+
154
+ # Optional: OpenAI or NVIDIA provider
155
+ export OPENAI_API_KEY="your_openai_api_key_here"
156
+ export NVIDIA_API_KEY="your_nvidia_api_key_here"
157
+ ```
158
+
159
+ ### Option C: `.env` File (Project-level)
160
+
161
+ Create a `.env` file in the project root. This keeps keys scoped to the project and out of your shell history:
162
+
163
+ ```Shell
164
+ cp .env.example .env
165
+ ```
166
+
167
+ Then edit `.env` and fill in your keys:
168
+
169
+ ```
170
+ ANTHROPIC_API_KEY=your_anthropic_api_key_here
171
+ TAVILY_API_KEY=your_tavily_api_key_here
172
+ ```
173
+
174
+ > [!WARNING]
175
+ > Never commit `.env` files containing real API keys to version control. The `.env` file is already included in `.gitignore`.
176
+
177
+ | Key | Required | Description |
178
+ |-----|----------|-------------|
179
+ | `ANTHROPIC_API_KEY` | For Anthropic | Anthropic API key for Claude ([console.anthropic.com](https://console.anthropic.com/)) |
180
+ | `OPENAI_API_KEY` | For OpenAI | OpenAI API key for GPT models ([platform.openai.com](https://platform.openai.com/)) |
181
+ | `NVIDIA_API_KEY` | For NVIDIA | NVIDIA API key for NIM models ([build.nvidia.com](https://build.nvidia.com/)) |
182
+ | `TAVILY_API_KEY` | Yes | Tavily API key for web search ([app.tavily.com](https://app.tavily.com/)) |
183
+
109
184
  ## ⚡ Quick Start
110
185
 
111
186
  ### CLI Inference
@@ -120,9 +195,74 @@ or
120
195
  ```Shell
121
196
  EvoSci # or EvoScientist
122
197
  ```
123
- **Optional arguments:**
198
+ **Optional arguments:**
124
199
 
125
- > TODO
200
+ ```
201
+ --mode <mode> Workspace mode: 'daemon' (persistent) or 'run' (isolated per-session)
202
+ --workdir <path> Override workspace directory for this session
203
+ --use-cwd Use current working directory as workspace
204
+ --thread-id <id> Resume a conversation thread
205
+ --no-thinking Disable thinking display
206
+ -p, --prompt <q> Single-shot mode: execute query and exit
207
+ ```
208
+
209
+ **Configuration commands:**
210
+
211
+ ```Shell
212
+ EvoSci onboard # Interactive setup wizard
213
+ EvoSci onboard --skip-validation # Skip API key validation
214
+ EvoSci config # List all configuration values
215
+ EvoSci config get <key> # Get a single value
216
+ EvoSci config set <key> <val> # Set a single value
217
+ EvoSci config reset --yes # Reset to defaults
218
+ EvoSci config path # Show config file path
219
+ ```
220
+
221
+ **Interactive Commands:**
222
+
223
+ | Command | Description |
224
+ |---------|-------------|
225
+ | `/exit` | Quit the session |
226
+ | `/new` | Start a new session (new workspace + thread) |
227
+ | `/thread` | Show current thread ID and workspace path |
228
+ | `/skills` | List installed user skills |
229
+ | `/install-skill <source>` | Install a skill from local path or GitHub |
230
+ | `/uninstall-skill <name>` | Uninstall a user-installed skill |
231
+
232
+ **Skill Installation Examples:**
233
+
234
+ ```bash
235
+ # Install from local path
236
+ /install-skill ./my-skill
237
+
238
+ # Install from GitHub URL
239
+ /install-skill https://github.com/owner/repo/tree/main/skill-name
240
+
241
+ # Install from GitHub shorthand
242
+ /install-skill owner/repo@skill-name
243
+ ```
244
+
245
+ ### Runtime Directories
246
+
247
+ By default, the **workspace** is created under the current directory:
248
+
249
+ ```
250
+ ./workspace/
251
+ memory/ # shared MEMORY.md (persistent across sessions)
252
+ skills/ # user-installed skills
253
+ runs/ # per-session workspaces
254
+ ```
255
+
256
+ You can force workspace to be the current directory via `--use-cwd`.
257
+
258
+ Override individual paths via environment variables:
259
+
260
+ | Variable | Default | Description |
261
+ |----------|---------|-------------|
262
+ | `EVOSCIENTIST_WORKSPACE_DIR` | `./workspace` | Root workspace directory |
263
+ | `EVOSCIENTIST_RUNS_DIR` | `./workspace/runs` | Per-session run directories |
264
+ | `EVOSCIENTIST_MEMORY_DIR` | `./workspace/memory` | Shared memory storage |
265
+ | `EVOSCIENTIST_SKILLS_DIR` | `./workspace/skills` | User-installed skills |
126
266
 
127
267
  ### Script Inference
128
268
  ```python
@@ -1,13 +1,20 @@
1
- EvoScientist/EvoScientist.py,sha256=k7iMQUDR6AB37k8z6n84hRQunLbWAwr43e8VJhG-hpI,4806
2
- EvoScientist/__init__.py,sha256=yj4YJUPldtq4xx8geadIoZ1n-BmgsM2Z_S2W8ld9S1k,702
1
+ EvoScientist/EvoScientist.py,sha256=qhiCOOZvH6cmjLiKRMvfr74xJM7x-dZrrRoX9xrfLtQ,6053
2
+ EvoScientist/__init__.py,sha256=BN8yi3iCIaq2gNfKORrI9OvMq49a2LrYWgEqW86vYLw,1120
3
3
  EvoScientist/__main__.py,sha256=P5USQ_BiiY0TBhtajGMuX5AMXlQ5joz1kvljHeacqmA,91
4
4
  EvoScientist/backends.py,sha256=3fIYRdOecL-KZx2hSNolsLO-2_rMzey-NpVMDMN701U,13355
5
- EvoScientist/cli.py,sha256=-7iL6NUjW5CmLKx1BLd0d-Y2DtcXPcoMOCdOgA6X-_E,59946
6
- EvoScientist/middleware.py,sha256=xHpqmru32osSBeQ43ZCn-8obgnheWekaTgE3TGa_1nQ,1044
5
+ EvoScientist/cli.py,sha256=5y_yTBhLnXxI5JVFawcYbsbDEWMED_t2-X4LVbT24kY,25978
6
+ EvoScientist/config.py,sha256=rXD_qlrTxP3HLH7H6DxvqKP4WwymyrzRyS8665igd6k,8649
7
+ EvoScientist/memory.py,sha256=ZgITkiLezjAeo9z12UWRZurE1hZU7ehF-SAKrchPIEs,26475
8
+ EvoScientist/middleware.py,sha256=hBHov8wFhe-AS-C84BFRDgikl5q8Xb9AMU4FfNxs9Jg,2620
9
+ EvoScientist/onboard.py,sha256=x6THI4ryTMTBQBb90JRFhcZmPsc970yh77_VCuNqwm8,22200
10
+ EvoScientist/paths.py,sha256=r3u632RJXfl8KPVhWBwVKPx9zFbvj1CZCIf7NeFBja4,1346
7
11
  EvoScientist/prompts.py,sha256=ni-qHoEoM703xtfD4J3IlvwAWPcW8gcNiCBVjRJoy3g,10692
12
+ EvoScientist/skills_manager.py,sha256=r1ZCnZkFij-uRwj09FmT67VFR5eRgd3ynzKWmykQJeI,12205
8
13
  EvoScientist/subagent.yaml,sha256=yoFlMJWitLlYuOe4_44EPG6vjpNP_txHBlqr-kNX2GM,6130
9
- EvoScientist/tools.py,sha256=oYaJN8tl_NCw6PLFFNRZbjPB9-VriVcpVb6Zp-d_xVQ,4223
14
+ EvoScientist/tools.py,sha256=7rCq3Sy74qAKEKnttvy9H7-LB8moXeYK0h7xRJnZJGk,6772
10
15
  EvoScientist/utils.py,sha256=GuWMRMkPHYgUOtoPZA0ErIt4FUBE4NMkz_OZluxYyRo,6801
16
+ EvoScientist/llm/__init__.py,sha256=A3nQPKGP6qqh2K72_NZlUozNNwfD4jcEMyBerne9IGc,363
17
+ EvoScientist/llm/models.py,sha256=3AhHG__OLbnQlgB3kIM3Ejf9kU2Cv6rDzc7uT5eKzYk,3335
11
18
  EvoScientist/skills/accelerate/SKILL.md,sha256=Ju_xLlGW3bZBWQO_8FWThkP155jE2atq9Ww0Zn8XwEs,8328
12
19
  EvoScientist/skills/accelerate/references/custom-plugins.md,sha256=Gy8c9dcKFV93ksrRKkZr5DFbeH_iHgGzbTK_N0aTwCA,11781
13
20
  EvoScientist/skills/accelerate/references/megatron-integration.md,sha256=ad7cw8eMGX3vqGUxQSVBuWpiQJDAr9eHqWfPhlEXJz0,11252
@@ -94,14 +101,17 @@ EvoScientist/skills/skill-creator/references/workflows.md,sha256=70hGh31dq0dRGgG
94
101
  EvoScientist/skills/skill-creator/scripts/init_skill.py,sha256=C7olC5TKpMsrKLFdrSb9zzca7aTJeXuBIOVcLjPgxzw,10863
95
102
  EvoScientist/skills/skill-creator/scripts/package_skill.py,sha256=sx-8s-Ni1cUwjpklX_joPN46UT4GNpU5ZKZISUyhCTE,3288
96
103
  EvoScientist/skills/skill-creator/scripts/quick_validate.py,sha256=OBqy09H9XsMjcQFkEwY-_5nQ1IxBV0cIXGFRfpZ9u4c,3523
97
- EvoScientist/stream/__init__.py,sha256=cO30Ujs7mVB1pZjI0AXgaggmPeV6jXgBjt6AKYH42kQ,1219
104
+ EvoScientist/stream/__init__.py,sha256=_mdc88i75D3qlfuIBWpNm4-W5xMYIvM39vERgb53Bkk,1933
105
+ EvoScientist/stream/display.py,sha256=jCyohjfulwgyV-gOa5g5HXsepNLNLjdMdfQE9bt1-ZA,22565
98
106
  EvoScientist/stream/emitter.py,sha256=zmdn8vIXNgkgoWRtanrMtPN2GlsHmZtdFmoqCry3o_o,2978
107
+ EvoScientist/stream/events.py,sha256=dSnHsDGl_HEBbfmQYv40YZVR-RDZPLZFsjlwmO46ch4,17251
99
108
  EvoScientist/stream/formatter.py,sha256=vyv89NGoTzxjsWt0teBXX38MZzFLhzMDBUcIH6-slDo,5532
109
+ EvoScientist/stream/state.py,sha256=RX7JOBJLYXu7tdtDx71QR2U8JDHHTsB4GM877z9UKLM,12961
100
110
  EvoScientist/stream/tracker.py,sha256=cVWmiTCiwzOh84I7sAXXfgr_HXxOCCCzTvli-XJhthQ,3670
101
- EvoScientist/stream/utils.py,sha256=36e5aaEZVpwTZnqO1qlVs2QTr04JbmWuvHMSbor49xM,7278
102
- evoscientist-0.0.1.dev2.dist-info/licenses/LICENSE,sha256=NsYFy5JSm90lmXcPNQuthVTCVaVcbT4XZ9h5HpAoGIo,1069
103
- evoscientist-0.0.1.dev2.dist-info/METADATA,sha256=kAPIhFnqM-VoqTJUDDDHOdGoRjA-vDY4lh_W52EkFJE,8797
104
- evoscientist-0.0.1.dev2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
105
- evoscientist-0.0.1.dev2.dist-info/entry_points.txt,sha256=mGxz9_-jfGhwkdiiVGTQ9IQEhzLixWJoPNU39_boWMM,154
106
- evoscientist-0.0.1.dev2.dist-info/top_level.txt,sha256=XBZouSd9lQfNn0Fus6jQb9nqdXzAbKyzh987Jt3A2-A,13
107
- evoscientist-0.0.1.dev2.dist-info/RECORD,,
111
+ EvoScientist/stream/utils.py,sha256=yQXhPIzOYzpNUUyDvkQDv1K-Yo0ePkXMtU7fHhRoG64,7718
112
+ evoscientist-0.0.1.dev4.dist-info/licenses/LICENSE,sha256=NsYFy5JSm90lmXcPNQuthVTCVaVcbT4XZ9h5HpAoGIo,1069
113
+ evoscientist-0.0.1.dev4.dist-info/METADATA,sha256=Hi6nET3VH8m2uv_JIcCNrQZJz4jL1OfbMd6jM5tGEY0,13901
114
+ evoscientist-0.0.1.dev4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
115
+ evoscientist-0.0.1.dev4.dist-info/entry_points.txt,sha256=mGxz9_-jfGhwkdiiVGTQ9IQEhzLixWJoPNU39_boWMM,154
116
+ evoscientist-0.0.1.dev4.dist-info/top_level.txt,sha256=XBZouSd9lQfNn0Fus6jQb9nqdXzAbKyzh987Jt3A2-A,13
117
+ evoscientist-0.0.1.dev4.dist-info/RECORD,,