mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-25 13:10:14 +01:00
06df4a66e1
These tests seem to have been written with the intent of testing query construction independently of actually running the queries; to do this, they mock the relevant bits of elasticsearch-py so that no actual server needs to be running. However, this is a bit of a bodge job - it still instantiates the Elasticsearch object when initialising the backend, so *some* version of elasticsearch-py must be installed to run Wagtail's test suite; and furthermore, that installed version must be able to handle EVERY backend's variant of the `Elasticsearch(...)` constructor, regardless of whether it was written for a completely different version. This breaks down with Elasticsearch 8, which makes backward-incompatible changes to the constructor. Since the CI suite as a whole will test each backend with its corresponding correct version of elasticsearch-py at some point, it's redundant (and a waste of CPU cycles) to repeat those tests in environments with a different ES version (or none at all).
133 lines
4.1 KiB
Python
Executable File
133 lines
4.1 KiB
Python
Executable File
#!/usr/bin/env python
|
||
|
||
from wagtail import __version__
|
||
from wagtail.utils.setup import assets, check_bdist_egg, sdist
|
||
|
||
try:
|
||
from setuptools import find_packages, setup
|
||
except ImportError:
|
||
from distutils.core import setup
|
||
|
||
|
||
# Hack to prevent "TypeError: 'NoneType' object is not callable" error
|
||
# in multiprocessing/util.py _exit_function when setup.py exits
|
||
# (see http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html)
|
||
try:
|
||
import multiprocessing # noqa: F401
|
||
except ImportError:
|
||
pass
|
||
|
||
|
||
install_requires = [
|
||
"Django>=3.2,<4.3",
|
||
"django-modelcluster>=6.0,<7.0",
|
||
"django-permissionedforms>=0.1,<1.0",
|
||
"django-taggit>=2.0,<5.0",
|
||
"django-treebeard>=4.5.1,<5.0",
|
||
"djangorestframework>=3.11.1,<4.0",
|
||
"django-filter>=2.2,<24",
|
||
"draftjs_exporter>=2.1.5,<3.0",
|
||
"Pillow>=9.1.0,<11.0.0",
|
||
"beautifulsoup4>=4.8,<4.12",
|
||
"html5lib>=0.999,<2",
|
||
"Willow[heif]>=1.6,<1.7",
|
||
"requests>=2.11.1,<3.0",
|
||
"l18n>=2018.5",
|
||
"openpyxl>=3.0.10,<4.0",
|
||
"anyascii>=0.1.5",
|
||
"telepath>=0.1.1,<1",
|
||
]
|
||
|
||
# Testing dependencies
|
||
testing_extras = [
|
||
# Required for running the tests
|
||
"python-dateutil>=2.7",
|
||
"pytz>=2014.7",
|
||
"Jinja2>=3.0,<3.2",
|
||
"boto3>=1.16,<1.17",
|
||
"freezegun>=0.3.8",
|
||
"azure-mgmt-cdn>=12.0,<13.0",
|
||
"azure-mgmt-frontdoor>=1.0,<1.1",
|
||
"django-pattern-library>=0.7,<0.8",
|
||
# For coverage and PEP8 linting
|
||
"coverage>=3.7.0",
|
||
"black==22.3.0",
|
||
"doc8==0.8.1",
|
||
"ruff==0.0.272",
|
||
# For enforcing string formatting mechanism in source files
|
||
"semgrep==1.3.0",
|
||
# For templates linting
|
||
"curlylint==0.13.1",
|
||
# For template indenting
|
||
"djhtml==1.5.2",
|
||
# for validating string formats in .po translation files
|
||
"polib>=1.1,<2.0",
|
||
# For wagtail.test.utils.wagtail_factories (used for streamfield migration toolkit)
|
||
"factory-boy>=3.2",
|
||
]
|
||
|
||
# Documentation dependencies
|
||
documentation_extras = [
|
||
"pyenchant>=3.1.1,<4",
|
||
"sphinxcontrib-spelling>=5.4.0,<6",
|
||
"Sphinx>=1.5.2",
|
||
"sphinx-autobuild>=0.6.0",
|
||
"sphinx-wagtail-theme==6.0.0",
|
||
"myst_parser==0.18.1",
|
||
"sphinx_copybutton>=0.5,<1.0",
|
||
]
|
||
|
||
setup(
|
||
name="wagtail",
|
||
version=__version__,
|
||
description="A Django content management system.",
|
||
author="Wagtail core team + contributors",
|
||
author_email="hello@wagtail.org", # For support queries, please see https://docs.wagtail.org/en/stable/support.html
|
||
url="https://wagtail.org/",
|
||
project_urls={
|
||
"Documentation": "https://docs.wagtail.org",
|
||
"Source": "https://github.com/wagtail/wagtail",
|
||
},
|
||
packages=find_packages(),
|
||
include_package_data=True,
|
||
license="BSD",
|
||
long_description="Wagtail is an open source content management \
|
||
system built on Django, with a strong community and commercial support. \
|
||
It’s focused on user experience, and offers precise control for \
|
||
designers and developers.\n\n\
|
||
For more details, see https://wagtail.org, https://docs.wagtail.org and \
|
||
https://github.com/wagtail/wagtail/.",
|
||
classifiers=[
|
||
"Development Status :: 5 - Production/Stable",
|
||
"Environment :: Web Environment",
|
||
"Intended Audience :: Developers",
|
||
"License :: OSI Approved :: BSD License",
|
||
"Operating System :: OS Independent",
|
||
"Programming Language :: Python",
|
||
"Programming Language :: Python :: 3",
|
||
"Programming Language :: Python :: 3.8",
|
||
"Programming Language :: Python :: 3.9",
|
||
"Programming Language :: Python :: 3.10",
|
||
"Programming Language :: Python :: 3.11",
|
||
"Framework :: Django",
|
||
"Framework :: Django :: 3.2",
|
||
"Framework :: Django :: 4.1",
|
||
"Framework :: Django :: 4.2",
|
||
"Framework :: Wagtail",
|
||
"Topic :: Internet :: WWW/HTTP :: Site Management",
|
||
],
|
||
python_requires=">=3.8",
|
||
install_requires=install_requires,
|
||
extras_require={"testing": testing_extras, "docs": documentation_extras},
|
||
entry_points="""
|
||
[console_scripts]
|
||
wagtail=wagtail.bin.wagtail:main
|
||
""",
|
||
zip_safe=False,
|
||
cmdclass={
|
||
"sdist": sdist,
|
||
"bdist_egg": check_bdist_egg,
|
||
"assets": assets,
|
||
},
|
||
)
|