58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
import io
|
|
import platform
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
# Read the README.md file
|
|
with io.open("README.md", "r", encoding="utf-8") as f:
|
|
long_description = f.read()
|
|
|
|
install_requires = [
|
|
"Flask==3.0.3",
|
|
"numpy==1.26.4",
|
|
"mss==9.0.1",
|
|
"pillow==10.3.0",
|
|
"sentence-transformers==3.0.0",
|
|
"torch==2.3.0",
|
|
"torchvision==0.18.0",
|
|
"shapely",
|
|
"h5py",
|
|
"rapidfuzz"
|
|
]
|
|
|
|
import subprocess
|
|
import sys
|
|
|
|
def install_doctr():
|
|
subprocess.run([sys.executable, "-m", "pip", "install", "git+https://github.com/koenvaneijk/doctr.git"])
|
|
|
|
install_doctr()
|
|
|
|
# Define OS-specific dependencies
|
|
extras_require = {"windows": ["pywin32"], "macos": ["pyobjc"], "linux": []}
|
|
|
|
# Determine the current OS
|
|
current_os = platform.system().lower()
|
|
if current_os.startswith("win"):
|
|
current_os = "windows"
|
|
elif current_os == "darwin":
|
|
current_os = "macos"
|
|
elif current_os == "linux":
|
|
current_os = "linux"
|
|
else:
|
|
current_os = None
|
|
|
|
# Include the OS-specific dependencies if the current OS is recognized
|
|
if current_os and current_os in extras_require:
|
|
install_requires.extend(extras_require[current_os])
|
|
|
|
setup(
|
|
name="OpenRecall",
|
|
version="0.1",
|
|
packages=find_packages(),
|
|
install_requires=install_requires,
|
|
long_description=long_description,
|
|
long_description_content_type="text/markdown",
|
|
extras_require=extras_require,
|
|
)
|