Skip to content

Commit

Permalink
fix(typing): Add missing type stubs for dependencies (#5126)
Browse files Browse the repository at this point in the history
  • Loading branch information
khvn26 authored Feb 19, 2025
1 parent 66629e4 commit 4e1ba8b
Show file tree
Hide file tree
Showing 19 changed files with 170 additions and 29 deletions.
2 changes: 1 addition & 1 deletion api/app/settings/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from importlib import reload

import dj_database_url # type: ignore[import-untyped]
import pytz # type: ignore[import-untyped]
import pytz
from corsheaders.defaults import default_headers # type: ignore[import-untyped]
from django.core.exceptions import ImproperlyConfigured
from django.core.management.utils import get_random_secret_key
Expand Down
10 changes: 6 additions & 4 deletions api/app_analytics/analytics_db_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
from typing import List

from app_analytics.dataclasses import FeatureEvaluationData, UsageData
from app_analytics.influxdb_wrapper import get_events_for_organisation
from app_analytics.influxdb_wrapper import (
get_events_for_organisation,
)
from app_analytics.influxdb_wrapper import (
get_feature_evaluation_data as get_feature_evaluation_data_from_influxdb,
)
Expand All @@ -14,7 +16,7 @@
FeatureEvaluationBucket,
Resource,
)
from dateutil.relativedelta import relativedelta # type: ignore[import-untyped]
from dateutil.relativedelta import relativedelta
from django.conf import settings
from django.db.models import Sum
from django.utils import timezone
Expand Down Expand Up @@ -76,7 +78,7 @@ def get_usage_data(

if date_start:
assert date_stop
kwargs["date_start"] = date_start
kwargs["date_start"] = date_start # type: ignore[assignment]
kwargs["date_stop"] = date_stop # type: ignore[assignment]

return get_usage_data_from_local_db(**kwargs) # type: ignore[arg-type]
Expand All @@ -89,7 +91,7 @@ def get_usage_data(

if date_start:
assert date_stop
kwargs["date_start"] = date_start
kwargs["date_start"] = date_start # type: ignore[assignment]
kwargs["date_stop"] = date_stop # type: ignore[assignment]

return get_usage_data_from_influxdb(**kwargs) # type: ignore[arg-type]
Expand Down
6 changes: 3 additions & 3 deletions api/app_analytics/influxdb_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

from django.conf import settings
from django.utils import timezone
from influxdb_client import InfluxDBClient, Point # type: ignore[import-untyped]
from influxdb_client.client.exceptions import InfluxDBError # type: ignore[import-untyped]
from influxdb_client.client.write_api import SYNCHRONOUS # type: ignore[import-untyped]
from influxdb_client import InfluxDBClient, Point
from influxdb_client.client.exceptions import InfluxDBError
from influxdb_client.client.write_api import SYNCHRONOUS
from sentry_sdk import capture_exception
from urllib3 import Retry
from urllib3.exceptions import HTTPError
Expand Down
4 changes: 2 additions & 2 deletions api/app_analytics/management/commands/sendapiusagetoinflux.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

from django.conf import settings
from django.core.management import BaseCommand
from influxdb_client import InfluxDBClient, Point # type: ignore[import-untyped]
from influxdb_client.client.write_api import SYNCHRONOUS # type: ignore[import-untyped]
from influxdb_client import InfluxDBClient, Point
from influxdb_client.client.write_api import SYNCHRONOUS


class Command(BaseCommand):
Expand Down
6 changes: 4 additions & 2 deletions api/organisations/chargebee/chargebee.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
from datetime import datetime

import chargebee # type: ignore[import-untyped]
from chargebee.api_error import APIError as ChargebeeAPIError # type: ignore[import-untyped]
from chargebee.api_error import ( # type: ignore[import-untyped]
APIError as ChargebeeAPIError,
)
from django.conf import settings
from pytz import UTC # type: ignore[import-untyped]
from pytz import UTC

from ..subscriptions.constants import CHARGEBEE
from ..subscriptions.exceptions import (
Expand Down
2 changes: 1 addition & 1 deletion api/organisations/task_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from app_analytics.influxdb_wrapper import get_current_api_usage
from core.helpers import get_current_site_url
from dateutil.relativedelta import relativedelta # type: ignore[import-untyped]
from dateutil.relativedelta import relativedelta
from django.conf import settings
from django.core.mail import send_mail
from django.template.loader import render_to_string
Expand Down
2 changes: 1 addition & 1 deletion api/organisations/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from datetime import timedelta

from app_analytics.influxdb_wrapper import get_current_api_usage
from dateutil.relativedelta import relativedelta # type: ignore[import-untyped]
from dateutil.relativedelta import relativedelta
from django.conf import settings
from django.core.mail import send_mail
from django.db.models import F, Max, Q
Expand Down
2 changes: 1 addition & 1 deletion api/organisations/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
get_multiple_event_list_for_organisation,
)
from core.helpers import get_current_site_url
from dateutil.relativedelta import relativedelta # type: ignore[import-untyped]
from dateutil.relativedelta import relativedelta
from django.utils import timezone
from drf_yasg.utils import swagger_auto_schema # type: ignore[import-untyped]
from rest_framework import status, viewsets
Expand Down
125 changes: 124 additions & 1 deletion api/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions api/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,12 @@ django-stubs = "^5.1.3"
djangorestframework-stubs = "^3.15.2"
boto3-stubs = "^1.36.20"
types-requests = "^2.32.0.20241016"
types-markdown = "^3.7.0.20241204"
types-pygments = "^2.19.0.20250107"
types-influxdb-client = "^1.45.0.20241221"
types-psycopg2 = "^2.9.21.20250121"
types-python-dateutil = "^2.9.0.20241206"
types-pytz = "^2025.1.0.20250204"

[build-system]
requires = ["poetry>=2.0.0"]
Expand Down
2 changes: 1 addition & 1 deletion api/sse/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import requests
from app_analytics.influxdb_wrapper import influxdb_client
from django.conf import settings
from influxdb_client import Point, WriteOptions # type: ignore[import-untyped]
from influxdb_client import Point, WriteOptions
from task_processor.decorators import ( # type: ignore[import-untyped]
register_recurring_task,
register_task_handler,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
)
from django.conf import settings
from django.utils import timezone
from influxdb_client.client.exceptions import InfluxDBError # type: ignore[import-untyped]
from influxdb_client.rest import ApiException # type: ignore[import-untyped]
from influxdb_client.client.exceptions import InfluxDBError
from influxdb_client.rest import ApiException
from pytest_django.fixtures import SettingsWrapper
from pytest_mock import MockerFixture
from urllib3.exceptions import HTTPError
Expand Down
7 changes: 5 additions & 2 deletions api/tests/unit/features/test_unit_features_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@
from unittest import mock

import pytest
import pytz # type: ignore[import-untyped]
import pytz
from app_analytics.dataclasses import FeatureEvaluationData
from common.environments.permissions import ( # type: ignore[import-untyped]
MANAGE_SEGMENT_OVERRIDES,
UPDATE_FEATURE_STATE,
VIEW_ENVIRONMENT,
)
from common.projects.permissions import CREATE_FEATURE, VIEW_PROJECT # type: ignore[import-untyped]
from common.projects.permissions import ( # type: ignore[import-untyped]
CREATE_FEATURE,
VIEW_PROJECT,
)
from core.constants import FLAGSMITH_UPDATED_AT_HEADER
from django.conf import settings
from django.forms import model_to_dict
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from datetime import datetime

from dateutil.tz import tzlocal # type: ignore[import-untyped]
from dateutil.tz import tzlocal


class FakeHubspotResponse:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
import pytest
from _pytest.monkeypatch import MonkeyPatch
from chargebee import APIError # type: ignore[import-untyped]
from chargebee.api_error import APIError as ChargebeeAPIError # type: ignore[import-untyped]
from chargebee.api_error import ( # type: ignore[import-untyped]
APIError as ChargebeeAPIError,
)
from pytest_mock import MockerFixture
from pytz import UTC # type: ignore[import-untyped]
from pytz import UTC

from organisations.chargebee import ( # type: ignore[attr-defined]
add_100k_api_calls,
Expand Down
Loading

0 comments on commit 4e1ba8b

Please sign in to comment.