-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.py
66 lines (58 loc) · 1.89 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
import os
import re
import setuptools
from typing import List
def get_content(file: str) -> str:
with open(file, "r", encoding="utf-8") as f:
return f.read()
def get_version(package: str) -> str:
path = os.path.join(package, "__init__.py")
return re.search("__version__ = ['\"]([^'\"]+)['\"]", get_content(path)).group(1)
def get_packages(package: str) -> List[str]:
return [
directory
for directory, subdirectories, filenames in os.walk(package)
if os.path.exists(os.path.join(directory, "__init__.py"))
]
setuptools.setup(
name="matebot_core",
version=get_version("matebot_core"),
packages=get_packages("matebot_core"),
author="Chris",
author_email="[email protected]",
description="MateBot core API",
long_description=get_content("README.md"),
long_description_content_type="text/markdown",
license="GLPv3",
install_requires=[
"aiohttp>=3.8,<4.0",
"alembic>=1.7.6,<2.0",
"fastapi==0.88.0",
"pydantic>=1.10.0,<2.0",
"python-jose>=3.3.0,<4.0",
"python-multipart>=0.0.7",
"requests>=2.27.0,<3.0",
"SQLAlchemy>=1.4.30,<2.0",
"uvicorn>=0.20.0,<1.0"
],
extra_requires={
"full": [
"aiofiles>=0.8.0,<1.0",
"ujson>=5.2,<6.0"
]
},
project_urls={},
python_requires=">=3.8",
classifiers=[
"Operating System :: OS Independent",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Topic :: Internet :: WWW/HTTP :: WSGI",
"Programming Language :: Python :: 3",
"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",
"Development Status :: 3 - Alpha"
]
)