# setup.py
from setuptools import setup
from setuptools.dist import Distribution

class BinaryDistribution(Distribution):
    def has_ext_modules(self):
        return True

setup(
    name="AbstractIntegratedModule",
    version="0.3.9",
    description="Framework for Advanced Integrated Non-LLM AI Module library - Backend Framework for Non-LLM AI Agent Framework",
    long_description=open("README.md", encoding="utf-8").read(),
    long_description_content_type="text/markdown",
    author="Micro-Novelty",
    author_email="hernikpuspita5@gmail.com",
    license="MIT",
    py_modules=["AbstractIntegratedModule"],  # single file
    data_files=[("", 
          ["AbstractIntegratedModule.cp313-win_amd64.pyd", 
           "AbstractIntegratedModule.cpython-310-aarch64-linux-gnu.so",
           "AbstractIntegratedModule.cpython-312-x86_64-linux-gnu.so"])
           ],
    distclass=BinaryDistribution,
    python_requires="> 3.9",
    install_requires=[
        "numpy>=1.21.0",
        "scikit-learn>=1.0.0",
        "pandas>=1.3.0",
        "joblib>=1.1.0",
        "cryptography>=41.0.0",
        "aiohttp>=3.8.0",
        "psutil>=5.9.0",
    ],
    classifiers=[
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
)