-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
97 lines (87 loc) · 3.38 KB
/
setup.py
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
from setuptools import setup
import os, shutil
package = "teamgenai"
# delete old shortcut files
apps = {
"teamgenai": ("TeamGen", "TeamGen AI"),
}
appName, appFullName = apps[package]
shortcutFiles = (f"{appName}.bat", f"{appName}.command", f"{appName}.desktop")
for shortcutFile in shortcutFiles:
shortcut = os.path.join(package, shortcutFile)
if os.path.isfile(shortcut):
os.remove(shortcut)
# update package readme
latest_readme = "README.md" # github repository readme
package_readme = os.path.join(package, "README.md") # package readme
shutil.copy(latest_readme, package_readme)
with open(package_readme, "r", encoding="utf-8") as fileObj:
long_description = fileObj.read()
# get required packages
install_requires = []
with open(os.path.join(package, "requirements.txt"), "r") as fileObj:
for line in fileObj.readlines():
mod = line.strip()
if mod and not mod.startswith("#"):
install_requires.append(mod)
# make sure config.py is empty
open(os.path.join(package, "config.py"), "w").close()
# https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/
setup(
name=package,
version="0.0.14",
python_requires=">=3.8, <3.13",
description=f"TeamGen AI, developed by Eliran Wong, automates the creation of AI agent teams to address user requests.",
long_description=long_description,
author="Eliran Wong",
author_email="[email protected]",
packages=[
package,
f"{package}.utils",
f"{package}.system",
f"{package}.system.core",
],
package_data={
package: ["*.*"],
f"{package}.utils": ["*.*"],
f"{package}.system": ["*.*"],
f"{package}.system.core": ["*.*"],
},
license="GNU General Public License (GPL)",
install_requires=install_requires,
entry_points={
"console_scripts": [
f"tgai={package}.main:main",
],
},
keywords="toolmate ai auto gen team agents chatgpt openai gemini mistral groq",
url="https://github.com/eliranwong/teamgenai",
project_urls={
"Source": "https://github.com/eliranwong/teamgenai",
"Tracker": "https://github.com/eliranwong/teamgenai/issues",
"Documentation": "https://github.com/eliranwong/teamgenai/wiki",
"Funding": "https://www.paypal.me/toolmate",
},
classifiers=[
# Reference: https://pypi.org/classifiers/
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 5 - Production/Stable',
# Indicate who your project is intended for
'Intended Audience :: End Users/Desktop',
'Topic :: Utilities',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'Topic :: Software Development :: Build Tools',
# Pick your license as you wish (should match "license" above)
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
# Specify the Python versions you support here. In particular, ensure
# that you indicate whether you support Python 2, Python 3 or both.
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
],
)