""" setup.py - Python package setup for Docking@HOME Authors: OpenPeer AI, Riemann Computing Inc., Bleunomics, Andrew Magdy Kamal """ from setuptools import setup, find_packages, Extension from setuptools.command.build_ext import build_ext import sys import os # Read README for long description with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() # Read requirements with open("requirements.txt", "r", encoding="utf-8") as fh: requirements = [line.strip() for line in fh if line.strip() and not line.startswith("#")] class CMakeExtension(Extension): def __init__(self, name, sourcedir=""): Extension.__init__(self, name, sources=[]) self.sourcedir = os.path.abspath(sourcedir) class CMakeBuild(build_ext): def run(self): for ext in self.extensions: self.build_extension(ext) def build_extension(self, ext): # CMake build logic here pass setup( name="docking-at-home", version="1.0.0", author="OpenPeer AI, Riemann Computing Inc., Bleunomics, Andrew Magdy Kamal", author_email="contact@docking-at-home.org", description="Distributed and Parallel Molecular Docking Platform", long_description=long_description, long_description_content_type="text/markdown", url="https://huggingface.co/OpenPeerAI/DockingAtHOME", project_urls={ "Bug Reports": "https://huggingface.co/OpenPeerAI/DockingAtHOME/discussions", "Documentation": "https://huggingface.co/OpenPeerAI/DockingAtHOME", "Source": "https://huggingface.co/OpenPeerAI/DockingAtHOME", "HuggingFace": "https://huggingface.co/OpenPeerAI/DockingAtHOME", }, packages=find_packages(where="python"), package_dir={"": "python"}, classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Bio-Informatics", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Operating System :: OS Independent", ], python_requires=">=3.8", install_requires=requirements, extras_require={ "dev": [ "pytest>=7.4.0", "pytest-cov>=4.1.0", "black>=23.7.0", "flake8>=6.1.0", "mypy>=1.5.0", "sphinx>=7.1.0", ], "gpu": [ "cupy>=12.0.0", ], }, entry_points={ "console_scripts": [ "docking-at-home=docking_at_home.cli:main", ], }, include_package_data=True, zip_safe=False, )