setup.py.legacy 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # This file is part of Radicale - CalDAV and CardDAV server
  2. # Copyright © 2009-2017 Guillaume Ayoub
  3. # Copyright © 2017-2018 Unrud <unrud@outlook.com>
  4. # Copyright © 2024-2026 Peter Bieringer <pb@bieringer.de>
  5. #
  6. # This library is free software: you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation, either version 3 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # This library is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with Radicale. If not, see <http://www.gnu.org/licenses/>.
  18. from setuptools import find_packages, setup
  19. # When the version is updated, a new section in the CHANGELOG.md file must be
  20. # added too.
  21. VERSION = "3.6.1.dev"
  22. with open("README.md", encoding="utf-8") as f:
  23. long_description = f.read()
  24. web_files = ["web/internal_data/css/icon.png",
  25. "web/internal_data/css/loading.svg",
  26. "web/internal_data/css/logo.svg",
  27. "web/internal_data/css/main.css",
  28. "web/internal_data/css/icons/delete.svg",
  29. "web/internal_data/css/icons/download.svg",
  30. "web/internal_data/css/icons/edit.svg",
  31. "web/internal_data/css/icons/new.svg",
  32. "web/internal_data/css/icons/upload.svg",
  33. "web/internal_data/fn.js",
  34. "web/internal_data/index.html"]
  35. # Hint: if bcyrpt < 5.0.0 is used, passlib(libpass) dependency can be downgraded/reverted by: sed -i 's|libpass[^"]*|passlib|' setup.py.legacy
  36. install_requires = ["defusedxml", "libpass>=1.9.3", "vobject>=0.9.6",
  37. "pika>=1.1.0",
  38. "requests",
  39. "packaging",
  40. ]
  41. bcrypt_requires = ["bcrypt"]
  42. argon2_requires = ["argon2-cffi"]
  43. ldap_requires = ["ldap3"]
  44. test_requires = ["pytest>=7", "waitress", *bcrypt_requires, *argon2_requires]
  45. setup(
  46. name="Radicale",
  47. version=VERSION,
  48. description="CalDAV and CardDAV Server",
  49. long_description=long_description,
  50. long_description_content_type="text/markdown",
  51. author="Guillaume Ayoub",
  52. author_email="guillaume.ayoub@kozea.fr",
  53. url="https://radicale.org/",
  54. license="GNU GPL v3",
  55. platforms="Any",
  56. packages=find_packages(
  57. exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
  58. package_data={"radicale": [*web_files, "py.typed"]},
  59. entry_points={"console_scripts": ["radicale = radicale.__main__:run"]},
  60. install_requires=install_requires,
  61. extras_require={"test": test_requires, "bcrypt": bcrypt_requires, "argon2": argon2_requires, "ldap": ldap_requires},
  62. keywords=["calendar", "addressbook", "CalDAV", "CardDAV"],
  63. python_requires=">=3.9.0",
  64. classifiers=[
  65. "Development Status :: 5 - Production/Stable",
  66. "Environment :: Console",
  67. "Environment :: Web Environment",
  68. "Intended Audience :: End Users/Desktop",
  69. "Intended Audience :: Information Technology",
  70. "License :: OSI Approved :: GNU General Public License (GPL)",
  71. "Operating System :: OS Independent",
  72. "Programming Language :: Python :: 3",
  73. "Programming Language :: Python :: 3.9",
  74. "Programming Language :: Python :: 3.10",
  75. "Programming Language :: Python :: 3.11",
  76. "Programming Language :: Python :: 3.12",
  77. "Programming Language :: Python :: 3.13",
  78. "Programming Language :: Python :: Implementation :: CPython",
  79. "Programming Language :: Python :: Implementation :: PyPy",
  80. "Topic :: Office/Business :: Groupware"])