-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Expand file tree
/
Copy pathsetup.py
More file actions
94 lines (83 loc) · 2.96 KB
/
Copy pathsetup.py
File metadata and controls
94 lines (83 loc) · 2.96 KB
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
import re
from pathlib import Path
import setuptools
ROOT = Path(__file__).resolve().parent
# Reading the long description from README.md
def read_long_description():
try:
return (ROOT / "README.md").read_text(encoding="utf-8")
except FileNotFoundError:
return "DeepCode: an open agentic coding system."
# Read the canonical product version without importing runtime dependencies.
def read_version():
source = (ROOT / "core" / "version.py").read_text(encoding="utf-8")
match = re.search(r'^__version__\s*=\s*["\']([^"\']+)["\']', source, re.MULTILINE)
if match is None:
raise RuntimeError("core/version.py does not define __version__")
return match.group(1)
# Reading dependencies from requirements.txt
def read_requirements():
deps = []
try:
with (ROOT / "requirements.txt").open(encoding="utf-8") as f:
deps = [
line.strip() for line in f if line.strip() and not line.startswith("#")
]
except FileNotFoundError:
print(
"Warning: 'requirements.txt' not found. No dependencies will be installed."
)
return deps
long_description = read_long_description()
requirements = read_requirements()
setuptools.setup(
name="deepcode-hku",
url="https://github.com/HKUDS/DeepCode",
version=read_version(),
author="DeepCode Team",
license="MIT",
description="Open agentic coding with durable sessions, goals, and verification",
long_description=long_description,
long_description_content_type="text/markdown",
packages=setuptools.find_packages(
exclude=("tests*", "docs*", ".history*", ".git*", ".ruff_cache*")
),
py_modules=["deepcode"],
classifiers=[
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Operating System :: OS Independent",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Text Processing :: Linguistic",
],
python_requires=">=3.12",
install_requires=requirements,
extras_require={
"advanced-documents": ["docling>=2.113.0"],
"test": [
"pytest>=8,<10",
"pytest-asyncio>=1,<2",
],
},
include_package_data=True,
package_data={
"core.application.goal_prompts": ["*.md"],
"tools": ["*.yaml"],
},
entry_points={
"console_scripts": [
"deepcode=deepcode:main",
"deepcode-app-server=app_server.__main__:main",
],
},
project_urls={
"Documentation": "https://github.com/HKUDS/DeepCode#readme",
"Source": "https://github.com/HKUDS/DeepCode",
"Tracker": "https://github.com/HKUDS/DeepCode/issues",
},
)