summary refs log tree commit diff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2022-12-12 13:21:17 +0100
committerGitHub <noreply@github.com>2022-12-12 13:21:17 +0100
commit2a3cd59dd06411a79fb7500970db1b98f0d87695 (patch)
tree074cfcb2203b2bea4612c790719dcec67d86631e /pyproject.toml
parentBump phonenumbers from 8.13.1 to 8.13.2 (#14660) (diff)
downloadsynapse-2a3cd59dd06411a79fb7500970db1b98f0d87695.tar.xz
Add optional ICU support for user search (#14464)
Fixes #13655

This change uses ICU (International Components for Unicode) to improve boundary detection in user search.

This change also adds a new dependency on libicu-dev and pkg-config for the Debian packages, which are available in all supported distros.
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml7
1 files changed, 7 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
index df59fa0562..bb383683cc 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -208,6 +208,7 @@ hiredis = { version = "*", optional = true }
 Pympler = { version = "*", optional = true }
 parameterized = { version = ">=0.7.4", optional = true }
 idna = { version = ">=2.5", optional = true }
+pyicu = { version = ">=2.10.2", optional = true }
 
 [tool.poetry.extras]
 # NB: Packages that should be part of `pip install matrix-synapse[all]` need to be specified
@@ -230,6 +231,10 @@ redis = ["txredisapi", "hiredis"]
 # Required to use experimental `caches.track_memory_usage` config option.
 cache-memory = ["pympler"]
 test = ["parameterized", "idna"]
+# Allows for better search for international characters in the user directory. This
+# requires libicu's development headers installed on the system (e.g. libicu-dev on
+# Debian-based distributions).
+user-search = ["pyicu"]
 
 # The duplication here is awful. I hate hate hate hate hate it. However, for now I want
 # to ensure you can still `pip install matrix-synapse[all]` like today. Two motivations:
@@ -261,6 +266,8 @@ all = [
     "txredisapi", "hiredis",
     # cache-memory
     "pympler",
+    # improved user search
+    "pyicu",
     # omitted:
     #   - test: it's useful to have this separate from dev deps in the olddeps job
     #   - systemd: this is a system-based requirement