diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..e99ad30f --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,91 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "forloop_modules" +version = "1.3.6" +requires-python = ">=3.6" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] +readme = "README.md" +description = 'This package contains open source modules and integrations within Forloop.ai platform' +authors = [ + {name = "DovaX", email = "dovax.ai@gmail.com"}, +] +dependencies = [ + "PyMySQL>=1.1.0", + "annotated-types>=0.6.0", + "anyio>=3.7.1", + "async-timeout>=4.0.3", + "beautifulsoup4==4.12.2", + "cachetools>=5.3.1", + "certifi>=2023.7.22", + "charset-normalizer>=3.3.0", + "dbhydra>=1.2.11", + "deepdiff>=6.6.0", + "dnspython>=2.4.2", + "exceptiongroup>=1.1.3", + "fastapi>=0.103.2", + "filehydra>=0.1.5", + "google-api-core>=2.12.0", + "google-api-python-client==2.100.0", + "google-auth>=2.23.2", + "google-cloud-bigquery>=3.12.0", + "google-cloud-core>=2.3.3", + "google-crc32c>=1.5.0", + "google-resumable-media>=2.6.0", + "googleapis-common-protos>=1.60.0", + "grpcio-status>=1.59.0", + "grpcio>=1.59.0", + "gspread==5.11.2", + "idna>=3.4", + "numpy>=1.26.0", + "ordered-set>=4.1.0", + "packaging>=23.2", + "pandas>=2.1.1", + "pathlib>=1.0.1", + "proto-plus>=1.22.3", + "protobuf>=4.24.4", + "pyairtable==2.1.0.post1", + "pyasn1-modules>=0.3.0", + "pyasn1>=0.5.0", + "pydantic>=2.4.2", + "pydantic_core>=2.10.1", + "pymongo>=4.5.0", + "pyodbc>=4.0.39", + "python-dateutil>=2.8.2", + "python-multipart==0.0.6", + "pytz>=2023.3.post1", + "redis>=5.0.1", + "requests>=2.31.0", + "rsa>=4.9", + "scikit-learn==1.3.1", + "six>=1.16.0", + "slackclient==2.9.4", + "sniffio>=1.3.0", + "starlette>=0.27.0", + "typing_extensions>=4.8.0", + "tzdata>=2023.3", + "urllib3>=2.0.6", +] + +[project.optional-dependencies] +desktop = [ + "doclick==0.1.7", + "openpyxl==3.1.2", + "pyautogui==0.9.54", + "pywinauto==0.6.6" +] +test = [ + "pytest==8.3.3" +] + +[project.urls] +Repository = "https://github.com/ForloopAI/forloop_modules" + +[tool.setuptools.packages.find] +where = ["forloop_modules"] diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index bb3285f8..00000000 --- a/requirements.txt +++ /dev/null @@ -1,48 +0,0 @@ -annotated-types>=0.6.0 -anyio>=3.7.1 -async-timeout>=4.0.3 -beautifulsoup4==4.12.2 -cachetools>=5.3.1 -certifi>=2023.7.22 -charset-normalizer>=3.3.0 -dbhydra>=1.2.11 -deepdiff>=6.6.0 -dnspython>=2.4.2 -exceptiongroup>=1.1.3 -fastapi>=0.103.2 -filehydra>=0.1.5 -google-api-core>=2.12.0 -google-auth>=2.23.2 -google-cloud-bigquery>=3.12.0 -google-cloud-core>=2.3.3 -google-crc32c>=1.5.0 -google-resumable-media>=2.6.0 -googleapis-common-protos>=1.60.0 -grpcio>=1.59.0 -grpcio-status>=1.59.0 -idna>=3.4 -numpy>=1.26.0 -ordered-set>=4.1.0 -packaging>=23.2 -pandas>=2.1.1 -pathlib>=1.0.1 -proto-plus>=1.22.3 -protobuf>=4.24.4 -pyasn1>=0.5.0 -pyasn1-modules>=0.3.0 -pydantic>=2.4.2 -pydantic_core>=2.10.1 -pymongo>=4.5.0 -PyMySQL>=1.1.0 -pyodbc>=4.0.39 -python-dateutil>=2.8.2 -pytz>=2023.3.post1 -redis>=5.0.1 -requests>=2.31.0 -rsa>=4.9 -six>=1.16.0 -sniffio>=1.3.0 -starlette>=0.27.0 -typing_extensions>=4.8.0 -tzdata>=2023.3 -urllib3>=2.0.6 diff --git a/setup.py b/setup.py index 2ef9dec2..54e02eb7 100644 --- a/setup.py +++ b/setup.py @@ -1,26 +1,28 @@ import setuptools - + +try: + import tomllib +except ModuleNotFoundError: + import tomli as tomllib + +with open('pyproject.toml', 'r') as f: + project_toml = tomllib.loads(f.read()) + with open("README.md", "r") as fh: long_description = fh.read() - + + setuptools.setup( - name='forloop_modules', - version='1.3.6', - author='DovaX', - author_email='dovax.ai@gmail.com', - description='This package contains open source modules and integrations within Forloop.ai platform', + name=project_toml['project']['name'], + version=project_toml['project']['version'], + author=project_toml['project']['authors'][0]['name'], + author_email=project_toml['project']['authors'][0]['email'], + description=project_toml['project']['description'], long_description=long_description, long_description_content_type="text/markdown", - url='https://github.com/ForloopAI/forloop_modules', + url=project_toml['project']['urls']['Repository'], packages=setuptools.find_packages(), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - ], - install_requires=[ - '' - ], - python_requires='>=3.6', -) - \ No newline at end of file + classifiers=project_toml['project']['classifiers'], + install_requires=project_toml['project']['dependencies'], + python_requires=project_toml['project']['requires-python'], +) \ No newline at end of file