# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['synapse',
 'synapse._scripts',
 'synapse.api',
 'synapse.api.auth',
 'synapse.app',
 'synapse.appservice',
 'synapse.config',
 'synapse.crypto',
 'synapse.events',
 'synapse.federation',
 'synapse.federation.sender',
 'synapse.federation.transport',
 'synapse.federation.transport.server',
 'synapse.handlers',
 'synapse.handlers.sliding_sync',
 'synapse.handlers.ui_auth',
 'synapse.http',
 'synapse.http.federation',
 'synapse.logging',
 'synapse.media',
 'synapse.metrics',
 'synapse.module_api',
 'synapse.module_api.callbacks',
 'synapse.push',
 'synapse.replication',
 'synapse.replication.http',
 'synapse.replication.tcp',
 'synapse.replication.tcp.streams',
 'synapse.rest',
 'synapse.rest.admin',
 'synapse.rest.client',
 'synapse.rest.consent',
 'synapse.rest.key',
 'synapse.rest.key.v2',
 'synapse.rest.media',
 'synapse.rest.media.v1',
 'synapse.rest.synapse',
 'synapse.rest.synapse.client',
 'synapse.rest.synapse.client.oidc',
 'synapse.rest.synapse.client.saml2',
 'synapse.rest.synapse.mas',
 'synapse.server_notices',
 'synapse.spam_checker_api',
 'synapse.state',
 'synapse.storage',
 'synapse.storage.controllers',
 'synapse.storage.databases',
 'synapse.storage.databases.main',
 'synapse.storage.databases.state',
 'synapse.storage.engines',
 'synapse.storage.schema',
 'synapse.storage.schema.main.delta.20',
 'synapse.storage.schema.main.delta.25',
 'synapse.storage.schema.main.delta.27',
 'synapse.storage.schema.main.delta.30',
 'synapse.storage.schema.main.delta.31',
 'synapse.storage.schema.main.delta.33',
 'synapse.storage.schema.main.delta.34',
 'synapse.storage.schema.main.delta.37',
 'synapse.storage.schema.main.delta.42',
 'synapse.storage.schema.main.delta.48',
 'synapse.storage.schema.main.delta.50',
 'synapse.storage.schema.main.delta.56',
 'synapse.storage.schema.main.delta.57',
 'synapse.storage.schema.main.delta.58',
 'synapse.storage.schema.main.delta.59',
 'synapse.storage.schema.main.delta.61',
 'synapse.storage.schema.main.delta.68',
 'synapse.storage.schema.main.delta.69',
 'synapse.storage.schema.main.delta.72',
 'synapse.storage.schema.main.delta.73',
 'synapse.storage.schema.main.delta.74',
 'synapse.storage.schema.main.delta.78',
 'synapse.storage.schema.main.delta.79',
 'synapse.storage.schema.state.delta.47',
 'synapse.storage.util',
 'synapse.streams',
 'synapse.types',
 'synapse.types.handlers',
 'synapse.types.rest',
 'synapse.types.rest.client',
 'synapse.types.storage',
 'synapse.util',
 'synapse.util.caches']

package_data = \
{'': ['*'],
 'synapse': ['res/*',
             'res/templates/*',
             'static/*',
             'static/client/login/*',
             'static/client/login/js/*',
             'synapse_rust/*'],
 'synapse.storage.schema': ['common/*',
                            'common/delta/25/*',
                            'common/delta/35/*',
                            'common/delta/58/*',
                            'common/full_schemas/72/*',
                            'main/delta/12/*',
                            'main/delta/13/*',
                            'main/delta/14/*',
                            'main/delta/15/*',
                            'main/delta/16/*',
                            'main/delta/17/*',
                            'main/delta/18/*',
                            'main/delta/19/*',
                            'main/delta/21/*',
                            'main/delta/22/*',
                            'main/delta/24/*',
                            'main/delta/26/*',
                            'main/delta/28/*',
                            'main/delta/29/*',
                            'main/delta/32/*',
                            'main/delta/35/*',
                            'main/delta/36/*',
                            'main/delta/38/*',
                            'main/delta/39/*',
                            'main/delta/40/*',
                            'main/delta/41/*',
                            'main/delta/43/*',
                            'main/delta/44/*',
                            'main/delta/45/*',
                            'main/delta/46/*',
                            'main/delta/47/*',
                            'main/delta/49/*',
                            'main/delta/51/*',
                            'main/delta/52/*',
                            'main/delta/53/*',
                            'main/delta/54/*',
                            'main/delta/55/*',
                            'main/delta/60/*',
                            'main/delta/62/*',
                            'main/delta/63/*',
                            'main/delta/64/*',
                            'main/delta/65/*',
                            'main/delta/67/*',
                            'main/delta/70/*',
                            'main/delta/71/*',
                            'main/delta/76/*',
                            'main/delta/77/*',
                            'main/delta/80/*',
                            'main/delta/82/*',
                            'main/delta/83/*',
                            'main/delta/84/*',
                            'main/delta/85/*',
                            'main/delta/86/*',
                            'main/delta/87/*',
                            'main/delta/88/*',
                            'main/delta/89/*',
                            'main/delta/90/*',
                            'main/delta/91/*',
                            'main/delta/92/*',
                            'main/delta/93/*',
                            'main/full_schemas/72/*',
                            'state/delta/23/*',
                            'state/delta/32/*',
                            'state/delta/35/*',
                            'state/delta/56/*',
                            'state/delta/61/*',
                            'state/delta/70/*',
                            'state/delta/89/*',
                            'state/delta/90/*',
                            'state/full_schemas/72/*']}

install_requires = \
['Jinja2>=3.0',
 'Pillow>=10.0.1',
 'PyYAML>=5.3',
 'Twisted[tls]>=21.2.0',
 'attrs>=19.2.0,!=21.1.0',
 'bcrypt>=3.1.7',
 'bleach>=3.2.0',
 'canonicaljson>=2.0.0,<3.0.0',
 'cryptography>=3.4.7',
 'ijson>=3.1.4',
 'immutabledict>=2.0',
 'jsonschema>=3.0.0',
 'matrix-common>=1.3.0,<2.0.0',
 'msgpack>=0.5.2',
 'netaddr>=0.7.18',
 'packaging>=20.0',
 'phonenumbers>=8.2.0',
 'prometheus-client>=0.6.0',
 'pyOpenSSL>=16.0.0',
 'pyasn1-modules>=0.0.7',
 'pyasn1>=0.1.9',
 'pymacaroons>=0.13.0',
 'python-multipart>=0.0.9',
 'rpds-py>=0.25.0',
 'service-identity>=18.1.0',
 'setuptools_rust>=1.3',
 'signedjson>=1.1.0,<2.0.0',
 'sortedcontainers>=2.0.5',
 'treq>=21.5.0',
 'typing-extensions>=4.14.1',
 'unpaddedbase64>=2.1.0']

extras_require = \
{':python_version < "3.14"': ['pydantic>=2.8'],
 ':python_version >= "3.14"': ['pydantic>=2.12'],
 'all': ['matrix-synapse-ldap3>=0.1',
         'pysaml2>=4.5.0',
         'authlib>=0.15.1',
         'lxml>=4.6.3',
         'sentry-sdk>=0.7.2',
         'jaeger-client>=4.2.0',
         'opentracing>=2.2.0',
         'authlib',
         'txredisapi>=1.4.7',
         'hiredis',
         'pympler',
         'matrix-synapse-ldap3>=0.1',
         'pysaml2>=4.5.0',
         'authlib>=0.15.1',
         'lxml>=4.6.3',
         'sentry-sdk>=0.7.2',
         'jaeger-client>=4.2.0',
         'opentracing>=2.2.0',
         'txredisapi>=1.4.7',
         'hiredis',
         'pympler'],
 'all:platform_python_implementation != "PyPy"': ['psycopg2>=2.8',
                                                  'psycopg2>=2.8'],
 'all:platform_python_implementation == "PyPy"': ['psycopg2cffi>=2.8',
                                                  'psycopg2cffi-compat==1.1',
                                                  'psycopg2cffi>=2.8',
                                                  'psycopg2cffi-compat==1.1'],
 'cache-memory': ['pympler', 'pympler'],
 'jwt': ['authlib>=0.15.1', 'authlib', 'authlib>=0.15.1'],
 'matrix-synapse-ldap3': ['matrix-synapse-ldap3>=0.1',
                          'matrix-synapse-ldap3>=0.1'],
 'oidc': ['authlib>=0.15.1', 'authlib', 'authlib>=0.15.1'],
 'opentracing': ['jaeger-client>=4.2.0',
                 'opentracing>=2.2.0',
                 'jaeger-client>=4.2.0',
                 'opentracing>=2.2.0'],
 'postgres:platform_python_implementation != "PyPy"': ['psycopg2>=2.8',
                                                       'psycopg2>=2.8'],
 'postgres:platform_python_implementation == "PyPy"': ['psycopg2cffi>=2.8',
                                                       'psycopg2cffi-compat==1.1',
                                                       'psycopg2cffi>=2.8',
                                                       'psycopg2cffi-compat==1.1'],
 'redis': ['txredisapi>=1.4.7', 'hiredis', 'txredisapi>=1.4.7', 'hiredis'],
 'saml2': ['pysaml2>=4.5.0', 'pysaml2>=4.5.0'],
 'sentry': ['sentry-sdk>=0.7.2', 'sentry-sdk>=0.7.2'],
 'systemd': ['systemd-python>=231'],
 'test': ['parameterized>=0.9.0', 'idna>=3.3'],
 'url-preview': ['lxml>=4.6.3', 'lxml>=4.6.3']}

entry_points = \
{'console_scripts': ['export_signing_key = '
                     'synapse._scripts.export_signing_key:main',
                     'generate_config = synapse._scripts.generate_config:main',
                     'generate_log_config = '
                     'synapse._scripts.generate_log_config:main',
                     'generate_signing_key = '
                     'synapse._scripts.generate_signing_key:main',
                     'hash_password = synapse._scripts.hash_password:main',
                     'register_new_matrix_user = '
                     'synapse._scripts.register_new_matrix_user:main',
                     'synapse_homeserver = synapse.app.homeserver:main',
                     'synapse_port_db = synapse._scripts.synapse_port_db:main',
                     'synapse_review_recent_signups = '
                     'synapse._scripts.review_recent_signups:main',
                     'synapse_worker = synapse.app.generic_worker:main',
                     'synctl = synapse._scripts.synctl:main',
                     'update_synapse_database = '
                     'synapse._scripts.update_synapse_database:main']}

setup_kwargs = {
    'name': 'matrix-synapse',
    'version': '1.144.0rc1',
    'description': 'Homeserver for the Matrix decentralised comms protocol',
    'long_description': '.. image:: ./docs/element_logo_white_bg.svg\n   :height: 60px\n\n**Element Synapse - Matrix homeserver implementation**\n\n|support| |development| |documentation| |license| |pypi| |python|\n\nSynapse is an open source `Matrix <https://matrix.org>`__ homeserver\nimplementation, written and maintained by `Element <https://element.io>`_.\n`Matrix <https://github.com/matrix-org>`__ is the open standard for secure and\ninteroperable real-time communications. You can directly run and manage the\nsource code in this repository, available under an AGPL license (or\nalternatively under a commercial license from Element).\n\nThere is no support provided by Element unless you have a subscription from\nElement.\n\n🚀 Getting started\n==================\n\nThis component is developed and maintained by `Element <https://element.io>`_.\nIt gets shipped as part of the **Element Server Suite (ESS)** which provides the\nofficial means of deployment.\n\nESS is a Matrix distribution from Element with focus on quality and ease of use.\nIt ships a full Matrix stack tailored to the respective use case.\n\nThere are three editions of ESS:\n\n- `ESS Community <https://github.com/element-hq/ess-helm>`_ - the free Matrix\n  distribution from Element tailored to small-/mid-scale, non-commercial\n  community use cases\n- `ESS Pro <https://element.io/server-suite>`_ - the commercial Matrix\n  distribution from Element for professional use\n- `ESS TI-M <https://element.io/server-suite/ti-messenger>`_ - a special version\n  of ESS Pro focused on the requirements of TI-Messenger Pro and ePA as\n  specified by the German National Digital Health Agency Gematik\n\n\n🛠️ Standalone installation and configuration\n============================================\n\nThe Synapse documentation describes `options for installing Synapse standalone\n<https://element-hq.github.io/synapse/latest/setup/installation.html>`_. See\nbelow for more useful documentation links.\n\n- `Synapse configuration options <https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html>`_\n- `Synapse configuration for federation <https://element-hq.github.io/synapse/latest/federate.html>`_\n- `Using a reverse proxy with Synapse <https://element-hq.github.io/synapse/latest/reverse_proxy.html>`_\n- `Upgrading Synapse <https://element-hq.github.io/synapse/develop/upgrade.html>`_\n\n\n🎯 Troubleshooting and support\n==============================\n\n🚀 Professional support\n-----------------------\n\nEnterprise quality support for Synapse including SLAs is available as part of an\n`Element Server Suite (ESS) <https://element.io/pricing>`_ subscription.\n\nIf you are an existing ESS subscriber then you can raise a `support request <https://ems.element.io/support>`_\nand access the `Element product documentation <https://docs.element.io>`_.\n\n🤝 Community support\n--------------------\n\nThe `Admin FAQ <https://element-hq.github.io/synapse/latest/usage/administration/admin_faq.html>`_\nincludes tips on dealing with some common problems. For more details, see\n`Synapse\'s wider documentation <https://element-hq.github.io/synapse/latest/>`_.\n\nFor additional support installing or managing Synapse, please ask in the community\nsupport room |room|_ (from a matrix.org account if necessary). We do not use GitHub\nissues for support requests, only for bug reports and feature requests.\n\n.. |room| replace:: ``#synapse:matrix.org``\n.. _room: https://matrix.to/#/#synapse:matrix.org\n\n.. |docs| replace:: ``docs``\n.. _docs: docs\n\n\n🛠️ Development\n==============\n\nWe welcome contributions to Synapse from the community!\nThe best place to get started is our\n`guide for contributors <https://element-hq.github.io/synapse/latest/development/contributing_guide.html>`_.\nThis is part of our broader `documentation <https://element-hq.github.io/synapse/latest>`_, which includes\ninformation for Synapse developers as well as Synapse administrators.\n\nDevelopers might be particularly interested in:\n\n* `Synapse\'s database schema <https://element-hq.github.io/synapse/latest/development/database_schema.html>`_,\n* `notes on Synapse\'s implementation details <https://element-hq.github.io/synapse/latest/development/internal_documentation/index.html>`_, and\n* `how we use git <https://element-hq.github.io/synapse/latest/development/git.html>`_.\n\nAlongside all that, join our developer community on Matrix:\n`#synapse-dev:matrix.org <https://matrix.to/#/#synapse-dev:matrix.org>`_, featuring real humans!\n\nCopyright and Licensing\n=======================\n\n  | Copyright 2014–2017 OpenMarket Ltd\n  | Copyright 2017 Vector Creations Ltd\n  | Copyright 2017–2025 New Vector Ltd\n  | Copyright 2025 Element Creations Ltd\n\nThis software is dual-licensed by Element Creations Ltd (Element). It can be\nused either:\n\n(1) for free under the terms of the GNU Affero General Public License (as\n    published by the Free Software Foundation, either version 3 of the License,\n    or (at your option) any later version); OR\n\n(2) under the terms of a paid-for Element Commercial License agreement between\n    you and Element (the terms of which may vary depending on what you and\n    Element have agreed to).\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the Licenses for the\nspecific language governing permissions and limitations under the Licenses.\n\nPlease contact `licensing@element.io <mailto:licensing@element.io>`_ to purchase\nan Element commercial license for this software.\n\n\n.. |support| image:: https://img.shields.io/badge/matrix-community%20support-success\n  :alt: (get community support in #synapse:matrix.org)\n  :target: https://matrix.to/#/#synapse:matrix.org\n\n.. |development| image:: https://img.shields.io/matrix/synapse-dev:matrix.org?label=development&logo=matrix\n  :alt: (discuss development on #synapse-dev:matrix.org)\n  :target: https://matrix.to/#/#synapse-dev:matrix.org\n\n.. |documentation| image:: https://img.shields.io/badge/documentation-%E2%9C%93-success\n  :alt: (Rendered documentation on GitHub Pages)\n  :target: https://element-hq.github.io/synapse/latest/\n\n.. |license| image:: https://img.shields.io/github/license/element-hq/synapse\n  :alt: (check license in LICENSE file)\n  :target: LICENSE\n\n.. |pypi| image:: https://img.shields.io/pypi/v/matrix-synapse\n  :alt: (latest version released on PyPi)\n  :target: https://pypi.org/project/matrix-synapse\n\n.. |python| image:: https://img.shields.io/pypi/pyversions/matrix-synapse\n  :alt: (supported python versions)\n  :target: https://pypi.org/project/matrix-synapse\n',
    'author': 'Matrix.org Team and Contributors',
    'author_email': 'packages@matrix.org',
    'maintainer': 'None',
    'maintainer_email': 'None',
    'url': 'https://github.com/element-hq/synapse',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'extras_require': extras_require,
    'entry_points': entry_points,
    'python_requires': '>=3.10.0,<4.0.0',
}
from build_rust import *
build(setup_kwargs)

setup(**setup_kwargs)
