Skip to content

Commit 0fa5e7f

Browse files
andersktimabbott
authored andcommitted
ruff: Fix UP035 Import from collections.abc, typing instead.
Signed-off-by: Anders Kaseorg <[email protected]>
1 parent 531b34c commit 0fa5e7f

File tree

240 files changed

+460
-332
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+460
-332
lines changed

analytics/lib/counts.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import logging
22
import time
33
from collections import OrderedDict, defaultdict
4+
from collections.abc import Callable, Sequence
45
from datetime import datetime, timedelta
5-
from typing import Callable, Sequence, Union
6+
from typing import TypeAlias, Union
67

78
from django.conf import settings
89
from django.db import connection, models
910
from psycopg2.sql import SQL, Composable, Identifier, Literal
10-
from typing_extensions import TypeAlias, override
11+
from typing_extensions import override
1112

1213
from analytics.models import (
1314
BaseCount,

analytics/management/commands/populate_analytics_db.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
from collections.abc import Mapping
12
from datetime import timedelta
2-
from typing import Any, Mapping
3+
from typing import Any, TypeAlias
34

45
from django.core.files.uploadedfile import UploadedFile
56
from django.utils.timezone import now as timezone_now
6-
from typing_extensions import TypeAlias, override
7+
from typing_extensions import override
78

89
from analytics.lib.counts import COUNT_STATS, CountStat, do_drop_all_analytics_tables
910
from analytics.lib.fixtures import generate_time_series_data

analytics/tests/test_counts.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
from collections.abc import Iterator
12
from contextlib import AbstractContextManager, ExitStack, contextmanager
23
from datetime import datetime, timedelta, timezone
3-
from typing import Any, Iterator
4+
from typing import Any
45
from unittest import mock
56

67
import time_machine

analytics/views/stats.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
from collections import defaultdict
33
from datetime import datetime, timedelta, timezone
4-
from typing import Any, Optional, TypeVar, cast
4+
from typing import Any, Optional, TypeAlias, TypeVar, cast
55

66
from django.conf import settings
77
from django.db.models import QuerySet
@@ -10,7 +10,6 @@
1010
from django.utils import translation
1111
from django.utils.timezone import now as timezone_now
1212
from django.utils.translation import gettext as _
13-
from typing_extensions import TypeAlias
1413

1514
from analytics.lib.counts import COUNT_STATS, CountStat
1615
from analytics.lib.time_utils import time_range

confirmation/models.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
__revision__ = "$Id: models.py 28 2009-10-22 15:03:02Z jarek.zgoda $"
44
import secrets
55
from base64 import b32encode
6+
from collections.abc import Mapping
67
from datetime import timedelta
7-
from typing import Mapping, Optional, Union, cast
8+
from typing import Optional, TypeAlias, Union, cast
89
from urllib.parse import urljoin
910

1011
from django.conf import settings
@@ -16,7 +17,7 @@
1617
from django.template.response import TemplateResponse
1718
from django.urls import reverse
1819
from django.utils.timezone import now as timezone_now
19-
from typing_extensions import TypeAlias, override
20+
from typing_extensions import override
2021

2122
from confirmation import settings as confirmation_settings
2223
from zerver.lib.types import UnspecifiedValue

corporate/lib/activity.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from collections import defaultdict
2+
from collections.abc import Callable, Sequence
23
from dataclasses import dataclass
34
from datetime import datetime
45
from decimal import Decimal
5-
from typing import Any, Callable, Sequence
6+
from typing import Any
67
from urllib.parse import urlencode
78

89
from django.conf import settings

corporate/lib/decorator.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1+
from collections.abc import Callable
12
from functools import wraps
2-
from typing import Callable
3+
from typing import Concatenate
34
from urllib.parse import urlencode, urljoin
45

56
from django.conf import settings
67
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect, JsonResponse
78
from django.shortcuts import render
89
from django.urls import reverse
9-
from typing_extensions import Concatenate, ParamSpec
10+
from typing_extensions import ParamSpec
1011

1112
from corporate.lib.remote_billing_util import (
1213
RemoteBillingIdentityExpiredError,

corporate/lib/stripe.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
import os
44
import secrets
55
from abc import ABC, abstractmethod
6+
from collections.abc import Callable, Generator
67
from dataclasses import dataclass
78
from datetime import datetime, timedelta, timezone
89
from decimal import Decimal
910
from enum import Enum
1011
from functools import wraps
11-
from typing import Any, Callable, Generator, Literal, TypedDict, TypeVar
12+
from typing import Any, Literal, TypedDict, TypeVar
1213
from urllib.parse import urlencode, urljoin
1314

1415
import stripe

corporate/lib/stripe_event_handler.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
2-
from typing import Any, Callable
2+
from collections.abc import Callable
3+
from typing import Any
34

45
import stripe
56
from django.conf import settings

corporate/tests/test_stripe.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
import sys
77
import typing
88
import uuid
9+
from collections.abc import Callable, Mapping, Sequence
910
from dataclasses import dataclass
1011
from datetime import datetime, timedelta, timezone
1112
from decimal import Decimal
1213
from functools import wraps
13-
from typing import TYPE_CHECKING, Any, Callable, Literal, Mapping, Optional, Sequence, TypeVar, cast
14+
from typing import TYPE_CHECKING, Any, Literal, Optional, TypeVar, cast
1415
from unittest import mock
1516
from unittest.mock import MagicMock, Mock, patch
1617

corporate/views/billing_page.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import logging
2-
from typing import Any, Literal
2+
from typing import Annotated, Any, Literal
33

44
from django.http import HttpRequest, HttpResponse, HttpResponseNotAllowed, HttpResponseRedirect
55
from django.shortcuts import render
66
from django.urls import reverse
77
from django.utils.translation import gettext as _
88
from pydantic import AfterValidator, Json
9-
from typing_extensions import Annotated
109

1110
from corporate.lib.decorator import (
1211
authenticated_remote_realm_management_endpoint,

corporate/views/realm_activity.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import itertools
22
import re
3+
from collections.abc import Collection
34
from dataclasses import dataclass
45
from datetime import datetime
5-
from typing import Any, Collection
6+
from typing import Any
67

78
from django.db.models import QuerySet
89
from django.http import HttpRequest, HttpResponse, HttpResponseNotFound

corporate/views/remote_billing_page.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Any, Literal, cast
2+
from typing import Any, Literal, TypeAlias, cast
33
from urllib.parse import urlsplit, urlunsplit
44

55
from django.conf import settings
@@ -15,7 +15,6 @@
1515
from django.utils.translation import gettext as _
1616
from django.views.decorators.csrf import csrf_exempt
1717
from pydantic import Json
18-
from typing_extensions import TypeAlias
1918

2019
from confirmation.models import (
2120
Confirmation,

corporate/views/support.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import uuid
2+
from collections.abc import Iterable
23
from contextlib import suppress
34
from dataclasses import dataclass
45
from datetime import timedelta
56
from operator import attrgetter
6-
from typing import Any, Iterable
7+
from typing import Annotated, Any, Literal
78
from urllib.parse import urlencode, urlsplit
89

910
from django import forms
@@ -18,7 +19,6 @@
1819
from django.utils.timezone import now as timezone_now
1920
from django.utils.translation import gettext as _
2021
from pydantic import AfterValidator, Json, NonNegativeInt
21-
from typing_extensions import Annotated, Literal
2222

2323
from confirmation.models import Confirmation, confirmation_url
2424
from confirmation.settings import STATUS_USED

corporate/views/upgrade.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import logging
2+
from typing import Annotated
23

34
from django.conf import settings
45
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect
56
from django.shortcuts import render
67
from pydantic import AfterValidator, Json
7-
from typing_extensions import Annotated
88

99
from corporate.lib.decorator import (
1010
authenticated_remote_realm_management_endpoint,

puppet/kandra/files/memcached_exporter

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import contextlib
44
import sys
55
import time
6-
from typing import Any, Iterable, Sequence
6+
from collections.abc import Iterable, Sequence
7+
from typing import Any
78

89
sys.path.append("/home/zulip/deployments/current")
910
from scripts.lib.setup_path import setup_path

puppet/zulip/files/postgresql/wal-g-exporter

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ import os
77
import subprocess
88
import sys
99
from collections import defaultdict
10+
from collections.abc import Mapping
1011
from datetime import datetime, timedelta, timezone
1112
from http.server import BaseHTTPRequestHandler, HTTPServer
12-
from typing import Mapping, Protocol
13+
from typing import Protocol
1314
from urllib.parse import parse_qs, urlsplit
1415

1516

scripts/lib/hash_reqs.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import os
55
import subprocess
66
import sys
7-
from typing import Iterable
7+
from collections.abc import Iterable
88

99

1010
def expand_reqs_helper(fpath: str) -> list[str]:

scripts/lib/zulip_tools.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
import sys
1616
import time
1717
import uuid
18+
from collections.abc import Sequence
1819
from datetime import datetime, timedelta
19-
from typing import IO, Any, Literal, Sequence, overload
20+
from typing import IO, Any, Literal, overload
2021
from urllib.parse import SplitResult
2122

2223
import zoneinfo

scripts/log-search

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import signal
1010
import sys
1111
from datetime import date, datetime, timedelta, timezone
1212
from enum import Enum, auto
13-
from typing import Match, TextIO
13+
from re import Match
14+
from typing import TextIO
1415

1516
ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
1617
sys.path.append(ZULIP_PATH)

tools/check-schemas

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import difflib
1414
import os
1515
import subprocess
1616
import sys
17-
from typing import Any, Callable
17+
from collections.abc import Callable
18+
from typing import Any
1819

1920
import orjson
2021

tools/check-templates

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ from tools.lib import sanity_check
1111

1212
sanity_check.check_venv(__file__)
1313

14-
from typing import Iterable
14+
from collections.abc import Iterable
1515

1616
from zulint import lister
1717

tools/diagnose

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import platform
44
import shlex
55
import subprocess
66
import sys
7-
from typing import Callable
7+
from collections.abc import Callable
88

99
TOOLS_DIR = os.path.dirname(__file__)
1010
ROOT_DIR = os.path.dirname(TOOLS_DIR)

tools/documentation_crawler/documentation_crawler/spiders/common/spiders.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22
import os
33
import re
4-
from typing import Callable, Iterator
4+
from collections.abc import Callable, Iterator
55
from urllib.parse import urlsplit
66

77
import scrapy

tools/lib/capitalization.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import re
2-
from typing import Match
2+
from re import Match
33

44
from bs4 import BeautifulSoup
55

tools/lib/template_parser.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Callable
1+
from collections.abc import Callable
22

33
from typing_extensions import override
44

tools/lib/test_script.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import subprocess
44
import sys
55
from argparse import ArgumentParser
6-
from typing import Iterable
6+
from collections.abc import Iterable
77

88
from scripts.lib.zulip_tools import get_dev_uuid_var_path
99
from version import PROVISION_VERSION

tools/lib/test_server.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
import subprocess
33
import sys
44
import time
5+
from collections.abc import Iterator
56
from contextlib import ExitStack, contextmanager
6-
from typing import Iterator
77

88
# Verify the Zulip venv is available.
99
from tools.lib import sanity_check

tools/semgrep-py.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,10 @@ rules:
279279
def $F(..., invalid_param: typing.Optional[<... zerver.lib.typed_endpoint.ApiParamConfig(...) ...>], ...) -> ...:
280280
...
281281
- pattern-not: |
282-
def $F(..., $A: typing_extensions.Annotated[<... zerver.lib.typed_endpoint.ApiParamConfig(...) ...>], ...) -> ...:
282+
def $F(..., $A: typing.Annotated[<... zerver.lib.typed_endpoint.ApiParamConfig(...) ...>], ...) -> ...:
283283
...
284284
- pattern-not: |
285-
def $F(..., $A: typing_extensions.Annotated[<... zerver.lib.typed_endpoint.ApiParamConfig(...) ...>] = ..., ...) -> ...:
285+
def $F(..., $A: typing.Annotated[<... zerver.lib.typed_endpoint.ApiParamConfig(...) ...>] = ..., ...) -> ...:
286286
...
287287
- pattern-either:
288288
- pattern: |

tools/setup/emoji/build_emoji

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import os
66
import shutil
77
import sys
8-
from typing import Any, Iterator, Sequence
8+
from collections.abc import Iterator, Sequence
9+
from typing import Any
910

1011
import orjson
1112

tools/tail-ses

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ setup_path()
1212
os.environ["DJANGO_SETTINGS_MODULE"] = "zproject.settings"
1313
import argparse
1414
import secrets
15+
from collections.abc import Iterator
1516
from contextlib import contextmanager
16-
from typing import Iterator, TypedDict
17+
from typing import TypedDict
1718

1819
import boto3.session
1920
import orjson

tools/test-backend

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ import shlex
88
import subprocess
99
import sys
1010
import tempfile
11-
from typing import TYPE_CHECKING, Iterator, cast
11+
from collections.abc import Iterator
12+
from typing import TYPE_CHECKING, cast
1213
from unittest import mock
1314

1415
if TYPE_CHECKING:

tools/test-documentation

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import argparse
33
import os
44
import subprocess
55
import sys
6-
from typing import Sequence
6+
from collections.abc import Sequence
77

88
ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
99
os.chdir(ZULIP_PATH)

tools/test-help-documentation

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import contextlib
44
import os
55
import subprocess
66
import sys
7-
from typing import Iterator
7+
from collections.abc import Iterator
88

99
ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
1010
os.chdir(ZULIP_PATH)

0 commit comments

Comments
 (0)