Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(typing): Add missing type stubs for dependencies #5126

Merged
merged 1 commit into from
Feb 19, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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
Loading