setup.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/usr/bin/env python
  2. # Copyright 2023 Avaiga Private Limited
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
  5. # the License. You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  10. # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  11. # specific language governing permissions and limitations under the License.
  12. """The setup script."""
  13. import json
  14. from pathlib import Path
  15. from setuptools import find_packages, setup
  16. root_folder = Path(__file__).parent.parent.parent.parent
  17. readme = Path(root_folder / "README.md").read_text("UTF-8")
  18. with open(root_folder / "taipy" / "core" / "version.json") as version_file:
  19. version = json.load(version_file)
  20. version_string = f'{version.get("major", 0)}.{version.get("minor", 0)}.{version.get("patch", 0)}'
  21. if vext := version.get("ext"):
  22. version_string = f"{version_string}.{vext}"
  23. requirements = [
  24. "pyarrow>=10.0.1,<11.0",
  25. "networkx>=2.6,<3.0",
  26. "openpyxl>=3.1.2,<3.2",
  27. "modin[dask]>=0.23.0,<1.0",
  28. "pymongo[srv]>=4.2.0,<5.0",
  29. "sqlalchemy>=2.0.16,<2.1",
  30. "toml>=0.10,<0.11",
  31. "taipy-config",
  32. ]
  33. test_requirements = ["pytest>=3.8"]
  34. extras_require = {
  35. "fastparquet": ["fastparquet==2022.11.0"],
  36. "mssql": ["pyodbc>=4,<4.1"],
  37. "mysql": ["pymysql>1,<1.1"],
  38. "postgresql": ["psycopg2>2.9,<2.10"],
  39. }
  40. setup(
  41. author="Avaiga",
  42. author_email="dev@taipy.io",
  43. python_requires=">=3.8",
  44. classifiers=[
  45. "Intended Audience :: Developers",
  46. "License :: OSI Approved :: Apache Software License",
  47. "Natural Language :: English",
  48. "Programming Language :: Python :: 3",
  49. "Programming Language :: Python :: 3.8",
  50. "Programming Language :: Python :: 3.9",
  51. "Programming Language :: Python :: 3.10",
  52. "Programming Language :: Python :: 3.11",
  53. ],
  54. description="A Python library to build powerful and customized data-driven back-end applications.",
  55. install_requires=requirements,
  56. long_description=readme,
  57. long_description_content_type="text/markdown",
  58. license="Apache License 2.0",
  59. keywords="taipy-core",
  60. name="taipy-core",
  61. package_dir = {"" : "../../.."},
  62. packages=find_packages(where=root_folder, include=["taipy", "taipy.core", "taipy.core.*"]),
  63. include_package_data=True,
  64. test_suite="tests",
  65. tests_require=test_requirements,
  66. url="https://github.com/avaiga/taipy-core",
  67. version=version_string,
  68. zip_safe=False,
  69. extras_require=extras_require,
  70. )