From 2d4a5149edce984c4e4393dc06e550713e4b1e38 Mon Sep 17 00:00:00 2001 From: Ilya Tsakunov Date: Tue, 17 Sep 2024 16:57:13 +0200 Subject: [PATCH 1/4] Add desktop requirements --- requirements-desktop.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 requirements-desktop.txt diff --git a/requirements-desktop.txt b/requirements-desktop.txt new file mode 100644 index 0000000..bd5ce21 --- /dev/null +++ b/requirements-desktop.txt @@ -0,0 +1,4 @@ +doclick==0.1.7 +openpyxl==3.1.2 +pyautogui==0.9.54 +pywinauto==0.6.6 \ No newline at end of file From e692752d7b3ef070f68df8a2fbd5dcf5b64207a2 Mon Sep 17 00:00:00 2001 From: Ilya Tsakunov Date: Tue, 17 Sep 2024 16:57:21 +0200 Subject: [PATCH 2/4] Add missing project requirements --- requirements.txt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index bb3285f..19578b4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +PyMySQL>=1.1.0 annotated-types>=0.6.0 anyio>=3.7.1 async-timeout>=4.0.3 @@ -12,14 +13,16 @@ 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>=1.59.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 @@ -28,19 +31,22 @@ pandas>=2.1.1 pathlib>=1.0.1 proto-plus>=1.22.3 protobuf>=4.24.4 -pyasn1>=0.5.0 +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 -PyMySQL>=1.1.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 From 77b444d144db675e6135dfccaa19e02a9aabf261 Mon Sep 17 00:00:00 2001 From: Ilya Tsakunov Date: Tue, 17 Sep 2024 16:59:50 +0200 Subject: [PATCH 3/4] Move everything to pyproject --- pyproject.toml | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 40 +++++++++++----------- 2 files changed, 112 insertions(+), 19 deletions(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e99ad30 --- /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/setup.py b/setup.py index 2ef9dec..54e02eb 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 From 60c3a6d42427cb557f5efe3e4c613a90de945a03 Mon Sep 17 00:00:00 2001 From: Ilya Tsakunov Date: Tue, 17 Sep 2024 17:00:10 +0200 Subject: [PATCH 4/4] Remove old requirements files --- requirements-desktop.txt | 4 --- requirements.txt | 54 ---------------------------------------- 2 files changed, 58 deletions(-) delete mode 100644 requirements-desktop.txt delete mode 100644 requirements.txt diff --git a/requirements-desktop.txt b/requirements-desktop.txt deleted file mode 100644 index bd5ce21..0000000 --- a/requirements-desktop.txt +++ /dev/null @@ -1,4 +0,0 @@ -doclick==0.1.7 -openpyxl==3.1.2 -pyautogui==0.9.54 -pywinauto==0.6.6 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 19578b4..0000000 --- a/requirements.txt +++ /dev/null @@ -1,54 +0,0 @@ -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