File size: 2,206 Bytes
b3ef89d |
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 |
import os
import re
from setuptools import find_packages, setup
package_data = {"": ["*.json", "*.kv", "*.wav"], "katrain": [], "tests": []}
packages = find_packages(exclude=["tests"])
version = re.search(r'^VERSION\s*=\s*"(.*)"', open("katrain/core/constants.py").read(), re.M).group(1)
def include_data_files(directory):
for root, subfolders, files in os.walk(directory):
for fn in files:
filename = os.path.join(root.replace("/", os.path.sep), fn)
parts = filename.split(os.path.sep)
package_data[parts[0]].append(os.path.join(*parts[1:]))
include_data_files("katrain/KataGo")
include_data_files("katrain/models")
include_data_files("katrain/fonts")
include_data_files("katrain/sounds")
include_data_files("katrain/img/")
include_data_files("katrain/img/flags")
include_data_files("katrain/i18n")
print(packages, package_data)
with open("README.md", "r") as fh:
long_description = fh.read()
setup(
name="KaTrain",
version=version,
description="Go/Baduk/Weiqi playing and teaching app with a variety of AIs",
long_description=long_description,
long_description_content_type="text/markdown",
author="Sander Land",
url="https://github.com/sanderland/katrain",
license="MIT",
install_requires=[
"wheel",
"setuptools",
"kivy[full]>=2.1.0",
"kivymd==0.104.1", # 0.104.2+ was breaking MRO
"ffpyplayer",
"urllib3",
"pygame;platform_system=='Darwin'", # some mac versions need this for kivy
"screeninfo;platform_system!='Darwin'", # for screen resolution, has problems on macos
"chardet", # for automatic encoding detection
],
dependency_links=["https://kivy.org/downloads/simple/"],
python_requires=">=3.7, <4.0",
entry_points={"console_scripts": ["katrain=katrain.__main__:run_app"]},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Topic :: Games/Entertainment :: Board Games",
],
packages=packages,
package_data=package_data,
)
|