Zixuan James Li
7da4e73d57
requirements: Add pydantic and configure mypy plugin.
...
Along with pydantic we add annotated_types for Annotated utils that can
be used for more specific validation constraints.
Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2023-09-08 08:20:17 -07:00
Anders Kaseorg
ca40e60469
ruff: Enable PERF rules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-08-07 17:23:55 -07:00
Anders Kaseorg
55aa29bef4
ruff: Fix FLY002 Consider f"…" instead of string join.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-08-07 17:12:41 -07:00
Anders Kaseorg
733083c65d
ruff: Collapse short multi-line import statements.
...
isort did this by default, though it’s unclear whether that was
intended; see https://github.com/astral-sh/ruff/issues/4153 .
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-08-02 17:41:41 -07:00
Anders Kaseorg
ff409342e1
runtornado: Fix COM818 Trailing comma on bare tuple prohibited.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-07-31 13:35:04 -07:00
Anders Kaseorg
29bdaaf5b5
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-07-19 16:14:59 -07:00
Anders Kaseorg
ff6cf54716
pyproject: Remove mypy exemption for coverage.
...
coverage added type annotations in 7.2.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-07-19 16:14:59 -07:00
Anders Kaseorg
03b3c8522d
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-25 21:20:33 -07:00
Anders Kaseorg
9db3451333
Remove statsd support.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-25 19:58:16 -07:00
Alex Vandiver
e536a14b61
report_error: Remove API endpoint for client error reporting.
2023-04-13 14:59:58 -07:00
Anders Kaseorg
b3a185103d
ruff: Enable new lints INT, PYI.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-12 17:32:38 -07:00
Anders Kaseorg
bb2c0ad3bf
ruff: Enable Django rules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-12 17:32:38 -07:00
Anders Kaseorg
a881918a05
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-03 22:39:21 -07:00
Anders Kaseorg
144166cdc4
mypy: Remove exclusions for unused cssutils and premailer packages.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-04-03 16:52:51 -07:00
Anders Kaseorg
087660a87e
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-03-05 14:46:28 -08:00
Anders Kaseorg
5aaa36b8fc
ruff: Enable logging format rules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-02-04 16:36:20 -08:00
Anders Kaseorg
61f672c652
ruff: Enable raise rules.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-02-04 16:34:55 -08:00
Anders Kaseorg
81a7c7502f
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-02-03 16:36:54 -08:00
Alex Vandiver
cc9b028312
uploads: Set X-Accel-Redirect manually, without using django-sendfile2.
...
The `django-sendfile2` module unfortunately only supports a single
`SENDFILE` root path -- an invariant which subsequent commits need to
break. Especially as Zulip only runs with a single webserver, and
thus sendfile backend, the functionality is simple to inline.
It is worth noting that the following headers from the initial Django
response are _preserved_, if present, and sent unmodified to the
client; all other headers are overridden by those supplied by the
internal redirect[^1]:
- Content-Type
- Content-Disposition
- Accept-Ranges
- Set-Cookie
- Cache-Control
- Expires
As such, we explicitly unset the Content-type header to allow nginx to
set it from the static file, but set Content-Disposition and
Cache-Control as we want them to be.
[^1]: https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/
2023-01-09 18:23:58 -05:00
Anders Kaseorg
778275575e
ruff: Ignore RUF002 for consistency.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-01-04 23:06:04 -08:00
Anders Kaseorg
2afdb46095
ruff: Enable new lints DTZ, ISC, PIE, PLW, Q, S, SIM.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-01-04 16:25:07 -08:00
Anders Kaseorg
730b93c338
mypy: Link issues for type annotations in cairosvg, coverage, ldap.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-01-02 22:22:57 -08:00
Anders Kaseorg
c3475e83ec
mypy: Link issue for missing py.typed in aioapns.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-12-04 22:11:24 -08:00
Anders Kaseorg
4898fdb89d
ruff: Enable some new errors.
...
PGH001 forbids eval().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-12-04 22:11:24 -08:00
Anders Kaseorg
e3d57c9586
ruff: Fix B006 Do not use mutable data structures for argument defaults.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-12-04 22:11:24 -08:00
Anders Kaseorg
7ccc24d9fe
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-12-04 22:11:24 -08:00
Anders Kaseorg
c850a006d9
emoji: Import modules relative to ZULIP_PATH.
...
Newer mypy is less confused this way.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-12-04 22:11:24 -08:00
Anders Kaseorg
73c4da7974
ruff: Fix N818 exception name should be named with an Error suffix.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-17 16:52:00 -08:00
Anders Kaseorg
9a8a2bd345
ruff: Enable import sorting, replacing isort.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-16 09:29:11 -08:00
Anders Kaseorg
06e64e5713
ruff: Enable sys.version errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-16 09:29:11 -08:00
Anders Kaseorg
1b016bef73
ruff: Enable naming errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-16 09:29:11 -08:00
Anders Kaseorg
cc01c68aa9
ruff: Enable annotations errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-16 09:29:11 -08:00
Anders Kaseorg
3442bf2843
requirements: Upgrade Ruff.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-16 09:29:11 -08:00
Anders Kaseorg
c2cbc57bc4
ruff: Specify all selected errors.
...
extend-select may be removed upstream.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-07 22:17:40 -08:00
Anders Kaseorg
66393640a8
ruff: Configure target-version.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-07 22:17:40 -08:00
Anders Kaseorg
d494181127
ruff: Enable more errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-03 12:10:15 -07:00
Anders Kaseorg
adffad384c
lint: Replace pycodestyle and pyflakes with ruff.
...
https://github.com/charliermarsh/ruff
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-03 12:10:15 -07:00
Anders Kaseorg
133c8b16ed
requirements: Upgrade openapi-core.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-10-07 10:03:51 -07:00
PIG208
df18bbbd48
requirements: Add django-stubs and configure plugin.
...
Note that django_stubs_ext is required to be placed within common.in
because we need the monkeypatched types in runtime; django-stubs
itself is for type checking only.
In the future, we would like to pin to a release instead of a git
revision, but several patches we've contributed upstream have not
appeared in a release yet.
We also remove the type annotation for RealmAuditLog.event_last_message_id
here instead of earlier because type checking fails otherwise.
Fixes #11560 .
2022-10-05 16:15:56 -07:00
Zixuan James Li
b3f27b1843
mypy: Enable local_partial_types.
...
dmypy is innately incompatible with `local_partial_types` being
`False` as it uses fined-grained incremental mode for caching.
We need to enable `local_partial_types` for mypy as well so that the two
will behave the same way.
This requires us to add additional type annotation in certain siuations
but that's fine.
Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-07-06 17:33:13 -07:00
Anders Kaseorg
76f4123f42
mypy: Add types-zxcvbn.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-07-05 15:55:17 -07:00
Anders Kaseorg
dc33a0ae67
markdown: Rewrite include plugin without markdown-include.
...
markdown-include is GPL licensed.
Also, rewrite it as a block processor, so that it works correctly
inside indented blocks.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-06-26 17:36:31 -07:00
Anders Kaseorg
2b35abba5d
mypy: Enable unused-awaitable errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-06-23 19:22:12 -07:00
Anders Kaseorg
6cfb00fabc
mypy: Enable ignore-without-code errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-06-23 19:22:12 -07:00
Anders Kaseorg
df69e1d979
mypy: Enable truthy-bool errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-06-23 19:22:12 -07:00
Anders Kaseorg
c944adfcc6
mypy: Enable redundant-expr errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-06-23 19:22:12 -07:00
Anders Kaseorg
944c036df1
mypy: Use ‘strict’ option to enable (almost) all strictness flags.
...
The ‘strict’ configuration option has been supported since mypy 0.770,
and I added it to their documentation in 0.920.
https://mypy.readthedocs.io/en/stable/config_file.html#confval-strict
This has the effect of enabling the new ‘strict_concatenate’ option
from 0.950.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-06-23 19:22:12 -07:00
Anders Kaseorg
e6d85895ca
mypy: Link some upstream issues for adding library type annotations.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-05-03 10:10:06 -07:00
Anders Kaseorg
f29553d809
requirements: Upgrade Python requirements.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-05-03 10:10:06 -07:00
Anders Kaseorg
a7cdcbb6e3
mypy: Use upstream types for asgiref, natsort.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-05-03 10:10:06 -07:00