File size: 2,329 Bytes
978fed5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "scider"
version = "0.1.0"
description = "Scientific Data-centric End-to-end Researcher"
keywords = ["scientific research", "data-centric", "end-to-end", "AI assistant", "autonomous research"]
authors = [
    { name = "Ke Lin", email = "leonard.keilin@gmail.com" },
    { name = "Yilin Lu", email = "lu000661@umn.edu" }
]
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "beautifulsoup4>=4.14.2",
    "claude-agent-sdk>=0.1.33",
    "feedparser>=6.0.12",
    "huggingface-hub>=0.32.0",
    "filetype>=1.2.0",
    "jinja2>=3.1.6",
    "json-repair>=0.53.0",
    "langgraph>=1.0.2",
    "litellm>=1.79.0,<1.80.0",
    "loguru>=0.7.3",
    "numpy>=2.3.4",
    "pandas>=2.3.3",
    "pillow>=12.0.0",
    "pydantic>=2.12.3",
    "pyfunctional>=1.5.0",
    "python-toon>=0.1.2",
    "pyyaml>=6.0.3",
    "rich>=14.2.0",
    "tiktoken>=0.12.0",
    "ddgs>=9.13.0",
    "matplotlib>=3.10.8",
]

[dependency-groups]
dev = [
    "jupyterlab>=4.4.10",
    "pytest>=8.0.0",
]

[project.optional-dependencies]
cpu = [
    "torch>=2.9.0",
    "torchvision",
]
cu128 = [
    "torch>=2.9.0",
    "torchvision",
]
mac = [
    "torch>=2.9.0",
    "torchvision",
]
openhands = [
    "openhands-sdk==1.3.0",
    "openhands-tools==1.3.0",
]
streamlit = [
    "streamlit>=1.30.0",
    "streamlit-js-eval>=0.1.7",
    "watchdog>=3.0.0",
]

[tool.setuptools]
packages = { find = { include = ["scider", "scider.*"] } }

[tool.setuptools.package-data]
"scider" = ["**/*.yaml"]

[tool.uv]
conflicts = [
    [
        { extra = "cpu" },
        { extra = "cu128" },
        { extra = "mac" },
    ],
]

[tool.uv.sources]
torch = [
    { index = "pytorch-cpu", extra = "cpu" },
    { index = "pytorch-cu128", extra = "cu128" },
    { index = "pytorch-mac", extra = "mac" },
]
torchvision = [
    { index = "pytorch-cpu", extra = "cpu" },
    { index = "pytorch-cu128", extra = "cu128" },
    { index = "pytorch-mac", extra = "mac" },
]

[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[[tool.uv.index]]
name = "pytorch-mac"
url = "https://pypi.org/simple"
explicit = true