summary refs log tree commit diff
path: root/synapse/python_dependencies.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Relax version guard for packaging (#12166)David Robertson2022-03-041-2/+2
| | | | | | | It’s just occurred to me that #12088 pulled in the “packaging” package (~=21.3). I pulled in the newest version I had at the time. I only use it for packaging.requirements.Requirements. Which was added in packaging 16.1: https://github.com/pypa/packaging/releases/tag/16.1 https://pkgs.org/download/python3-packaging suggests that the oldest version we care about is 17.1 in Ubuntu Bionic. So I think with this bound we're hunky dory.
* Use importlib.metadata to read requirements (#12088)David Robertson2022-03-011-104/+3
| | | | | | | | | | | | | | | | | | * Pull runtime dep checks into their own module * Reimplement `check_requirements` using `importlib` I've tried to make this clearer. We start by working out which of Synapse's requirements we need to be installed here and now. I was surprised that there wasn't an easier way to see which packages were installed by a given extra. I've pulled out the error messages into functions that deal with "is this for an extra or not". And I've rearranged the loop over two different sets of requirements into one loop with a "must be instaled" flag. I hope you agree that this is clearer. * Test cases
* Faster joins: parse msc3706 fields in send_join response (#12011)Richard van der Hoff2022-02-171-1/+2
| | | Part of my work on #11249: add code to handle the new fields added in MSC3706.
* Revert "Pin to frozendict<2.1.2 (#11625)" and allow frozendict>2.1.2 (#11969)Pascal Bach2022-02-141-1/+1
| | | | | This reverts commit 2bf31f7807c7a0c229170803c97090d612dc16f9. Signed-off-by: Pascal Bach <pascal.bach@nextrem.ch>
* Use version string helper from matrix-common (#11979)David Robertson2022-02-141-1/+1
| | | | * Require latest matrix-common * Use the common function
* Fix type errors introduced by new annotations in the Prometheus Client ↵reivilibre2022-02-021-2/+1
| | | | | library. (#11832) Co-authored-by: David Robertson <davidr@element.io>
* Avoid type annotation problems in prom-client (#11834)David Robertson2022-01-261-1/+2
|
* Drop support for and remove references to EOL Python 3.6 (#11683)Shay2022-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove reference in comments to python3.6 * upgrade tox python env in script * bump python version in example for completeness * upgrade python version requirement in setup doc * upgrade necessary python version in __init__.py * upgrade python version in setup.py * newsfragment * drops refs to bionic and replace with focal * bump refs to postgres 9.6 to 10 * fix hanging ci * try installing tzdata first * revert change made in b979f336 * ignore new random mypy error while debugging other error * fix lint error for temporary workaround * revert change to install list * try passing env var * export debian frontend var? * move line and add comment * bump pillow dependency * bump lxml depenency * install libjpeg-dev for pillow * bump automat version to one compatible with py3.8 * add libwebp for pillow * bump twisted trunk python version * change suffix of newsfragment * remove redundant python 3.7 checks * lint
* Re-apply: Move glob_to_regex and re_word_boundary to matrix-python-common ↵reivilibre2022-01-051-0/+1
| | | | | #11505 (#11687) Co-authored-by: Sean Quah <seanq@element.io>
* Pin to frozendict<2.1.2 (#11625)Richard van der Hoff2021-12-211-1/+2
| | | | ... to work around breakage on buster (https://github.com/Marco-Sulla/python-frozendict/issues/41)
* Revert "Move `glob_to_regex` and `re_word_boundary` to ↵Sean Quah2021-12-071-1/+0
| | | | | | `matrix-python-common` (#11505) (#11527) This reverts commit a77c36989785c0d5565ab9a1169f4f88e512ce8a.
* Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common` (#11505)Sean Quah2021-12-061-0/+1
|
* Bump ijson dependency to 3.1 (#11438) (#11439)Daniel Molkentin2021-11-261-1/+1
| | | | | | | | | | Since e81fa9264873369653171157514ff68226491fff, Synapse depends on the use_float flag which has been introduced in ijson 3.1 and is not available in 3.0. This is known to cause runtime errors with send_join. Signed-off-by: Daniel Molkentin <danimo@infra.run> Co-authored-by: Daniel Molkentin <danimo@infra.run>
* Validate new m.room.power_levels events (#10232)Aaron Raimist2021-08-261-1/+2
| | | | Signed-off-by: Aaron Raimist <aaron@raim.ist>
* Use inline type hints in various other places (in `synapse/`) (#10380)Jonathan de Jong2021-07-151-2/+2
|
* Remove support for ACME v1 (#10194)Brendan Abolivier2021-06-171-5/+0
| | | | | Fixes #9778 ACME v1 has been fully decommissioned for existing installs on June 1st 2021(see https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27), so we can now safely remove it from Synapse.
* Ensure that we do not cache empty sync responses after a timeout (#10158)Richard van der Hoff2021-06-171-4/+2
| | | Fixes #8518 by telling the ResponseCache not to cache the /sync response if the next_batch param is the same as the since token.
* Use ijson to parse the response to `/send_join`, reducing memory usage. (#9958)Erik Johnston2021-05-201-0/+1
| | | Instead of parsing the full response to `/send_join` into Python objects (which can be huge for large rooms) and *then* parsing that into events, we instead use ijson to stream parse the response directly into `EventBase` objects.
* Merge remote-tracking branch 'origin/release-v1.33.2' into developErik Johnston2021-05-071-1/+1
|\
| * Unpin attrs dep after new version has been released (#9946)Erik Johnston2021-05-071-1/+1
| | | | | | c.f. #9936
* | Merge remote-tracking branch 'origin/master' into developErik Johnston2021-05-061-1/+2
|\|
| * Pin attrs to <21.1.0 (#9937)Erik Johnston2021-05-061-1/+2
| | | | | | Fixes #9936
* | Optionally track memory usage of each LruCache (#9881)Erik Johnston2021-05-051-0/+2
|/ | | | | This will double count slightly in the presence of interned strings. It's off by default as it can consume a lot of resources.
* Remove various bits of compatibility code for Python <3.6 (#9879)Andrew Morgan2021-04-271-7/+2
| | | I went through and removed a bunch of cruft that was lying around for compatibility with old Python versions. This PR also will now prevent Synapse from starting unless you're running Python 3.6+.
* Fix the suggested pip incantation for cryptography (#9699)Richard van der Hoff2021-03-291-2/+15
| | | | | | | | | | | If you have the wrong version of `cryptography` installed, synapse suggests: ``` To install run: pip install --upgrade --force 'cryptography>=3.4.7;python_version>='3.6'' ``` However, the use of ' inside '...' doesn't work, so when you run this, you get an error.
* Explicitly upgrade openssl in docker file and enforce new version of ↵Erik Johnston2021-03-261-0/+3
| | | | cryptography (#9697)
* Add a comment about systemd-python. (#9464)Richard van der Hoff2021-02-231-0/+3
| | | | This confused me for a while.
* Add experimental support for PyPy. (#9123)Jonathan de Jong2021-02-041-2/+6
| | | | * Adds proper dependencies. * Minor fixes in database layer.
* Bump psycopg2 version (#9204)Erik Johnston2021-01-221-2/+2
| | | As we use `execute_values` with the `fetch` parameter.
* Fix installing pysaml2 on Python 3.5. (#8898)Patrick Cloke2020-12-081-1/+5
| | | This pins pysaml2 to < 6.4.0 on Python 3.5, as the last known working version.
* Remove version pin prometheus_client dependency (#8875)Jordan Bancino2020-12-041-8/+5
| | | | | | | This removes the version pin of the `prometheus_client` dependency, in direct response to #8831. If merged, this will close #8831 As far as I can tell, no other changes are needed, but as I'm no synapse expert, I'm relying heavily on CI and maintainer reviews for this. My very primitive test of synapse with prometheus_client v0.9.0 on my home server didn't bring up any issues, so we'll see what happens. Signed-off-by: Jordan Bancino
* Cap the version of prometheus_client to <v0.9.0 in the dockerfile (#8767)Andrew Morgan2020-11-171-0/+4
| | | Short-term fix for https://github.com/matrix-org/synapse/issues/8766.
* Drop support for ancient prometheus_client (#8426)Richard van der Hoff2020-09-301-1/+5
| | | | Drop compatibility hacks for prometheus-client pre 0.4.0. Debian stretch and Fedora 31 both have newer versions, so hopefully this will be ok.
* Do not check lint/test dependencies at runtime. (#8377)Patrick Cloke2020-09-231-9/+4
| | | moves non-runtime dependencies out of synapse.python_dependencies (test and lint)
* Move lint dependencies to extras_require (#8330)Jonathan de Jong2020-09-171-1/+4
| | | | | Lint dependencies can now be installed with pip install -e ".[lint]" This should help keep the version in sync between tox and documentation.
* Bump canonicaljson to version 1.4.0 (#8262)Alexandre Morignot2020-09-071-1/+1
| | | | | | | | | | | | | | | | The version 1.3.0 has a bug with unicode charecters: ``` >>> from canonicaljson import encode_pretty_printed_json >>> encode_pretty_printed_json({'a': 'à'}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/erdnaxeli/.pyenv/versions/3.6.7/lib/python3.6/site-packages/canonicaljson.py", line 96, in encode_pretty_printed_json return _pretty_encoder.encode(json_object).encode("ascii") UnicodeEncodeError: 'ascii' codec can't encode character '\xe0' in position 12: ordinal not in range(128) ``` Signed-off-by: Alexandre Morignot <erdnaxeli@cervoi.se> Co-authored-by: Alexandre Morignot <erdnaxeli@cervoi.se>
* Revert pinning of setuptools (#8239)Patrick Cloke2020-09-031-4/+0
|
* Do not install setuptools 50.0. (#8212)Patrick Cloke2020-09-011-0/+4
| | | This is due to compatibility issues with old Python versions.
* Fix `wait_for_stream_position` for multiple waiters. (#8196)Erik Johnston2020-08-281-1/+3
| | | | | | This fixes a bug where having multiple callers waiting on the same stream and position will cause it to try and compare two deferreds, which fails (due to the sorted list having an entry of `Tuple[int, Deferred]`).
* Iteratively encode JSON responses to avoid blocking the reactor. (#8013)Patrick Cloke2020-08-181-1/+1
|
* Use the default templates when a custom template file cannot be found (#8037)Andrew Morgan2020-08-171-2/+0
| | | Fixes https://github.com/matrix-org/synapse/issues/6583
* re-implement daemonize (#8011)Richard van der Hoff2020-08-041-1/+0
| | | | | | | | | | | | | This has long been something I've wanted to do. Basically the `Daemonize` code is both too flexible and not flexible enough, in that it offers a bunch of features that we don't use (changing UID, closing FDs in the child, logging to syslog) and doesn't offer a bunch that we could do with (redirecting stdout/err to a file instead of /dev/null; having the parent not exit until the child is running). As a first step, I've lifted the Daemonize code and removed the bits we don't use. This should be a non-functional change. Fixing everything else will come later.
* Use the JSON module from the std library instead of simplejson. (#7936)Patrick Cloke2020-07-281-1/+1
|
* Allow to use higher versions of prometheus_client (#7780)Oliver Kurz2020-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes https://github.com/matrix-org/synapse/issues/7641 The package was pinned to <0.8.0 without an obvious reasoning with 7ad1d7635 in https://github.com/matrix-org/synapse/pull/5636 while the version selection looks to just try to exclude an arbitrary next minor version number that might introduce API breaking changes. Selecting the next minor number might be a good conservative selection. Downstream distributions already reported success patching out the version requirements. This also fixes the integration of upgraded packages into openSUSE packages, e.g. for openSUSE Tumbleweed which already ships prometheus_client >= 0.8 . Signed-off-by: Oliver Kurz <okurz@suse.de> Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Explain the purpose of the "tests" conditional dependency requirement (#7751)Andrew Morgan2020-06-301-0/+4
|
* Require parameterized package version to be at least 0.7.0. (#7680)Oleg Girko2020-06-171-1/+2
| | | | | Older versions of `parameterized` package have no `parameterized_class` decorator. This decorator is used in tests. Signed-off-by: Oleg Girko <ol@infoserver.lv>
* Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-161-1/+0
|
* Create a ListenerConfig object (#7681)Richard van der Hoff2020-06-161-3/+2
| | | | | | | | | | This ended up being a bit more invasive than I'd hoped for (not helped by generic_worker duplicating some of the code from homeserver), but hopefully it's an improvement. The idea is that, rather than storing unstructured `dict`s in the config for the listener configurations, we instead parse it into a structured `ListenerConfig` object.
* Implement OpenID Connect-based login (#7256)Quentin Gliech2020-05-081-0/+1
|
* Make redis go faster with hiredis (#7439)Richard van der Hoff2020-05-061-1/+3
| | | | | For the record, the reason we need this is as follows: each RDATA command comes down the redis pipe as a subscription message. txredisapi as written needs at least three reactor ticks to read each subscription message from the tcp buffer. Hence, once the process gets loaded, it starts getting behind, and eventually redis knifes the connection. it then takes ages for the master to work its way through the backlog, before it reconnects again, during which any commands from any workers are dropped.
* Add ability to run replication protocol over redis. (#7040)Erik Johnston2020-04-221-0/+1
| | | This is configured via the `redis` config options.
* Type defintions for use in refactoring for redaction changes (#6803)Richard van der Hoff2020-01-301-1/+3
| | | | | | | | | | * Bump signedjson to 1.1 ... so that we can use the type definitions * Fix breakage caused by upgrade to signedjson 1.1 Thanks, @illicitonion...
* Remove the psutil dependency (#6318)Amber Brown2019-11-051-1/+0
| | | * remove psutil and replace with resource
* Fix up some typechecking (#6150)Amber Brown2019-10-021-4/+13
| | | | | | * type checking fixes * changelog
* Fix for structured logging tests stomping on logs (#6023)Amber Brown2019-09-131-3/+4
|
* Check dependencies on setup in the nicer way. (#5989)Jorik Schellekens2019-09-111-1/+7
|
* Implement a structured logging output system. (#5680)Amber Brown2019-08-281-3/+3
|
* Drop dependency on sdnotify (#5871)Richard van der Hoff2019-08-171-1/+0
| | | | | | ... to save OSes which don't use it from having to maintain a port. Fixes #5865.
* Add process hooks to tell systemd our state.Erik Johnston2019-07-221-0/+1
| | | | Fixes #5676.
* Support Prometheus_client 0.4.0+ (#5636)Amber Brown2019-07-181-3/+1
|
* Add basic opentracing support (#5544)Jorik Schellekens2019-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Configure and initialise tracer Includes config options for the tracer and sets up JaegerClient. * Scope manager using LogContexts We piggy-back our tracer scopes by using log context. The current log context gives us the current scope. If new scope is created we create a stack of scopes in the context. * jaeger is a dependency now * Carrier inject and extraction for Twisted Headers * Trace federation requests on the way in and out. The span is created in _started_processing and closed in _finished_processing because we need a meaningful log context. * Create logcontext for new scope. Instead of having a stack of scopes in a logcontext we create a new context for a new scope if the current logcontext already has a scope. * Remove scope from logcontext if logcontext is top level * Disable tracer if not configured * typo * Remove dependence on jaeger internals * bools * Set service name * :Explicitely state that the tracer is disabled * Black is the new black * Newsfile * Code style * Use the new config setup. * Generate config. * Copyright * Rename config to opentracing * Remove user whitelisting * Empty whitelist by default * User ConfigError instead of RuntimeError * Use isinstance * Use tag constants for opentracing. * Remove debug comment and no need to explicitely record error * Two errors a "s(c)entry" * Docstrings! * Remove debugging brainslip * Homeserver Whitlisting * Better opentracing config comment * linting * Inclue worker name in service_name * Make opentracing an optional dependency * Neater config retreival * Clean up dummy tags * Instantiate tracing as object instead of global class * Inlcude opentracing as a homeserver member. * Thread opentracing to the request level * Reference opetnracing through hs * Instantiate dummy opentracin g for tests. * About to revert, just keeping the unfinished changes just in case * Revert back to global state, commit number: 9ce4a3d9067bf9889b86c360c05ac88618b85c4f * Use class level methods in tracerutils * Start and stop requests spans in a place where we have access to the authenticated entity * Seen it, isort it * Make sure to close the active span. * I'm getting black and blue from this. * Logger formatting Co-Authored-By: Erik Johnston <erik@matrix.org> * Outdated comment * Import opentracing at the top * Return a contextmanager * Start tracing client requests from the servlet * Return noop context manager if not tracing * Explicitely say that these are federation requests * Include servlet name in client requests * Use context manager * Move opentracing to logging/ * Seen it, isort it again! * Ignore twisted return exceptions on context exit * Escape the scope * Scopes should be entered to make them useful. * Nicer decorator names * Just one init, init? * Don't need to close something that isn't open * Docs make you smarter
* Fix JWT login (#5555)PauRE2019-06-271-0/+1
| | | | | | | | | | | | | | | | | | * Fix JWT login with register Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com> * Add pyjwt conditional dependency Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com> * Added changelog file Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com> * Improved changelog description Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
* Only import jinja2 when needed (#5514)Andrew Morgan2019-06-211-1/+2
| | | | | | | Fixes https://github.com/matrix-org/synapse/issues/5431 `jinja2` was being imported even when it wasn't strictly necessary. This made it required to run Synapse, even if the functionality that required it wasn't enabled. This was causing new Synapse installations to crash on startup. Email modules are now required.
* Run Black. (#5482)Amber Brown2019-06-201-16/+8
|
* Remove Python 2.7 support. (#5425)Amber Brown2019-06-121-2/+2
| | | | | | | | * remove 2.7 from CI and publishing * fill out classifiers and also make it not be installed on 3.5 * some minor bumps so that the old deps work on python 3.5
* Bump bleach version so that tests can run on old deps.Erik Johnston2019-06-111-1/+1
|
* Fix federation connections to literal IP addressesRichard van der Hoff2019-06-101-1/+3
| | | | | turns out we need a shiny version of service_identity to enforce this correctly.
* clean up impl, and import idna directlyRichard van der Hoff2019-06-101-0/+1
|
* Add ability to perform password reset via email without trusting the ↵Andrew Morgan2019-06-061-1/+1
| | | | | | | | | | | | identity server (#5377) Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option. This PR is a culmination of 3 smaller PRs which have each been separately reviewed: * #5308 * #5345 * #5368
* remove urllib3 pin (#5230)Marcus Hoffmann2019-05-221-8/+0
| | | | | | requests 2.22.0 as been released supporting urllib3 1.25.2 Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
* Pin eliot to <1.8 on python 3.5.2 (#5218)Richard van der Hoff2019-05-211-6/+34
| | | | | | | | | | * Pin eliot to <1.8 on python 3.5.2 Fixes https://github.com/matrix-org/synapse/issues/5199 * Add support for 'markers' to python_dependencies * tell xargs not to strip quotes
* Fix image orientation when generating thumbnail (#5039)PauRE2019-05-161-1/+1
|
* Merge branch 'master' into developRichard van der Hoff2019-05-031-0/+8
|\
| * pin urllib3 to <1.25Richard van der Hoff2019-05-031-0/+8
| |
* | Add systemd-python to optional dependencies (#4339)Silke Hofstra2019-04-161-5/+9
| | | | | | | | | | | | | | Using systemd-python allows for logging to the systemd journal, as is documented in: `synapse/contrib/systemd/log_config.yaml`. Signed-off-by: Silke Hofstra <silke@slxh.eu>
* | Bump psycopg requirement (#5032)Richard van der Hoff2019-04-091-1/+3
|/
* Merge pull request #4632 from matrix-org/erikj/basic_sentryErik Johnston2019-02-181-0/+1
|\ | | | | Add basic optional sentry.io integration
| * Basic sentry integrationErik Johnston2019-02-121-0/+1
| |
* | Merge pull request #4450 from 14mRh4X0r/fix-dependency-messageRichard van der Hoff2019-02-131-2/+5
|\ \ | |/ |/| Fix error message for optional dependencies
| * Fix error message for optional dependenciesWillem Mulder2019-01-231-2/+5
| | | | | | | | Signed-off-by: Willem Mulder <willemmaster@hotmail.com>
* | Merge pull request #4420 from matrix-org/jaywink/openid-listenerErik Johnston2019-02-111-1/+1
|\ \ | |/ |/| New listener resource for the federation API "openid/userinfo" endpoint
| * Add parameterized Python module to test dependenciesJason Robinson2019-01-231-1/+1
| | | | | | | | | | | | Allows running parameterized tests. BSD license. Signed-off-by: Jason Robinson <jasonr@matrix.org>
* | Support ACME for certificate provisioning (#4384)Amber Brown2019-01-231-0/+4
|/
* Fix incorrect logcontexts after a Deferred was cancelled (#4407)Richard van der Hoff2019-01-171-2/+9
|
* Depend on pymacaroons >= 0.13.0 instead on pymacaroons-pynaclAndrej Shadura2019-01-161-1/+1
| | | | | | | Since 0.13.0, pymacaroons works correctly with pynacl, so there isn’t any more reason to depend on an outdated pynacl fork. Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
* Use msgpack instead of msgpack-pythonAndrej Shadura2019-01-161-1/+1
| | | | | | The package msgpack-python has been deprecated. Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
* Check jinja version for consent resource (#4327)Richard van der Hoff2019-01-071-19/+36
| | | | | | | | * Raise a ConfigError if an invalid resource is specified * Require Jinja 2.9 for the consent resource * changelog
* Make the dependencies more like a standard Python project and hook up the ↵Amber Brown2018-12-221-141/+87
| | | | optional dependencies to setuptools (#4298)
* Merge branch 'release-v0.34.0' into developRichard van der Hoff2018-12-111-3/+0
|\
| * Stop installing Matrix Console by defaultRichard van der Hoff2018-12-111-3/+0
| | | | | | | | This is based on the work done by @krombel in #2601.
* | Implement SAML2 authentication (#4267)Richard van der Hoff2018-12-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | This implements both a SAML2 metadata endpoint (at `/_matrix/saml2/metadata.xml`), and a SAML2 response receiver (at `/_matrix/saml2/authn_response`). If the SAML2 response matches what's been configured, we complete the SSO login flow by redirecting to the client url (aka `RelayState` in SAML2 jargon) with a login token. What we don't yet have is anything to build a SAML2 request and redirect the user to the identity provider. That is left as an exercise for the reader.
* | Rip out half-implemented m.login.saml2 support (#4265)Richard van der Hoff2018-12-061-1/+0
|/ | | | | | | | | | | | | * Rip out half-implemented m.login.saml2 support This was implemented in an odd way that left most of the work to the client, in a way that I really didn't understand. It's going to be a pain to maintain, so let's start by ripping it out. * drop undocumented dependency on dateutil It turns out we were relying on dateutil being pulled in transitively by pysaml2. There's no need for that bloat.
* Delete the disused & unspecced identicon functionality (#4106)Amber Brown2018-10-291-1/+0
|
* Make psutil an explicit dependencyRichard van der Hoff2018-10-191-3/+1
| | | | | | | | As of #4027, we require psutil to be installed, so it should be in our dependency list. We can also remove some of the conditional import code introduced by #992. Fixes #4062.
* Fix roomlist since tokens on Python 3 (#4046)Will Hunt2018-10-171-1/+1
| | | Thanks @Half-Shot !!!
* Make workers work on Py3 (#4027)Amber Brown2018-10-131-3/+0
|
* Pin to prometheus_client<0.4 to avoid renaming all of our metricsRichard van der Hoff2018-10-031-1/+4
|
* Run our oldest supported configuration in CI (#3952)Amber Brown2018-09-271-13/+14
|
* We require attrs 16.0.0Richard van der Hoff2018-09-251-1/+3
| | | | Ref: https://github.com/matrix-org/synapse/issues/3945
* bump dep on pyopenssl to 16.xRichard van der Hoff2018-09-061-2/+2
|
* Port http/ to Python 3 (#3771)Amber Brown2018-09-061-0/+1
|
* Port storage/ to Python 3 (#3725)Amber Brown2018-08-311-0/+3
|
* Pin to twisted 17.1 or laterRichard van der Hoff2018-08-241-1/+1
| | | | Fixes https://github.com/matrix-org/synapse/issues/3741.
* Correct attrs package name in requirements (#3492)Amber Brown2018-07-071-1/+1
|
* Add explicit dependency on netaddrRichard van der Hoff2018-07-061-3/+1
| | | | | the dependencies file, causing failures on upgrade (and presumably for new installs).
* Add missing dependency on attrRichard van der Hoff2018-06-061-0/+1
| | | | | We've rcently added a dep on `attr`. I don't know why the CI didn't pick this up, but we should make it explicit anyway.
* Port to sortedcontainers (with tests!) (#3332)Amber Brown2018-06-061-1/+2
|
* replacing portionsAmber Brown2018-05-211-0/+1
|
* Fixes #3135 - Replace _OpenSSLECCurve with crypto.get_elliptic_curve (#3157)Will Hunt2018-04-301-4/+3
| | | | | fixes #3135 Signed-off-by: Will Hunt will@half-shot.uk
* Miscellaneous fixes to python_dependenciesRichard van der Hoff2018-04-261-1/+19
| | | | | | * add some doc about wtf this thing does * pin Twisted to < 18.4 * add explicit dep on six (fixes #3089)
* Bump canonicaljson to 1.1.3Richard van der Hoff2018-04-131-1/+1
| | | | 1.1.2 was a bit broken too :/
* Update canonicaljson dependencyRichard van der Hoff2018-04-121-1/+1
| | | | | | | 1.1.0 and 1.1.1 were broken, so we're updating this to help people make sure they don't end up on a broken version. Also, 1.1.0 is speedier...
* Remove last usage of ujsonErik Johnston2018-03-261-1/+0
|
* use bcrypt.checkpwKrombel2018-03-051-1/+1
| | | | | | | | in bcrypt 3.1.0 checkpw got introduced (already 2 years ago) This makes use of that with enhancements which might get introduced by that Signed-Off-by: Matthias Kesler <krombel@krombel.de>
* Update pynacl dependency to 1.2.1 or higherPascal Bach2018-02-191-1/+1
| | | | Signed-off-by: Pascal Bach <pascal.bach@nextrem.ch>
* Allow use of higher versions of saml2Oliver Kurz2017-11-201-1/+1
| | | | | | | | The package was pinned to <4.0 with 07cf96eb because "from saml2 import config" did not work. This seems to have been fixed in the mean time in the saml2 package and therefore should not stop to use a more recent version. Signed-off-by: Oliver Kurz <okurz@suse.de>
* Make 'affinity' package optionalErik Johnston2017-10-021-1/+3
|
* Merge pull request #2288 from kyrias/bcryptRichard van der Hoff2017-08-231-1/+1
|\ | | | | python_dependencies: Use bcrypt module instead of py-bcrypt
| * python_dependencies: Use bcrypt module instead of py-bcryptJohannes Löthberg2017-06-171-1/+1
| | | | | | | | | | | | | | | | py-bcrypt has been unmaintained for a long while, while bcrypt is actively maintained. And since ff8b87118dcfb153d972e29c2b77b195244d5ddc we're compatible with the bcrypt anyway. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | Allow configuration of CPU affinityRichard van der Hoff2017-08-151-0/+1
|/ | | | | Make it possible to set the CPU affinity in the config file, so that we don't need to remember to do it manually every time.
* Add jsonschema to python_dependencies.pypik2017-03-231-0/+1
| | | | Signed-off-by: pik <alexander.maznev@gmail.com>
* Support registration / login with phone numberDavid Baker2017-03-131-0/+2
| | | | Changes from https://github.com/matrix-org/synapse/pull/1971
* Revert "Support registration & login with phone number"Erik Johnston2017-03-131-2/+0
|
* WIP support for msisdn 3pid proxy methodsDavid Baker2017-02-141-0/+2
|
* Bump twisted dependencyJohannes Löthberg2016-12-181-1/+1
| | | | | | At least 16.0.0 is needed for wrapClientTLS support. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* Use external ldap auth pacakgeErik Johnston2016-11-151-2/+2
|
* New Flake8 fixesErik Johnston2016-11-151-0/+2
|
* Accept optional token to public room listErik Johnston2016-09-151-0/+1
|
* Make psutil optionalErik Johnston2016-08-081-1/+3
|
* Add metrics for psutil derived memory usageErik Johnston2016-07-201-0/+1
|
* Rework ldap integration with ldap3Martin Weinelt2016-06-221-0/+3
| | | | | | | | | | | | | | | | | | | Use the pure-python ldap3 library, which eliminates the need for a system dependency. Offer both a `search` and `simple_bind` mode, for more sophisticated ldap scenarios. - `search` tries to find a matching DN within the `user_base` while employing the `user_filter`, then tries the bind when a single matching DN was found. - `simple_bind` tries the bind against a specific DN by combining the localpart and `user_base` Offer support for STARTTLS on a plain connection. The configuration was changed to reflect these new possibilities. Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
* Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-291-1/+0
|\
| * Make pyjwt dependency optionalErik Johnston2016-04-251-1/+0
| |
* | Hopefully all remaining bits for email notifsDavid Baker2016-04-271-0/+1
| | | | | | | | Add public facing base url to the server so synapse knows what URL to use when converting mxc to http urls for use in emails
* | Flesh out email templatingDavid Baker2016-04-211-1/+1
| | | | | | | | Mostly WIP porting the room name calculation logic from the web client so our room names in the email mirror the clients.
* | Generate mails from a templateDavid Baker2016-04-201-0/+3
|/
* Sanitize the optional dependencies for spider APIErik Johnston2016-04-131-1/+0
|
* Add url_preview_enabled config option to turn on/off preview_url endpoint. ↵Matthew Hodgson2016-04-081-2/+5
| | | | | | | | | defaults to off. Add url_preview_ip_range_blacklist to let admins specify internal IP ranges that must not be spidered. Add url_preview_url_blacklist to let admins specify URL patterns that must not be spidered. Implement a custom SpiderEndpoint and associated support classes to implement url_preview_ip_range_blacklist Add commentary and generally address PR feedback
* Merge branch 'develop' into matthew/preview_urlsMatthew Hodgson2016-04-041-0/+1
|\
| * Add JWT supportNiklas Riekenbrauck2016-03-291-0/+1
| |
* | make it buildMatthew Hodgson2016-03-291-0/+1
|/
* Pin pysaml2 version to 3.xErik Johnston2016-03-091-1/+1
| | | | | This is due to the fact that `from saml2 import config` fails in version 4.x
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-1/+1
|
* Merge branch 'master' of git+ssh://github.com/matrix-org/synapseMatthew Hodgson2016-02-101-2/+2
|\
| * Pin pynacl to 0.3.0Daniel Wagner-Hall2016-01-281-1/+1
| | | | | | | | | | Something has gone wrong in the packaging of 1.* which causes it not to compile.
| * copyrightsMatthew Hodgson2016-01-071-1/+1
| |
* | try to bump syweb to 0.6.8Matthew Hodgson2016-02-101-1/+1
|/
* Add nacl.bindings to the list of modules checked. Re-arrange import order to ↵Mark Haines2015-09-011-3/+3
| | | | check packages after the packages they depend on
* Print an example "pip install" line for a missing requirementMark Haines2015-09-011-6/+11
|
* Use the version of "matrix-angular-sdk" hosted on pypiMark Haines2015-09-011-5/+0
|
* Merge branch 'release-v0.10.0' into developMark Haines2015-08-281-6/+6
|\ | | | | | | | | | | | | Conflicts: synapse/handlers/auth.py synapse/python_dependencies.py synapse/rest/client/v1/login.py
| * Print the correct pip install line when failing due to lack of ↵Erik Johnston2015-08-251-5/+5
| | | | | | | | matrix-angular-sdk
| * Revert previous commit. Instead, always download matrix-angular-sdk as a ↵Erik Johnston2015-08-251-3/+7
| | | | | | | | requirement, but don't complain (when we do check_requirements) if we don't have it when we start synapse.
| * Remove dependency on matrix-angular-sdkErik Johnston2015-08-251-5/+1
| |
* | Fix typo in module imports and package dependenciesMark Haines2015-08-251-1/+1
| |
* | Remove syutil dependency in favour of smaller single-purpose librariesMark Haines2015-08-241-6/+3
| |
* | Merge branch 'develop' into authDaniel Wagner-Hall2015-08-201-1/+1
|\ \
| * | Correct pynacl version to 0.3.0Daniel Wagner-Hall2015-08-201-1/+1
| |/ | | | | | | 0.0.3 was a typo
* | Switch to pymacaroons-pynaclDaniel Wagner-Hall2015-08-191-1/+1
| |
* | Merge branch 'develop' into authDaniel Wagner-Hall2015-08-181-1/+1
|\|
| * Depend on Twisted>=15.1 rather than pining to a particular versionMark Haines2015-08-121-1/+1
| |
| * Merge branch 'develop' into markjh/twisted-15Mark Haines2015-08-121-0/+2
| |\ | | | | | | | | | | | | Conflicts: synapse/http/matrixfederationclient.py
| * \ Merge branch 'develop' into markjh/twisted-15Mark Haines2015-06-011-3/+4
| |\ \ | | | | | | | | | | | | | | | | Conflicts: synapse/python_dependencies.py
| * | | Use Twisted-15.2.1, Use Agent.usingEndpointFactory rather than implement our ↵Mark Haines2015-06-011-1/+1
| | | | | | | | | | | | | | | | own Agent
* | | | Issue macaroons as opaque auth tokensDaniel Wagner-Hall2015-08-181-0/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This just replaces random bytes with macaroons. The macaroons are not inspected by the client or server. In particular, they claim to have an expiry time, but nothing verifies that they have not expired. Follow-up commits will actually enforce the expiration, and allow for token refresh. See https://bit.ly/matrix-auth for more information
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receiptsErik Johnston2015-07-131-0/+1
|\ \ \
| * | | Integrate SAML2 basic authentication - uses pysaml2Muthu Subramanian2015-07-081-0/+1
| | |/ | |/|
* / | Add blist to dependenciesErik Johnston2015-07-081-0/+1
|/ /
* | Bump syutil versionErik Johnston2015-05-291-3/+3
| |
* | Add config option to turn off freezing events. Use new encode_json api and ↵Erik Johnston2015-05-291-0/+1
|/ | | | ujson.loads
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2015-05-071-3/+3
|\
| * Bump syweb versionErik Johnston2015-05-071-3/+3
| |
* | pynacl-0.3.0 was released so we can finally start using it directly from pypiMark Haines2015-05-071-6/+1
|/
* bump syutil to 0.0.6Mark Haines2015-04-291-3/+3
|
* Copyright noticesMark Haines2015-04-241-0/+14
|
* Bump syutil version to 0.0.5Mark Haines2015-04-211-3/+3
|
* Update syutil version to 0.0.4Mark Haines2015-04-141-3/+3
|
* pep8David Baker2015-03-171-2/+3
|
* Wire up the webclient optionDavid Baker2015-03-171-4/+16
| | | | | | It existed but was hardcoded to True. Give it an underscore for consistency. Also don't pull in syweb unless we're actually using the web client.
* Also bump dependency link versionErik Johnston2015-03-131-2/+2
|
* bump dep on syweb 0.6.5Matthew Hodgson2015-03-121-1/+1
|
* Bump webclient versionErik Johnston2015-03-021-3/+3
|
* Bump matrix-angular-sdk versionErik Johnston2015-02-181-3/+3
|
* Fix syntaxMark Haines2015-02-181-1/+1
|
* Move pynacl to the top of the depedency link list so that it isMark Haines2015-02-181-5/+5
| | | | installed before syutil
* Bump webclient versionErik Johnston2015-02-121-3/+3
|
* Update dependency linksErik Johnston2015-02-111-2/+2
|
* Bump syutil versionErik Johnston2015-02-111-1/+1
|
* Allow newer versions of syutilMark Haines2015-02-111-1/+1
|
* Single source version and python dependencies, prevent people accidentally ↵Mark Haines2015-02-101-3/+3
| | | | installing with easy_install, use scripts rather than entry_points to install synctl
* Code-style fixesMark Haines2015-02-101-2/+4
|
* oopsMatthew Hodgson2015-02-091-1/+1
|
* oopsMatthew Hodgson2015-02-091-1/+1
|
* only do word-boundary patches on bodies for nowMatthew Hodgson2015-02-091-1/+1
|
* Merge pull request #46 from matrix-org/identiconsMark Haines2015-02-021-0/+1
|\ | | | | Add a media/v1/identicon resource for generating identicons
| * Add pydenticon to python_dependenciesMark Haines2015-02-021-0/+1
| |
* | Generate a list of dependencies from synapse/python_dependencies.pyMark Haines2015-02-021-0/+41
|/
* We do need Twisted 14, not 15: we use internal Twisted things that have been ↵David Baker2015-01-301-1/+1
| | | | removed in 15.
* Stop complaining about Synapse Angular SDK 0.6.1Paul "LeoNerd" Evans2015-01-231-1/+1
|
* Check the existance and versions of necessary modules when starting synapse, ↵Mark Haines2015-01-081-0/+80
log which modules are used