From 4eb8e56a1b7b62abdb9e2d816b86ea623dc88a20 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:41:05 +0000 Subject: [PATCH 01/51] Add mypy type checking to pre-commit --- .pre-commit-config.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a1a562398753..9fefccab5f78 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,12 @@ repos: + - repo: local + hooks: + - id: mypy-check + name: mypy check + entry: bash -c "cd api && poetry run python scripts/mypy_check.py" + language: system + types: [python] + - repo: https://github.com/PyCQA/isort rev: 5.13.2 hooks: From e92c2efabb56d914f7d11f73d8d039f41242447a Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:42:02 +0000 Subject: [PATCH 02/51] Add mypy to pyproject and update necessary dependencies --- api/poetry.lock | 812 +++++++++++++++++++++++++++++++++++++++------ api/pyproject.toml | 6 +- 2 files changed, 719 insertions(+), 99 deletions(-) diff --git a/api/poetry.lock b/api/poetry.lock index ba834dbae554..7b3141e0863b 100644 --- a/api/poetry.lock +++ b/api/poetry.lock @@ -218,6 +218,423 @@ s3transfer = ">=0.7.0,<0.8.0" [package.extras] crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] +[[package]] +name = "boto3-stubs" +version = "1.35.67" +description = "Type annotations for boto3 1.35.67 generated with mypy-boto3-builder 8.3.1" +optional = false +python-versions = ">=3.8" +files = [ + {file = "boto3_stubs-1.35.67-py3-none-any.whl", hash = "sha256:d10d274821319ca568dde9459904c0b3ef3406c1adf92c385906ab5d9d7c09c7"}, + {file = "boto3_stubs-1.35.67.tar.gz", hash = "sha256:17eecb4fb4c65fb12eb2fb9b57d44161e1b20ecce4f0241c4d6051a7a0ce3370"}, +] + +[package.dependencies] +botocore-stubs = "*" +types-s3transfer = "*" +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} + +[package.extras] +accessanalyzer = ["mypy-boto3-accessanalyzer (>=1.35.0,<1.36.0)"] +account = ["mypy-boto3-account (>=1.35.0,<1.36.0)"] +acm = ["mypy-boto3-acm (>=1.35.0,<1.36.0)"] +acm-pca = ["mypy-boto3-acm-pca (>=1.35.0,<1.36.0)"] +all = ["mypy-boto3-accessanalyzer (>=1.35.0,<1.36.0)", "mypy-boto3-account (>=1.35.0,<1.36.0)", "mypy-boto3-acm (>=1.35.0,<1.36.0)", "mypy-boto3-acm-pca (>=1.35.0,<1.36.0)", "mypy-boto3-amp (>=1.35.0,<1.36.0)", "mypy-boto3-amplify (>=1.35.0,<1.36.0)", "mypy-boto3-amplifybackend (>=1.35.0,<1.36.0)", "mypy-boto3-amplifyuibuilder (>=1.35.0,<1.36.0)", "mypy-boto3-apigateway (>=1.35.0,<1.36.0)", "mypy-boto3-apigatewaymanagementapi (>=1.35.0,<1.36.0)", "mypy-boto3-apigatewayv2 (>=1.35.0,<1.36.0)", "mypy-boto3-appconfig (>=1.35.0,<1.36.0)", "mypy-boto3-appconfigdata (>=1.35.0,<1.36.0)", "mypy-boto3-appfabric (>=1.35.0,<1.36.0)", "mypy-boto3-appflow (>=1.35.0,<1.36.0)", "mypy-boto3-appintegrations (>=1.35.0,<1.36.0)", "mypy-boto3-application-autoscaling (>=1.35.0,<1.36.0)", "mypy-boto3-application-insights (>=1.35.0,<1.36.0)", "mypy-boto3-application-signals (>=1.35.0,<1.36.0)", "mypy-boto3-applicationcostprofiler (>=1.35.0,<1.36.0)", "mypy-boto3-appmesh (>=1.35.0,<1.36.0)", "mypy-boto3-apprunner (>=1.35.0,<1.36.0)", "mypy-boto3-appstream (>=1.35.0,<1.36.0)", "mypy-boto3-appsync (>=1.35.0,<1.36.0)", "mypy-boto3-apptest (>=1.35.0,<1.36.0)", "mypy-boto3-arc-zonal-shift (>=1.35.0,<1.36.0)", "mypy-boto3-artifact (>=1.35.0,<1.36.0)", "mypy-boto3-athena (>=1.35.0,<1.36.0)", "mypy-boto3-auditmanager (>=1.35.0,<1.36.0)", "mypy-boto3-autoscaling (>=1.35.0,<1.36.0)", "mypy-boto3-autoscaling-plans (>=1.35.0,<1.36.0)", "mypy-boto3-b2bi (>=1.35.0,<1.36.0)", "mypy-boto3-backup (>=1.35.0,<1.36.0)", "mypy-boto3-backup-gateway (>=1.35.0,<1.36.0)", "mypy-boto3-batch (>=1.35.0,<1.36.0)", "mypy-boto3-bcm-data-exports (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-agent (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-agent-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-billing (>=1.35.0,<1.36.0)", "mypy-boto3-billingconductor (>=1.35.0,<1.36.0)", "mypy-boto3-braket (>=1.35.0,<1.36.0)", "mypy-boto3-budgets (>=1.35.0,<1.36.0)", "mypy-boto3-ce (>=1.35.0,<1.36.0)", "mypy-boto3-chatbot (>=1.35.0,<1.36.0)", "mypy-boto3-chime (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-identity (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-media-pipelines (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-meetings (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-messaging (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-voice (>=1.35.0,<1.36.0)", "mypy-boto3-cleanrooms (>=1.35.0,<1.36.0)", "mypy-boto3-cleanroomsml (>=1.35.0,<1.36.0)", "mypy-boto3-cloud9 (>=1.35.0,<1.36.0)", "mypy-boto3-cloudcontrol (>=1.35.0,<1.36.0)", "mypy-boto3-clouddirectory (>=1.35.0,<1.36.0)", "mypy-boto3-cloudformation (>=1.35.0,<1.36.0)", "mypy-boto3-cloudfront (>=1.35.0,<1.36.0)", "mypy-boto3-cloudfront-keyvaluestore (>=1.35.0,<1.36.0)", "mypy-boto3-cloudhsm (>=1.35.0,<1.36.0)", "mypy-boto3-cloudhsmv2 (>=1.35.0,<1.36.0)", "mypy-boto3-cloudsearch (>=1.35.0,<1.36.0)", "mypy-boto3-cloudsearchdomain (>=1.35.0,<1.36.0)", "mypy-boto3-cloudtrail (>=1.35.0,<1.36.0)", "mypy-boto3-cloudtrail-data (>=1.35.0,<1.36.0)", "mypy-boto3-cloudwatch (>=1.35.0,<1.36.0)", "mypy-boto3-codeartifact (>=1.35.0,<1.36.0)", "mypy-boto3-codebuild (>=1.35.0,<1.36.0)", "mypy-boto3-codecatalyst (>=1.35.0,<1.36.0)", "mypy-boto3-codecommit (>=1.35.0,<1.36.0)", "mypy-boto3-codeconnections (>=1.35.0,<1.36.0)", "mypy-boto3-codedeploy (>=1.35.0,<1.36.0)", "mypy-boto3-codeguru-reviewer (>=1.35.0,<1.36.0)", "mypy-boto3-codeguru-security (>=1.35.0,<1.36.0)", "mypy-boto3-codeguruprofiler (>=1.35.0,<1.36.0)", "mypy-boto3-codepipeline (>=1.35.0,<1.36.0)", "mypy-boto3-codestar-connections (>=1.35.0,<1.36.0)", "mypy-boto3-codestar-notifications (>=1.35.0,<1.36.0)", "mypy-boto3-cognito-identity (>=1.35.0,<1.36.0)", "mypy-boto3-cognito-idp (>=1.35.0,<1.36.0)", "mypy-boto3-cognito-sync (>=1.35.0,<1.36.0)", "mypy-boto3-comprehend (>=1.35.0,<1.36.0)", "mypy-boto3-comprehendmedical (>=1.35.0,<1.36.0)", "mypy-boto3-compute-optimizer (>=1.35.0,<1.36.0)", "mypy-boto3-config (>=1.35.0,<1.36.0)", "mypy-boto3-connect (>=1.35.0,<1.36.0)", "mypy-boto3-connect-contact-lens (>=1.35.0,<1.36.0)", "mypy-boto3-connectcampaigns (>=1.35.0,<1.36.0)", "mypy-boto3-connectcampaignsv2 (>=1.35.0,<1.36.0)", "mypy-boto3-connectcases (>=1.35.0,<1.36.0)", "mypy-boto3-connectparticipant (>=1.35.0,<1.36.0)", "mypy-boto3-controlcatalog (>=1.35.0,<1.36.0)", "mypy-boto3-controltower (>=1.35.0,<1.36.0)", "mypy-boto3-cost-optimization-hub (>=1.35.0,<1.36.0)", "mypy-boto3-cur (>=1.35.0,<1.36.0)", "mypy-boto3-customer-profiles (>=1.35.0,<1.36.0)", "mypy-boto3-databrew (>=1.35.0,<1.36.0)", "mypy-boto3-dataexchange (>=1.35.0,<1.36.0)", "mypy-boto3-datapipeline (>=1.35.0,<1.36.0)", "mypy-boto3-datasync (>=1.35.0,<1.36.0)", "mypy-boto3-datazone (>=1.35.0,<1.36.0)", "mypy-boto3-dax (>=1.35.0,<1.36.0)", "mypy-boto3-deadline (>=1.35.0,<1.36.0)", "mypy-boto3-detective (>=1.35.0,<1.36.0)", "mypy-boto3-devicefarm (>=1.35.0,<1.36.0)", "mypy-boto3-devops-guru (>=1.35.0,<1.36.0)", "mypy-boto3-directconnect (>=1.35.0,<1.36.0)", "mypy-boto3-discovery (>=1.35.0,<1.36.0)", "mypy-boto3-dlm (>=1.35.0,<1.36.0)", "mypy-boto3-dms (>=1.35.0,<1.36.0)", "mypy-boto3-docdb (>=1.35.0,<1.36.0)", "mypy-boto3-docdb-elastic (>=1.35.0,<1.36.0)", "mypy-boto3-drs (>=1.35.0,<1.36.0)", "mypy-boto3-ds (>=1.35.0,<1.36.0)", "mypy-boto3-ds-data (>=1.35.0,<1.36.0)", "mypy-boto3-dynamodb (>=1.35.0,<1.36.0)", "mypy-boto3-dynamodbstreams (>=1.35.0,<1.36.0)", "mypy-boto3-ebs (>=1.35.0,<1.36.0)", "mypy-boto3-ec2 (>=1.35.0,<1.36.0)", "mypy-boto3-ec2-instance-connect (>=1.35.0,<1.36.0)", "mypy-boto3-ecr (>=1.35.0,<1.36.0)", "mypy-boto3-ecr-public (>=1.35.0,<1.36.0)", "mypy-boto3-ecs (>=1.35.0,<1.36.0)", "mypy-boto3-efs (>=1.35.0,<1.36.0)", "mypy-boto3-eks (>=1.35.0,<1.36.0)", "mypy-boto3-eks-auth (>=1.35.0,<1.36.0)", "mypy-boto3-elastic-inference (>=1.35.0,<1.36.0)", "mypy-boto3-elasticache (>=1.35.0,<1.36.0)", "mypy-boto3-elasticbeanstalk (>=1.35.0,<1.36.0)", "mypy-boto3-elastictranscoder (>=1.35.0,<1.36.0)", "mypy-boto3-elb (>=1.35.0,<1.36.0)", "mypy-boto3-elbv2 (>=1.35.0,<1.36.0)", "mypy-boto3-emr (>=1.35.0,<1.36.0)", "mypy-boto3-emr-containers (>=1.35.0,<1.36.0)", "mypy-boto3-emr-serverless (>=1.35.0,<1.36.0)", "mypy-boto3-entityresolution (>=1.35.0,<1.36.0)", "mypy-boto3-es (>=1.35.0,<1.36.0)", "mypy-boto3-events (>=1.35.0,<1.36.0)", "mypy-boto3-evidently (>=1.35.0,<1.36.0)", "mypy-boto3-finspace (>=1.35.0,<1.36.0)", "mypy-boto3-finspace-data (>=1.35.0,<1.36.0)", "mypy-boto3-firehose (>=1.35.0,<1.36.0)", "mypy-boto3-fis (>=1.35.0,<1.36.0)", "mypy-boto3-fms (>=1.35.0,<1.36.0)", "mypy-boto3-forecast (>=1.35.0,<1.36.0)", "mypy-boto3-forecastquery (>=1.35.0,<1.36.0)", "mypy-boto3-frauddetector (>=1.35.0,<1.36.0)", "mypy-boto3-freetier (>=1.35.0,<1.36.0)", "mypy-boto3-fsx (>=1.35.0,<1.36.0)", "mypy-boto3-gamelift (>=1.35.0,<1.36.0)", "mypy-boto3-geo-maps (>=1.35.0,<1.36.0)", "mypy-boto3-geo-places (>=1.35.0,<1.36.0)", "mypy-boto3-geo-routes (>=1.35.0,<1.36.0)", "mypy-boto3-glacier (>=1.35.0,<1.36.0)", "mypy-boto3-globalaccelerator (>=1.35.0,<1.36.0)", "mypy-boto3-glue (>=1.35.0,<1.36.0)", "mypy-boto3-grafana (>=1.35.0,<1.36.0)", "mypy-boto3-greengrass (>=1.35.0,<1.36.0)", "mypy-boto3-greengrassv2 (>=1.35.0,<1.36.0)", "mypy-boto3-groundstation (>=1.35.0,<1.36.0)", "mypy-boto3-guardduty (>=1.35.0,<1.36.0)", "mypy-boto3-health (>=1.35.0,<1.36.0)", "mypy-boto3-healthlake (>=1.35.0,<1.36.0)", "mypy-boto3-iam (>=1.35.0,<1.36.0)", "mypy-boto3-identitystore (>=1.35.0,<1.36.0)", "mypy-boto3-imagebuilder (>=1.35.0,<1.36.0)", "mypy-boto3-importexport (>=1.35.0,<1.36.0)", "mypy-boto3-inspector (>=1.35.0,<1.36.0)", "mypy-boto3-inspector-scan (>=1.35.0,<1.36.0)", "mypy-boto3-inspector2 (>=1.35.0,<1.36.0)", "mypy-boto3-internetmonitor (>=1.35.0,<1.36.0)", "mypy-boto3-iot (>=1.35.0,<1.36.0)", "mypy-boto3-iot-data (>=1.35.0,<1.36.0)", "mypy-boto3-iot-jobs-data (>=1.35.0,<1.36.0)", "mypy-boto3-iot1click-devices (>=1.35.0,<1.36.0)", "mypy-boto3-iot1click-projects (>=1.35.0,<1.36.0)", "mypy-boto3-iotanalytics (>=1.35.0,<1.36.0)", "mypy-boto3-iotdeviceadvisor (>=1.35.0,<1.36.0)", "mypy-boto3-iotevents (>=1.35.0,<1.36.0)", "mypy-boto3-iotevents-data (>=1.35.0,<1.36.0)", "mypy-boto3-iotfleethub (>=1.35.0,<1.36.0)", "mypy-boto3-iotfleetwise (>=1.35.0,<1.36.0)", "mypy-boto3-iotsecuretunneling (>=1.35.0,<1.36.0)", "mypy-boto3-iotsitewise (>=1.35.0,<1.36.0)", "mypy-boto3-iotthingsgraph (>=1.35.0,<1.36.0)", "mypy-boto3-iottwinmaker (>=1.35.0,<1.36.0)", "mypy-boto3-iotwireless (>=1.35.0,<1.36.0)", "mypy-boto3-ivs (>=1.35.0,<1.36.0)", "mypy-boto3-ivs-realtime (>=1.35.0,<1.36.0)", "mypy-boto3-ivschat (>=1.35.0,<1.36.0)", "mypy-boto3-kafka (>=1.35.0,<1.36.0)", "mypy-boto3-kafkaconnect (>=1.35.0,<1.36.0)", "mypy-boto3-kendra (>=1.35.0,<1.36.0)", "mypy-boto3-kendra-ranking (>=1.35.0,<1.36.0)", "mypy-boto3-keyspaces (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-archived-media (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-media (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-signaling (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-webrtc-storage (>=1.35.0,<1.36.0)", "mypy-boto3-kinesisanalytics (>=1.35.0,<1.36.0)", "mypy-boto3-kinesisanalyticsv2 (>=1.35.0,<1.36.0)", "mypy-boto3-kinesisvideo (>=1.35.0,<1.36.0)", "mypy-boto3-kms (>=1.35.0,<1.36.0)", "mypy-boto3-lakeformation (>=1.35.0,<1.36.0)", "mypy-boto3-lambda (>=1.35.0,<1.36.0)", "mypy-boto3-launch-wizard (>=1.35.0,<1.36.0)", "mypy-boto3-lex-models (>=1.35.0,<1.36.0)", "mypy-boto3-lex-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-lexv2-models (>=1.35.0,<1.36.0)", "mypy-boto3-lexv2-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-license-manager (>=1.35.0,<1.36.0)", "mypy-boto3-license-manager-linux-subscriptions (>=1.35.0,<1.36.0)", "mypy-boto3-license-manager-user-subscriptions (>=1.35.0,<1.36.0)", "mypy-boto3-lightsail (>=1.35.0,<1.36.0)", "mypy-boto3-location (>=1.35.0,<1.36.0)", "mypy-boto3-logs (>=1.35.0,<1.36.0)", "mypy-boto3-lookoutequipment (>=1.35.0,<1.36.0)", "mypy-boto3-lookoutmetrics (>=1.35.0,<1.36.0)", "mypy-boto3-lookoutvision (>=1.35.0,<1.36.0)", "mypy-boto3-m2 (>=1.35.0,<1.36.0)", "mypy-boto3-machinelearning (>=1.35.0,<1.36.0)", "mypy-boto3-macie2 (>=1.35.0,<1.36.0)", "mypy-boto3-mailmanager (>=1.35.0,<1.36.0)", "mypy-boto3-managedblockchain (>=1.35.0,<1.36.0)", "mypy-boto3-managedblockchain-query (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-agreement (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-catalog (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-deployment (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-entitlement (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-reporting (>=1.35.0,<1.36.0)", "mypy-boto3-marketplacecommerceanalytics (>=1.35.0,<1.36.0)", "mypy-boto3-mediaconnect (>=1.35.0,<1.36.0)", "mypy-boto3-mediaconvert (>=1.35.0,<1.36.0)", "mypy-boto3-medialive (>=1.35.0,<1.36.0)", "mypy-boto3-mediapackage (>=1.35.0,<1.36.0)", "mypy-boto3-mediapackage-vod (>=1.35.0,<1.36.0)", "mypy-boto3-mediapackagev2 (>=1.35.0,<1.36.0)", "mypy-boto3-mediastore (>=1.35.0,<1.36.0)", "mypy-boto3-mediastore-data (>=1.35.0,<1.36.0)", "mypy-boto3-mediatailor (>=1.35.0,<1.36.0)", "mypy-boto3-medical-imaging (>=1.35.0,<1.36.0)", "mypy-boto3-memorydb (>=1.35.0,<1.36.0)", "mypy-boto3-meteringmarketplace (>=1.35.0,<1.36.0)", "mypy-boto3-mgh (>=1.35.0,<1.36.0)", "mypy-boto3-mgn (>=1.35.0,<1.36.0)", "mypy-boto3-migration-hub-refactor-spaces (>=1.35.0,<1.36.0)", "mypy-boto3-migrationhub-config (>=1.35.0,<1.36.0)", "mypy-boto3-migrationhuborchestrator (>=1.35.0,<1.36.0)", "mypy-boto3-migrationhubstrategy (>=1.35.0,<1.36.0)", "mypy-boto3-mq (>=1.35.0,<1.36.0)", "mypy-boto3-mturk (>=1.35.0,<1.36.0)", "mypy-boto3-mwaa (>=1.35.0,<1.36.0)", "mypy-boto3-neptune (>=1.35.0,<1.36.0)", "mypy-boto3-neptune-graph (>=1.35.0,<1.36.0)", "mypy-boto3-neptunedata (>=1.35.0,<1.36.0)", "mypy-boto3-network-firewall (>=1.35.0,<1.36.0)", "mypy-boto3-networkmanager (>=1.35.0,<1.36.0)", "mypy-boto3-networkmonitor (>=1.35.0,<1.36.0)", "mypy-boto3-notifications (>=1.35.0,<1.36.0)", "mypy-boto3-notificationscontacts (>=1.35.0,<1.36.0)", "mypy-boto3-oam (>=1.35.0,<1.36.0)", "mypy-boto3-omics (>=1.35.0,<1.36.0)", "mypy-boto3-opensearch (>=1.35.0,<1.36.0)", "mypy-boto3-opensearchserverless (>=1.35.0,<1.36.0)", "mypy-boto3-opsworks (>=1.35.0,<1.36.0)", "mypy-boto3-opsworkscm (>=1.35.0,<1.36.0)", "mypy-boto3-organizations (>=1.35.0,<1.36.0)", "mypy-boto3-osis (>=1.35.0,<1.36.0)", "mypy-boto3-outposts (>=1.35.0,<1.36.0)", "mypy-boto3-panorama (>=1.35.0,<1.36.0)", "mypy-boto3-partnercentral-selling (>=1.35.0,<1.36.0)", "mypy-boto3-payment-cryptography (>=1.35.0,<1.36.0)", "mypy-boto3-payment-cryptography-data (>=1.35.0,<1.36.0)", "mypy-boto3-pca-connector-ad (>=1.35.0,<1.36.0)", "mypy-boto3-pca-connector-scep (>=1.35.0,<1.36.0)", "mypy-boto3-pcs (>=1.35.0,<1.36.0)", "mypy-boto3-personalize (>=1.35.0,<1.36.0)", "mypy-boto3-personalize-events (>=1.35.0,<1.36.0)", "mypy-boto3-personalize-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-pi (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint-email (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint-sms-voice (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint-sms-voice-v2 (>=1.35.0,<1.36.0)", "mypy-boto3-pipes (>=1.35.0,<1.36.0)", "mypy-boto3-polly (>=1.35.0,<1.36.0)", "mypy-boto3-pricing (>=1.35.0,<1.36.0)", "mypy-boto3-privatenetworks (>=1.35.0,<1.36.0)", "mypy-boto3-proton (>=1.35.0,<1.36.0)", "mypy-boto3-qapps (>=1.35.0,<1.36.0)", "mypy-boto3-qbusiness (>=1.35.0,<1.36.0)", "mypy-boto3-qconnect (>=1.35.0,<1.36.0)", "mypy-boto3-qldb (>=1.35.0,<1.36.0)", "mypy-boto3-qldb-session (>=1.35.0,<1.36.0)", "mypy-boto3-quicksight (>=1.35.0,<1.36.0)", "mypy-boto3-ram (>=1.35.0,<1.36.0)", "mypy-boto3-rbin (>=1.35.0,<1.36.0)", "mypy-boto3-rds (>=1.35.0,<1.36.0)", "mypy-boto3-rds-data (>=1.35.0,<1.36.0)", "mypy-boto3-redshift (>=1.35.0,<1.36.0)", "mypy-boto3-redshift-data (>=1.35.0,<1.36.0)", "mypy-boto3-redshift-serverless (>=1.35.0,<1.36.0)", "mypy-boto3-rekognition (>=1.35.0,<1.36.0)", "mypy-boto3-repostspace (>=1.35.0,<1.36.0)", "mypy-boto3-resiliencehub (>=1.35.0,<1.36.0)", "mypy-boto3-resource-explorer-2 (>=1.35.0,<1.36.0)", "mypy-boto3-resource-groups (>=1.35.0,<1.36.0)", "mypy-boto3-resourcegroupstaggingapi (>=1.35.0,<1.36.0)", "mypy-boto3-robomaker (>=1.35.0,<1.36.0)", "mypy-boto3-rolesanywhere (>=1.35.0,<1.36.0)", "mypy-boto3-route53 (>=1.35.0,<1.36.0)", "mypy-boto3-route53-recovery-cluster (>=1.35.0,<1.36.0)", "mypy-boto3-route53-recovery-control-config (>=1.35.0,<1.36.0)", "mypy-boto3-route53-recovery-readiness (>=1.35.0,<1.36.0)", "mypy-boto3-route53domains (>=1.35.0,<1.36.0)", "mypy-boto3-route53profiles (>=1.35.0,<1.36.0)", "mypy-boto3-route53resolver (>=1.35.0,<1.36.0)", "mypy-boto3-rum (>=1.35.0,<1.36.0)", "mypy-boto3-s3 (>=1.35.0,<1.36.0)", "mypy-boto3-s3control (>=1.35.0,<1.36.0)", "mypy-boto3-s3outposts (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-a2i-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-edge (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-featurestore-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-geospatial (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-metrics (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-savingsplans (>=1.35.0,<1.36.0)", "mypy-boto3-scheduler (>=1.35.0,<1.36.0)", "mypy-boto3-schemas (>=1.35.0,<1.36.0)", "mypy-boto3-sdb (>=1.35.0,<1.36.0)", "mypy-boto3-secretsmanager (>=1.35.0,<1.36.0)", "mypy-boto3-securityhub (>=1.35.0,<1.36.0)", "mypy-boto3-securitylake (>=1.35.0,<1.36.0)", "mypy-boto3-serverlessrepo (>=1.35.0,<1.36.0)", "mypy-boto3-service-quotas (>=1.35.0,<1.36.0)", "mypy-boto3-servicecatalog (>=1.35.0,<1.36.0)", "mypy-boto3-servicecatalog-appregistry (>=1.35.0,<1.36.0)", "mypy-boto3-servicediscovery (>=1.35.0,<1.36.0)", "mypy-boto3-ses (>=1.35.0,<1.36.0)", "mypy-boto3-sesv2 (>=1.35.0,<1.36.0)", "mypy-boto3-shield (>=1.35.0,<1.36.0)", "mypy-boto3-signer (>=1.35.0,<1.36.0)", "mypy-boto3-simspaceweaver (>=1.35.0,<1.36.0)", "mypy-boto3-sms (>=1.35.0,<1.36.0)", "mypy-boto3-sms-voice (>=1.35.0,<1.36.0)", "mypy-boto3-snow-device-management (>=1.35.0,<1.36.0)", "mypy-boto3-snowball (>=1.35.0,<1.36.0)", "mypy-boto3-sns (>=1.35.0,<1.36.0)", "mypy-boto3-socialmessaging (>=1.35.0,<1.36.0)", "mypy-boto3-sqs (>=1.35.0,<1.36.0)", "mypy-boto3-ssm (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-contacts (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-incidents (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-quicksetup (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-sap (>=1.35.0,<1.36.0)", "mypy-boto3-sso (>=1.35.0,<1.36.0)", "mypy-boto3-sso-admin (>=1.35.0,<1.36.0)", "mypy-boto3-sso-oidc (>=1.35.0,<1.36.0)", "mypy-boto3-stepfunctions (>=1.35.0,<1.36.0)", "mypy-boto3-storagegateway (>=1.35.0,<1.36.0)", "mypy-boto3-sts (>=1.35.0,<1.36.0)", "mypy-boto3-supplychain (>=1.35.0,<1.36.0)", "mypy-boto3-support (>=1.35.0,<1.36.0)", "mypy-boto3-support-app (>=1.35.0,<1.36.0)", "mypy-boto3-swf (>=1.35.0,<1.36.0)", "mypy-boto3-synthetics (>=1.35.0,<1.36.0)", "mypy-boto3-taxsettings (>=1.35.0,<1.36.0)", "mypy-boto3-textract (>=1.35.0,<1.36.0)", "mypy-boto3-timestream-influxdb (>=1.35.0,<1.36.0)", "mypy-boto3-timestream-query (>=1.35.0,<1.36.0)", "mypy-boto3-timestream-write (>=1.35.0,<1.36.0)", "mypy-boto3-tnb (>=1.35.0,<1.36.0)", "mypy-boto3-transcribe (>=1.35.0,<1.36.0)", "mypy-boto3-transfer (>=1.35.0,<1.36.0)", "mypy-boto3-translate (>=1.35.0,<1.36.0)", "mypy-boto3-trustedadvisor (>=1.35.0,<1.36.0)", "mypy-boto3-verifiedpermissions (>=1.35.0,<1.36.0)", "mypy-boto3-voice-id (>=1.35.0,<1.36.0)", "mypy-boto3-vpc-lattice (>=1.35.0,<1.36.0)", "mypy-boto3-waf (>=1.35.0,<1.36.0)", "mypy-boto3-waf-regional (>=1.35.0,<1.36.0)", "mypy-boto3-wafv2 (>=1.35.0,<1.36.0)", "mypy-boto3-wellarchitected (>=1.35.0,<1.36.0)", "mypy-boto3-wisdom (>=1.35.0,<1.36.0)", "mypy-boto3-workdocs (>=1.35.0,<1.36.0)", "mypy-boto3-workmail (>=1.35.0,<1.36.0)", "mypy-boto3-workmailmessageflow (>=1.35.0,<1.36.0)", "mypy-boto3-workspaces (>=1.35.0,<1.36.0)", "mypy-boto3-workspaces-thin-client (>=1.35.0,<1.36.0)", "mypy-boto3-workspaces-web (>=1.35.0,<1.36.0)", "mypy-boto3-xray (>=1.35.0,<1.36.0)"] +amp = ["mypy-boto3-amp (>=1.35.0,<1.36.0)"] +amplify = ["mypy-boto3-amplify (>=1.35.0,<1.36.0)"] +amplifybackend = ["mypy-boto3-amplifybackend (>=1.35.0,<1.36.0)"] +amplifyuibuilder = ["mypy-boto3-amplifyuibuilder (>=1.35.0,<1.36.0)"] +apigateway = ["mypy-boto3-apigateway (>=1.35.0,<1.36.0)"] +apigatewaymanagementapi = ["mypy-boto3-apigatewaymanagementapi (>=1.35.0,<1.36.0)"] +apigatewayv2 = ["mypy-boto3-apigatewayv2 (>=1.35.0,<1.36.0)"] +appconfig = ["mypy-boto3-appconfig (>=1.35.0,<1.36.0)"] +appconfigdata = ["mypy-boto3-appconfigdata (>=1.35.0,<1.36.0)"] +appfabric = ["mypy-boto3-appfabric (>=1.35.0,<1.36.0)"] +appflow = ["mypy-boto3-appflow (>=1.35.0,<1.36.0)"] +appintegrations = ["mypy-boto3-appintegrations (>=1.35.0,<1.36.0)"] +application-autoscaling = ["mypy-boto3-application-autoscaling (>=1.35.0,<1.36.0)"] +application-insights = ["mypy-boto3-application-insights (>=1.35.0,<1.36.0)"] +application-signals = ["mypy-boto3-application-signals (>=1.35.0,<1.36.0)"] +applicationcostprofiler = ["mypy-boto3-applicationcostprofiler (>=1.35.0,<1.36.0)"] +appmesh = ["mypy-boto3-appmesh (>=1.35.0,<1.36.0)"] +apprunner = ["mypy-boto3-apprunner (>=1.35.0,<1.36.0)"] +appstream = ["mypy-boto3-appstream (>=1.35.0,<1.36.0)"] +appsync = ["mypy-boto3-appsync (>=1.35.0,<1.36.0)"] +apptest = ["mypy-boto3-apptest (>=1.35.0,<1.36.0)"] +arc-zonal-shift = ["mypy-boto3-arc-zonal-shift (>=1.35.0,<1.36.0)"] +artifact = ["mypy-boto3-artifact (>=1.35.0,<1.36.0)"] +athena = ["mypy-boto3-athena (>=1.35.0,<1.36.0)"] +auditmanager = ["mypy-boto3-auditmanager (>=1.35.0,<1.36.0)"] +autoscaling = ["mypy-boto3-autoscaling (>=1.35.0,<1.36.0)"] +autoscaling-plans = ["mypy-boto3-autoscaling-plans (>=1.35.0,<1.36.0)"] +b2bi = ["mypy-boto3-b2bi (>=1.35.0,<1.36.0)"] +backup = ["mypy-boto3-backup (>=1.35.0,<1.36.0)"] +backup-gateway = ["mypy-boto3-backup-gateway (>=1.35.0,<1.36.0)"] +batch = ["mypy-boto3-batch (>=1.35.0,<1.36.0)"] +bcm-data-exports = ["mypy-boto3-bcm-data-exports (>=1.35.0,<1.36.0)"] +bedrock = ["mypy-boto3-bedrock (>=1.35.0,<1.36.0)"] +bedrock-agent = ["mypy-boto3-bedrock-agent (>=1.35.0,<1.36.0)"] +bedrock-agent-runtime = ["mypy-boto3-bedrock-agent-runtime (>=1.35.0,<1.36.0)"] +bedrock-runtime = ["mypy-boto3-bedrock-runtime (>=1.35.0,<1.36.0)"] +billing = ["mypy-boto3-billing (>=1.35.0,<1.36.0)"] +billingconductor = ["mypy-boto3-billingconductor (>=1.35.0,<1.36.0)"] +boto3 = ["boto3 (==1.35.67)", "botocore (==1.35.67)"] +braket = ["mypy-boto3-braket (>=1.35.0,<1.36.0)"] +budgets = ["mypy-boto3-budgets (>=1.35.0,<1.36.0)"] +ce = ["mypy-boto3-ce (>=1.35.0,<1.36.0)"] +chatbot = ["mypy-boto3-chatbot (>=1.35.0,<1.36.0)"] +chime = ["mypy-boto3-chime (>=1.35.0,<1.36.0)"] +chime-sdk-identity = ["mypy-boto3-chime-sdk-identity (>=1.35.0,<1.36.0)"] +chime-sdk-media-pipelines = ["mypy-boto3-chime-sdk-media-pipelines (>=1.35.0,<1.36.0)"] +chime-sdk-meetings = ["mypy-boto3-chime-sdk-meetings (>=1.35.0,<1.36.0)"] +chime-sdk-messaging = ["mypy-boto3-chime-sdk-messaging (>=1.35.0,<1.36.0)"] +chime-sdk-voice = ["mypy-boto3-chime-sdk-voice (>=1.35.0,<1.36.0)"] +cleanrooms = ["mypy-boto3-cleanrooms (>=1.35.0,<1.36.0)"] +cleanroomsml = ["mypy-boto3-cleanroomsml (>=1.35.0,<1.36.0)"] +cloud9 = ["mypy-boto3-cloud9 (>=1.35.0,<1.36.0)"] +cloudcontrol = ["mypy-boto3-cloudcontrol (>=1.35.0,<1.36.0)"] +clouddirectory = ["mypy-boto3-clouddirectory (>=1.35.0,<1.36.0)"] +cloudformation = ["mypy-boto3-cloudformation (>=1.35.0,<1.36.0)"] +cloudfront = ["mypy-boto3-cloudfront (>=1.35.0,<1.36.0)"] +cloudfront-keyvaluestore = ["mypy-boto3-cloudfront-keyvaluestore (>=1.35.0,<1.36.0)"] +cloudhsm = ["mypy-boto3-cloudhsm (>=1.35.0,<1.36.0)"] +cloudhsmv2 = ["mypy-boto3-cloudhsmv2 (>=1.35.0,<1.36.0)"] +cloudsearch = ["mypy-boto3-cloudsearch (>=1.35.0,<1.36.0)"] +cloudsearchdomain = ["mypy-boto3-cloudsearchdomain (>=1.35.0,<1.36.0)"] +cloudtrail = ["mypy-boto3-cloudtrail (>=1.35.0,<1.36.0)"] +cloudtrail-data = ["mypy-boto3-cloudtrail-data (>=1.35.0,<1.36.0)"] +cloudwatch = ["mypy-boto3-cloudwatch (>=1.35.0,<1.36.0)"] +codeartifact = ["mypy-boto3-codeartifact (>=1.35.0,<1.36.0)"] +codebuild = ["mypy-boto3-codebuild (>=1.35.0,<1.36.0)"] +codecatalyst = ["mypy-boto3-codecatalyst (>=1.35.0,<1.36.0)"] +codecommit = ["mypy-boto3-codecommit (>=1.35.0,<1.36.0)"] +codeconnections = ["mypy-boto3-codeconnections (>=1.35.0,<1.36.0)"] +codedeploy = ["mypy-boto3-codedeploy (>=1.35.0,<1.36.0)"] +codeguru-reviewer = ["mypy-boto3-codeguru-reviewer (>=1.35.0,<1.36.0)"] +codeguru-security = ["mypy-boto3-codeguru-security (>=1.35.0,<1.36.0)"] +codeguruprofiler = ["mypy-boto3-codeguruprofiler (>=1.35.0,<1.36.0)"] +codepipeline = ["mypy-boto3-codepipeline (>=1.35.0,<1.36.0)"] +codestar-connections = ["mypy-boto3-codestar-connections (>=1.35.0,<1.36.0)"] +codestar-notifications = ["mypy-boto3-codestar-notifications (>=1.35.0,<1.36.0)"] +cognito-identity = ["mypy-boto3-cognito-identity (>=1.35.0,<1.36.0)"] +cognito-idp = ["mypy-boto3-cognito-idp (>=1.35.0,<1.36.0)"] +cognito-sync = ["mypy-boto3-cognito-sync (>=1.35.0,<1.36.0)"] +comprehend = ["mypy-boto3-comprehend (>=1.35.0,<1.36.0)"] +comprehendmedical = ["mypy-boto3-comprehendmedical (>=1.35.0,<1.36.0)"] +compute-optimizer = ["mypy-boto3-compute-optimizer (>=1.35.0,<1.36.0)"] +config = ["mypy-boto3-config (>=1.35.0,<1.36.0)"] +connect = ["mypy-boto3-connect (>=1.35.0,<1.36.0)"] +connect-contact-lens = ["mypy-boto3-connect-contact-lens (>=1.35.0,<1.36.0)"] +connectcampaigns = ["mypy-boto3-connectcampaigns (>=1.35.0,<1.36.0)"] +connectcampaignsv2 = ["mypy-boto3-connectcampaignsv2 (>=1.35.0,<1.36.0)"] +connectcases = ["mypy-boto3-connectcases (>=1.35.0,<1.36.0)"] +connectparticipant = ["mypy-boto3-connectparticipant (>=1.35.0,<1.36.0)"] +controlcatalog = ["mypy-boto3-controlcatalog (>=1.35.0,<1.36.0)"] +controltower = ["mypy-boto3-controltower (>=1.35.0,<1.36.0)"] +cost-optimization-hub = ["mypy-boto3-cost-optimization-hub (>=1.35.0,<1.36.0)"] +cur = ["mypy-boto3-cur (>=1.35.0,<1.36.0)"] +customer-profiles = ["mypy-boto3-customer-profiles (>=1.35.0,<1.36.0)"] +databrew = ["mypy-boto3-databrew (>=1.35.0,<1.36.0)"] +dataexchange = ["mypy-boto3-dataexchange (>=1.35.0,<1.36.0)"] +datapipeline = ["mypy-boto3-datapipeline (>=1.35.0,<1.36.0)"] +datasync = ["mypy-boto3-datasync (>=1.35.0,<1.36.0)"] +datazone = ["mypy-boto3-datazone (>=1.35.0,<1.36.0)"] +dax = ["mypy-boto3-dax (>=1.35.0,<1.36.0)"] +deadline = ["mypy-boto3-deadline (>=1.35.0,<1.36.0)"] +detective = ["mypy-boto3-detective (>=1.35.0,<1.36.0)"] +devicefarm = ["mypy-boto3-devicefarm (>=1.35.0,<1.36.0)"] +devops-guru = ["mypy-boto3-devops-guru (>=1.35.0,<1.36.0)"] +directconnect = ["mypy-boto3-directconnect (>=1.35.0,<1.36.0)"] +discovery = ["mypy-boto3-discovery (>=1.35.0,<1.36.0)"] +dlm = ["mypy-boto3-dlm (>=1.35.0,<1.36.0)"] +dms = ["mypy-boto3-dms (>=1.35.0,<1.36.0)"] +docdb = ["mypy-boto3-docdb (>=1.35.0,<1.36.0)"] +docdb-elastic = ["mypy-boto3-docdb-elastic (>=1.35.0,<1.36.0)"] +drs = ["mypy-boto3-drs (>=1.35.0,<1.36.0)"] +ds = ["mypy-boto3-ds (>=1.35.0,<1.36.0)"] +ds-data = ["mypy-boto3-ds-data (>=1.35.0,<1.36.0)"] +dynamodb = ["mypy-boto3-dynamodb (>=1.35.0,<1.36.0)"] +dynamodbstreams = ["mypy-boto3-dynamodbstreams (>=1.35.0,<1.36.0)"] +ebs = ["mypy-boto3-ebs (>=1.35.0,<1.36.0)"] +ec2 = ["mypy-boto3-ec2 (>=1.35.0,<1.36.0)"] +ec2-instance-connect = ["mypy-boto3-ec2-instance-connect (>=1.35.0,<1.36.0)"] +ecr = ["mypy-boto3-ecr (>=1.35.0,<1.36.0)"] +ecr-public = ["mypy-boto3-ecr-public (>=1.35.0,<1.36.0)"] +ecs = ["mypy-boto3-ecs (>=1.35.0,<1.36.0)"] +efs = ["mypy-boto3-efs (>=1.35.0,<1.36.0)"] +eks = ["mypy-boto3-eks (>=1.35.0,<1.36.0)"] +eks-auth = ["mypy-boto3-eks-auth (>=1.35.0,<1.36.0)"] +elastic-inference = ["mypy-boto3-elastic-inference (>=1.35.0,<1.36.0)"] +elasticache = ["mypy-boto3-elasticache (>=1.35.0,<1.36.0)"] +elasticbeanstalk = ["mypy-boto3-elasticbeanstalk (>=1.35.0,<1.36.0)"] +elastictranscoder = ["mypy-boto3-elastictranscoder (>=1.35.0,<1.36.0)"] +elb = ["mypy-boto3-elb (>=1.35.0,<1.36.0)"] +elbv2 = ["mypy-boto3-elbv2 (>=1.35.0,<1.36.0)"] +emr = ["mypy-boto3-emr (>=1.35.0,<1.36.0)"] +emr-containers = ["mypy-boto3-emr-containers (>=1.35.0,<1.36.0)"] +emr-serverless = ["mypy-boto3-emr-serverless (>=1.35.0,<1.36.0)"] +entityresolution = ["mypy-boto3-entityresolution (>=1.35.0,<1.36.0)"] +es = ["mypy-boto3-es (>=1.35.0,<1.36.0)"] +essential = ["mypy-boto3-cloudformation (>=1.35.0,<1.36.0)", "mypy-boto3-dynamodb (>=1.35.0,<1.36.0)", "mypy-boto3-ec2 (>=1.35.0,<1.36.0)", "mypy-boto3-lambda (>=1.35.0,<1.36.0)", "mypy-boto3-rds (>=1.35.0,<1.36.0)", "mypy-boto3-s3 (>=1.35.0,<1.36.0)", "mypy-boto3-sqs (>=1.35.0,<1.36.0)"] +events = ["mypy-boto3-events (>=1.35.0,<1.36.0)"] +evidently = ["mypy-boto3-evidently (>=1.35.0,<1.36.0)"] +finspace = ["mypy-boto3-finspace (>=1.35.0,<1.36.0)"] +finspace-data = ["mypy-boto3-finspace-data (>=1.35.0,<1.36.0)"] +firehose = ["mypy-boto3-firehose (>=1.35.0,<1.36.0)"] +fis = ["mypy-boto3-fis (>=1.35.0,<1.36.0)"] +fms = ["mypy-boto3-fms (>=1.35.0,<1.36.0)"] +forecast = ["mypy-boto3-forecast (>=1.35.0,<1.36.0)"] +forecastquery = ["mypy-boto3-forecastquery (>=1.35.0,<1.36.0)"] +frauddetector = ["mypy-boto3-frauddetector (>=1.35.0,<1.36.0)"] +freetier = ["mypy-boto3-freetier (>=1.35.0,<1.36.0)"] +fsx = ["mypy-boto3-fsx (>=1.35.0,<1.36.0)"] +full = ["boto3-stubs-full"] +gamelift = ["mypy-boto3-gamelift (>=1.35.0,<1.36.0)"] +geo-maps = ["mypy-boto3-geo-maps (>=1.35.0,<1.36.0)"] +geo-places = ["mypy-boto3-geo-places (>=1.35.0,<1.36.0)"] +geo-routes = ["mypy-boto3-geo-routes (>=1.35.0,<1.36.0)"] +glacier = ["mypy-boto3-glacier (>=1.35.0,<1.36.0)"] +globalaccelerator = ["mypy-boto3-globalaccelerator (>=1.35.0,<1.36.0)"] +glue = ["mypy-boto3-glue (>=1.35.0,<1.36.0)"] +grafana = ["mypy-boto3-grafana (>=1.35.0,<1.36.0)"] +greengrass = ["mypy-boto3-greengrass (>=1.35.0,<1.36.0)"] +greengrassv2 = ["mypy-boto3-greengrassv2 (>=1.35.0,<1.36.0)"] +groundstation = ["mypy-boto3-groundstation (>=1.35.0,<1.36.0)"] +guardduty = ["mypy-boto3-guardduty (>=1.35.0,<1.36.0)"] +health = ["mypy-boto3-health (>=1.35.0,<1.36.0)"] +healthlake = ["mypy-boto3-healthlake (>=1.35.0,<1.36.0)"] +iam = ["mypy-boto3-iam (>=1.35.0,<1.36.0)"] +identitystore = ["mypy-boto3-identitystore (>=1.35.0,<1.36.0)"] +imagebuilder = ["mypy-boto3-imagebuilder (>=1.35.0,<1.36.0)"] +importexport = ["mypy-boto3-importexport (>=1.35.0,<1.36.0)"] +inspector = ["mypy-boto3-inspector (>=1.35.0,<1.36.0)"] +inspector-scan = ["mypy-boto3-inspector-scan (>=1.35.0,<1.36.0)"] +inspector2 = ["mypy-boto3-inspector2 (>=1.35.0,<1.36.0)"] +internetmonitor = ["mypy-boto3-internetmonitor (>=1.35.0,<1.36.0)"] +iot = ["mypy-boto3-iot (>=1.35.0,<1.36.0)"] +iot-data = ["mypy-boto3-iot-data (>=1.35.0,<1.36.0)"] +iot-jobs-data = ["mypy-boto3-iot-jobs-data (>=1.35.0,<1.36.0)"] +iot1click-devices = ["mypy-boto3-iot1click-devices (>=1.35.0,<1.36.0)"] +iot1click-projects = ["mypy-boto3-iot1click-projects (>=1.35.0,<1.36.0)"] +iotanalytics = ["mypy-boto3-iotanalytics (>=1.35.0,<1.36.0)"] +iotdeviceadvisor = ["mypy-boto3-iotdeviceadvisor (>=1.35.0,<1.36.0)"] +iotevents = ["mypy-boto3-iotevents (>=1.35.0,<1.36.0)"] +iotevents-data = ["mypy-boto3-iotevents-data (>=1.35.0,<1.36.0)"] +iotfleethub = ["mypy-boto3-iotfleethub (>=1.35.0,<1.36.0)"] +iotfleetwise = ["mypy-boto3-iotfleetwise (>=1.35.0,<1.36.0)"] +iotsecuretunneling = ["mypy-boto3-iotsecuretunneling (>=1.35.0,<1.36.0)"] +iotsitewise = ["mypy-boto3-iotsitewise (>=1.35.0,<1.36.0)"] +iotthingsgraph = ["mypy-boto3-iotthingsgraph (>=1.35.0,<1.36.0)"] +iottwinmaker = ["mypy-boto3-iottwinmaker (>=1.35.0,<1.36.0)"] +iotwireless = ["mypy-boto3-iotwireless (>=1.35.0,<1.36.0)"] +ivs = ["mypy-boto3-ivs (>=1.35.0,<1.36.0)"] +ivs-realtime = ["mypy-boto3-ivs-realtime (>=1.35.0,<1.36.0)"] +ivschat = ["mypy-boto3-ivschat (>=1.35.0,<1.36.0)"] +kafka = ["mypy-boto3-kafka (>=1.35.0,<1.36.0)"] +kafkaconnect = ["mypy-boto3-kafkaconnect (>=1.35.0,<1.36.0)"] +kendra = ["mypy-boto3-kendra (>=1.35.0,<1.36.0)"] +kendra-ranking = ["mypy-boto3-kendra-ranking (>=1.35.0,<1.36.0)"] +keyspaces = ["mypy-boto3-keyspaces (>=1.35.0,<1.36.0)"] +kinesis = ["mypy-boto3-kinesis (>=1.35.0,<1.36.0)"] +kinesis-video-archived-media = ["mypy-boto3-kinesis-video-archived-media (>=1.35.0,<1.36.0)"] +kinesis-video-media = ["mypy-boto3-kinesis-video-media (>=1.35.0,<1.36.0)"] +kinesis-video-signaling = ["mypy-boto3-kinesis-video-signaling (>=1.35.0,<1.36.0)"] +kinesis-video-webrtc-storage = ["mypy-boto3-kinesis-video-webrtc-storage (>=1.35.0,<1.36.0)"] +kinesisanalytics = ["mypy-boto3-kinesisanalytics (>=1.35.0,<1.36.0)"] +kinesisanalyticsv2 = ["mypy-boto3-kinesisanalyticsv2 (>=1.35.0,<1.36.0)"] +kinesisvideo = ["mypy-boto3-kinesisvideo (>=1.35.0,<1.36.0)"] +kms = ["mypy-boto3-kms (>=1.35.0,<1.36.0)"] +lakeformation = ["mypy-boto3-lakeformation (>=1.35.0,<1.36.0)"] +lambda = ["mypy-boto3-lambda (>=1.35.0,<1.36.0)"] +launch-wizard = ["mypy-boto3-launch-wizard (>=1.35.0,<1.36.0)"] +lex-models = ["mypy-boto3-lex-models (>=1.35.0,<1.36.0)"] +lex-runtime = ["mypy-boto3-lex-runtime (>=1.35.0,<1.36.0)"] +lexv2-models = ["mypy-boto3-lexv2-models (>=1.35.0,<1.36.0)"] +lexv2-runtime = ["mypy-boto3-lexv2-runtime (>=1.35.0,<1.36.0)"] +license-manager = ["mypy-boto3-license-manager (>=1.35.0,<1.36.0)"] +license-manager-linux-subscriptions = ["mypy-boto3-license-manager-linux-subscriptions (>=1.35.0,<1.36.0)"] +license-manager-user-subscriptions = ["mypy-boto3-license-manager-user-subscriptions (>=1.35.0,<1.36.0)"] +lightsail = ["mypy-boto3-lightsail (>=1.35.0,<1.36.0)"] +location = ["mypy-boto3-location (>=1.35.0,<1.36.0)"] +logs = ["mypy-boto3-logs (>=1.35.0,<1.36.0)"] +lookoutequipment = ["mypy-boto3-lookoutequipment (>=1.35.0,<1.36.0)"] +lookoutmetrics = ["mypy-boto3-lookoutmetrics (>=1.35.0,<1.36.0)"] +lookoutvision = ["mypy-boto3-lookoutvision (>=1.35.0,<1.36.0)"] +m2 = ["mypy-boto3-m2 (>=1.35.0,<1.36.0)"] +machinelearning = ["mypy-boto3-machinelearning (>=1.35.0,<1.36.0)"] +macie2 = ["mypy-boto3-macie2 (>=1.35.0,<1.36.0)"] +mailmanager = ["mypy-boto3-mailmanager (>=1.35.0,<1.36.0)"] +managedblockchain = ["mypy-boto3-managedblockchain (>=1.35.0,<1.36.0)"] +managedblockchain-query = ["mypy-boto3-managedblockchain-query (>=1.35.0,<1.36.0)"] +marketplace-agreement = ["mypy-boto3-marketplace-agreement (>=1.35.0,<1.36.0)"] +marketplace-catalog = ["mypy-boto3-marketplace-catalog (>=1.35.0,<1.36.0)"] +marketplace-deployment = ["mypy-boto3-marketplace-deployment (>=1.35.0,<1.36.0)"] +marketplace-entitlement = ["mypy-boto3-marketplace-entitlement (>=1.35.0,<1.36.0)"] +marketplace-reporting = ["mypy-boto3-marketplace-reporting (>=1.35.0,<1.36.0)"] +marketplacecommerceanalytics = ["mypy-boto3-marketplacecommerceanalytics (>=1.35.0,<1.36.0)"] +mediaconnect = ["mypy-boto3-mediaconnect (>=1.35.0,<1.36.0)"] +mediaconvert = ["mypy-boto3-mediaconvert (>=1.35.0,<1.36.0)"] +medialive = ["mypy-boto3-medialive (>=1.35.0,<1.36.0)"] +mediapackage = ["mypy-boto3-mediapackage (>=1.35.0,<1.36.0)"] +mediapackage-vod = ["mypy-boto3-mediapackage-vod (>=1.35.0,<1.36.0)"] +mediapackagev2 = ["mypy-boto3-mediapackagev2 (>=1.35.0,<1.36.0)"] +mediastore = ["mypy-boto3-mediastore (>=1.35.0,<1.36.0)"] +mediastore-data = ["mypy-boto3-mediastore-data (>=1.35.0,<1.36.0)"] +mediatailor = ["mypy-boto3-mediatailor (>=1.35.0,<1.36.0)"] +medical-imaging = ["mypy-boto3-medical-imaging (>=1.35.0,<1.36.0)"] +memorydb = ["mypy-boto3-memorydb (>=1.35.0,<1.36.0)"] +meteringmarketplace = ["mypy-boto3-meteringmarketplace (>=1.35.0,<1.36.0)"] +mgh = ["mypy-boto3-mgh (>=1.35.0,<1.36.0)"] +mgn = ["mypy-boto3-mgn (>=1.35.0,<1.36.0)"] +migration-hub-refactor-spaces = ["mypy-boto3-migration-hub-refactor-spaces (>=1.35.0,<1.36.0)"] +migrationhub-config = ["mypy-boto3-migrationhub-config (>=1.35.0,<1.36.0)"] +migrationhuborchestrator = ["mypy-boto3-migrationhuborchestrator (>=1.35.0,<1.36.0)"] +migrationhubstrategy = ["mypy-boto3-migrationhubstrategy (>=1.35.0,<1.36.0)"] +mq = ["mypy-boto3-mq (>=1.35.0,<1.36.0)"] +mturk = ["mypy-boto3-mturk (>=1.35.0,<1.36.0)"] +mwaa = ["mypy-boto3-mwaa (>=1.35.0,<1.36.0)"] +neptune = ["mypy-boto3-neptune (>=1.35.0,<1.36.0)"] +neptune-graph = ["mypy-boto3-neptune-graph (>=1.35.0,<1.36.0)"] +neptunedata = ["mypy-boto3-neptunedata (>=1.35.0,<1.36.0)"] +network-firewall = ["mypy-boto3-network-firewall (>=1.35.0,<1.36.0)"] +networkmanager = ["mypy-boto3-networkmanager (>=1.35.0,<1.36.0)"] +networkmonitor = ["mypy-boto3-networkmonitor (>=1.35.0,<1.36.0)"] +notifications = ["mypy-boto3-notifications (>=1.35.0,<1.36.0)"] +notificationscontacts = ["mypy-boto3-notificationscontacts (>=1.35.0,<1.36.0)"] +oam = ["mypy-boto3-oam (>=1.35.0,<1.36.0)"] +omics = ["mypy-boto3-omics (>=1.35.0,<1.36.0)"] +opensearch = ["mypy-boto3-opensearch (>=1.35.0,<1.36.0)"] +opensearchserverless = ["mypy-boto3-opensearchserverless (>=1.35.0,<1.36.0)"] +opsworks = ["mypy-boto3-opsworks (>=1.35.0,<1.36.0)"] +opsworkscm = ["mypy-boto3-opsworkscm (>=1.35.0,<1.36.0)"] +organizations = ["mypy-boto3-organizations (>=1.35.0,<1.36.0)"] +osis = ["mypy-boto3-osis (>=1.35.0,<1.36.0)"] +outposts = ["mypy-boto3-outposts (>=1.35.0,<1.36.0)"] +panorama = ["mypy-boto3-panorama (>=1.35.0,<1.36.0)"] +partnercentral-selling = ["mypy-boto3-partnercentral-selling (>=1.35.0,<1.36.0)"] +payment-cryptography = ["mypy-boto3-payment-cryptography (>=1.35.0,<1.36.0)"] +payment-cryptography-data = ["mypy-boto3-payment-cryptography-data (>=1.35.0,<1.36.0)"] +pca-connector-ad = ["mypy-boto3-pca-connector-ad (>=1.35.0,<1.36.0)"] +pca-connector-scep = ["mypy-boto3-pca-connector-scep (>=1.35.0,<1.36.0)"] +pcs = ["mypy-boto3-pcs (>=1.35.0,<1.36.0)"] +personalize = ["mypy-boto3-personalize (>=1.35.0,<1.36.0)"] +personalize-events = ["mypy-boto3-personalize-events (>=1.35.0,<1.36.0)"] +personalize-runtime = ["mypy-boto3-personalize-runtime (>=1.35.0,<1.36.0)"] +pi = ["mypy-boto3-pi (>=1.35.0,<1.36.0)"] +pinpoint = ["mypy-boto3-pinpoint (>=1.35.0,<1.36.0)"] +pinpoint-email = ["mypy-boto3-pinpoint-email (>=1.35.0,<1.36.0)"] +pinpoint-sms-voice = ["mypy-boto3-pinpoint-sms-voice (>=1.35.0,<1.36.0)"] +pinpoint-sms-voice-v2 = ["mypy-boto3-pinpoint-sms-voice-v2 (>=1.35.0,<1.36.0)"] +pipes = ["mypy-boto3-pipes (>=1.35.0,<1.36.0)"] +polly = ["mypy-boto3-polly (>=1.35.0,<1.36.0)"] +pricing = ["mypy-boto3-pricing (>=1.35.0,<1.36.0)"] +privatenetworks = ["mypy-boto3-privatenetworks (>=1.35.0,<1.36.0)"] +proton = ["mypy-boto3-proton (>=1.35.0,<1.36.0)"] +qapps = ["mypy-boto3-qapps (>=1.35.0,<1.36.0)"] +qbusiness = ["mypy-boto3-qbusiness (>=1.35.0,<1.36.0)"] +qconnect = ["mypy-boto3-qconnect (>=1.35.0,<1.36.0)"] +qldb = ["mypy-boto3-qldb (>=1.35.0,<1.36.0)"] +qldb-session = ["mypy-boto3-qldb-session (>=1.35.0,<1.36.0)"] +quicksight = ["mypy-boto3-quicksight (>=1.35.0,<1.36.0)"] +ram = ["mypy-boto3-ram (>=1.35.0,<1.36.0)"] +rbin = ["mypy-boto3-rbin (>=1.35.0,<1.36.0)"] +rds = ["mypy-boto3-rds (>=1.35.0,<1.36.0)"] +rds-data = ["mypy-boto3-rds-data (>=1.35.0,<1.36.0)"] +redshift = ["mypy-boto3-redshift (>=1.35.0,<1.36.0)"] +redshift-data = ["mypy-boto3-redshift-data (>=1.35.0,<1.36.0)"] +redshift-serverless = ["mypy-boto3-redshift-serverless (>=1.35.0,<1.36.0)"] +rekognition = ["mypy-boto3-rekognition (>=1.35.0,<1.36.0)"] +repostspace = ["mypy-boto3-repostspace (>=1.35.0,<1.36.0)"] +resiliencehub = ["mypy-boto3-resiliencehub (>=1.35.0,<1.36.0)"] +resource-explorer-2 = ["mypy-boto3-resource-explorer-2 (>=1.35.0,<1.36.0)"] +resource-groups = ["mypy-boto3-resource-groups (>=1.35.0,<1.36.0)"] +resourcegroupstaggingapi = ["mypy-boto3-resourcegroupstaggingapi (>=1.35.0,<1.36.0)"] +robomaker = ["mypy-boto3-robomaker (>=1.35.0,<1.36.0)"] +rolesanywhere = ["mypy-boto3-rolesanywhere (>=1.35.0,<1.36.0)"] +route53 = ["mypy-boto3-route53 (>=1.35.0,<1.36.0)"] +route53-recovery-cluster = ["mypy-boto3-route53-recovery-cluster (>=1.35.0,<1.36.0)"] +route53-recovery-control-config = ["mypy-boto3-route53-recovery-control-config (>=1.35.0,<1.36.0)"] +route53-recovery-readiness = ["mypy-boto3-route53-recovery-readiness (>=1.35.0,<1.36.0)"] +route53domains = ["mypy-boto3-route53domains (>=1.35.0,<1.36.0)"] +route53profiles = ["mypy-boto3-route53profiles (>=1.35.0,<1.36.0)"] +route53resolver = ["mypy-boto3-route53resolver (>=1.35.0,<1.36.0)"] +rum = ["mypy-boto3-rum (>=1.35.0,<1.36.0)"] +s3 = ["mypy-boto3-s3 (>=1.35.0,<1.36.0)"] +s3control = ["mypy-boto3-s3control (>=1.35.0,<1.36.0)"] +s3outposts = ["mypy-boto3-s3outposts (>=1.35.0,<1.36.0)"] +sagemaker = ["mypy-boto3-sagemaker (>=1.35.0,<1.36.0)"] +sagemaker-a2i-runtime = ["mypy-boto3-sagemaker-a2i-runtime (>=1.35.0,<1.36.0)"] +sagemaker-edge = ["mypy-boto3-sagemaker-edge (>=1.35.0,<1.36.0)"] +sagemaker-featurestore-runtime = ["mypy-boto3-sagemaker-featurestore-runtime (>=1.35.0,<1.36.0)"] +sagemaker-geospatial = ["mypy-boto3-sagemaker-geospatial (>=1.35.0,<1.36.0)"] +sagemaker-metrics = ["mypy-boto3-sagemaker-metrics (>=1.35.0,<1.36.0)"] +sagemaker-runtime = ["mypy-boto3-sagemaker-runtime (>=1.35.0,<1.36.0)"] +savingsplans = ["mypy-boto3-savingsplans (>=1.35.0,<1.36.0)"] +scheduler = ["mypy-boto3-scheduler (>=1.35.0,<1.36.0)"] +schemas = ["mypy-boto3-schemas (>=1.35.0,<1.36.0)"] +sdb = ["mypy-boto3-sdb (>=1.35.0,<1.36.0)"] +secretsmanager = ["mypy-boto3-secretsmanager (>=1.35.0,<1.36.0)"] +securityhub = ["mypy-boto3-securityhub (>=1.35.0,<1.36.0)"] +securitylake = ["mypy-boto3-securitylake (>=1.35.0,<1.36.0)"] +serverlessrepo = ["mypy-boto3-serverlessrepo (>=1.35.0,<1.36.0)"] +service-quotas = ["mypy-boto3-service-quotas (>=1.35.0,<1.36.0)"] +servicecatalog = ["mypy-boto3-servicecatalog (>=1.35.0,<1.36.0)"] +servicecatalog-appregistry = ["mypy-boto3-servicecatalog-appregistry (>=1.35.0,<1.36.0)"] +servicediscovery = ["mypy-boto3-servicediscovery (>=1.35.0,<1.36.0)"] +ses = ["mypy-boto3-ses (>=1.35.0,<1.36.0)"] +sesv2 = ["mypy-boto3-sesv2 (>=1.35.0,<1.36.0)"] +shield = ["mypy-boto3-shield (>=1.35.0,<1.36.0)"] +signer = ["mypy-boto3-signer (>=1.35.0,<1.36.0)"] +simspaceweaver = ["mypy-boto3-simspaceweaver (>=1.35.0,<1.36.0)"] +sms = ["mypy-boto3-sms (>=1.35.0,<1.36.0)"] +sms-voice = ["mypy-boto3-sms-voice (>=1.35.0,<1.36.0)"] +snow-device-management = ["mypy-boto3-snow-device-management (>=1.35.0,<1.36.0)"] +snowball = ["mypy-boto3-snowball (>=1.35.0,<1.36.0)"] +sns = ["mypy-boto3-sns (>=1.35.0,<1.36.0)"] +socialmessaging = ["mypy-boto3-socialmessaging (>=1.35.0,<1.36.0)"] +sqs = ["mypy-boto3-sqs (>=1.35.0,<1.36.0)"] +ssm = ["mypy-boto3-ssm (>=1.35.0,<1.36.0)"] +ssm-contacts = ["mypy-boto3-ssm-contacts (>=1.35.0,<1.36.0)"] +ssm-incidents = ["mypy-boto3-ssm-incidents (>=1.35.0,<1.36.0)"] +ssm-quicksetup = ["mypy-boto3-ssm-quicksetup (>=1.35.0,<1.36.0)"] +ssm-sap = ["mypy-boto3-ssm-sap (>=1.35.0,<1.36.0)"] +sso = ["mypy-boto3-sso (>=1.35.0,<1.36.0)"] +sso-admin = ["mypy-boto3-sso-admin (>=1.35.0,<1.36.0)"] +sso-oidc = ["mypy-boto3-sso-oidc (>=1.35.0,<1.36.0)"] +stepfunctions = ["mypy-boto3-stepfunctions (>=1.35.0,<1.36.0)"] +storagegateway = ["mypy-boto3-storagegateway (>=1.35.0,<1.36.0)"] +sts = ["mypy-boto3-sts (>=1.35.0,<1.36.0)"] +supplychain = ["mypy-boto3-supplychain (>=1.35.0,<1.36.0)"] +support = ["mypy-boto3-support (>=1.35.0,<1.36.0)"] +support-app = ["mypy-boto3-support-app (>=1.35.0,<1.36.0)"] +swf = ["mypy-boto3-swf (>=1.35.0,<1.36.0)"] +synthetics = ["mypy-boto3-synthetics (>=1.35.0,<1.36.0)"] +taxsettings = ["mypy-boto3-taxsettings (>=1.35.0,<1.36.0)"] +textract = ["mypy-boto3-textract (>=1.35.0,<1.36.0)"] +timestream-influxdb = ["mypy-boto3-timestream-influxdb (>=1.35.0,<1.36.0)"] +timestream-query = ["mypy-boto3-timestream-query (>=1.35.0,<1.36.0)"] +timestream-write = ["mypy-boto3-timestream-write (>=1.35.0,<1.36.0)"] +tnb = ["mypy-boto3-tnb (>=1.35.0,<1.36.0)"] +transcribe = ["mypy-boto3-transcribe (>=1.35.0,<1.36.0)"] +transfer = ["mypy-boto3-transfer (>=1.35.0,<1.36.0)"] +translate = ["mypy-boto3-translate (>=1.35.0,<1.36.0)"] +trustedadvisor = ["mypy-boto3-trustedadvisor (>=1.35.0,<1.36.0)"] +verifiedpermissions = ["mypy-boto3-verifiedpermissions (>=1.35.0,<1.36.0)"] +voice-id = ["mypy-boto3-voice-id (>=1.35.0,<1.36.0)"] +vpc-lattice = ["mypy-boto3-vpc-lattice (>=1.35.0,<1.36.0)"] +waf = ["mypy-boto3-waf (>=1.35.0,<1.36.0)"] +waf-regional = ["mypy-boto3-waf-regional (>=1.35.0,<1.36.0)"] +wafv2 = ["mypy-boto3-wafv2 (>=1.35.0,<1.36.0)"] +wellarchitected = ["mypy-boto3-wellarchitected (>=1.35.0,<1.36.0)"] +wisdom = ["mypy-boto3-wisdom (>=1.35.0,<1.36.0)"] +workdocs = ["mypy-boto3-workdocs (>=1.35.0,<1.36.0)"] +workmail = ["mypy-boto3-workmail (>=1.35.0,<1.36.0)"] +workmailmessageflow = ["mypy-boto3-workmailmessageflow (>=1.35.0,<1.36.0)"] +workspaces = ["mypy-boto3-workspaces (>=1.35.0,<1.36.0)"] +workspaces-thin-client = ["mypy-boto3-workspaces-thin-client (>=1.35.0,<1.36.0)"] +workspaces-web = ["mypy-boto3-workspaces-web (>=1.35.0,<1.36.0)"] +xray = ["mypy-boto3-xray (>=1.35.0,<1.36.0)"] + [[package]] name = "botocore" version = "1.31.78" @@ -237,6 +654,23 @@ urllib3 = {version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""} [package.extras] crt = ["awscrt (==0.16.26)"] +[[package]] +name = "botocore-stubs" +version = "1.35.67" +description = "Type annotations and code completion for botocore" +optional = false +python-versions = ">=3.8" +files = [ + {file = "botocore_stubs-1.35.67-py3-none-any.whl", hash = "sha256:2c10c6c34473e33c5ff1569aef44b8c4ce4afcb0a502a99f7f192dc31006e9f2"}, + {file = "botocore_stubs-1.35.67.tar.gz", hash = "sha256:21886510f4fd8f5804e4bb83661ba0e005e4c5236b89f70dd428e6cea68b0ee6"}, +] + +[package.dependencies] +types-awscrt = "*" + +[package.extras] +botocore = ["botocore"] + [[package]] name = "cachetools" version = "5.3.1" @@ -1016,6 +1450,44 @@ google = ["google-cloud-storage (>=1.15.0)"] libcloud = ["apache-libcloud"] sftp = ["paramiko"] +[[package]] +name = "django-stubs" +version = "5.1.1" +description = "Mypy stubs for Django" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_stubs-5.1.1-py3-none-any.whl", hash = "sha256:c4dc64260bd72e6d32b9e536e8dd0d9247922f0271f82d1d5132a18f24b388ac"}, + {file = "django_stubs-5.1.1.tar.gz", hash = "sha256:126d354bbdff4906c4e93e6361197f6fbfb6231c3df6def85a291dae6f9f577b"}, +] + +[package.dependencies] +asgiref = "*" +django = "*" +django-stubs-ext = ">=5.1.1" +types-PyYAML = "*" +typing-extensions = ">=4.11.0" + +[package.extras] +compatible-mypy = ["mypy (>=1.12,<1.14)"] +oracle = ["oracledb"] +redis = ["redis"] + +[[package]] +name = "django-stubs-ext" +version = "5.1.1" +description = "Monkey-patching and extensions for django-stubs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_stubs_ext-5.1.1-py3-none-any.whl", hash = "sha256:3907f99e178c93323e2ce908aef8352adb8c047605161f8d9e5e7b4efb5a6a9c"}, + {file = "django_stubs_ext-5.1.1.tar.gz", hash = "sha256:db7364e4f50ae7e5360993dbd58a3a57ea4b2e7e5bab0fbd525ccdb3e7975d1c"}, +] + +[package.dependencies] +django = "*" +typing-extensions = "*" + [[package]] name = "django-templated-mail" version = "1.1.1" @@ -1124,6 +1596,29 @@ lint = ["flake8", "isort", "pep8"] python-jose = ["python-jose (==3.3.0)"] test = ["cryptography", "freezegun", "pytest", "pytest-cov", "pytest-django", "pytest-xdist", "tox"] +[[package]] +name = "djangorestframework-stubs" +version = "3.14.5" +description = "PEP-484 stubs for django-rest-framework" +optional = false +python-versions = ">=3.8" +files = [ + {file = "djangorestframework-stubs-3.14.5.tar.gz", hash = "sha256:5dd6f638aa5291fb7863e6166128a6ed20bf4986e2fc5cf334e6afc841797a09"}, + {file = "djangorestframework_stubs-3.14.5-py3-none-any.whl", hash = "sha256:43d788fd50cda49b922cd411e59c5b8cdc3f3de49c02febae12ce42139f0269b"}, +] + +[package.dependencies] +django-stubs = ">=4.2.7" +requests = ">=2.0.0" +types-PyYAML = ">=5.4.3" +types-requests = ">=0.1.12" +typing-extensions = ">=3.10.0" + +[package.extras] +compatible-mypy = ["django-stubs[compatible-mypy]", "mypy (>=1.7.0,<1.8.0)"] +coreapi = ["coreapi (>=2.0.0)"] +markdown = ["types-Markdown (>=0.1.5)"] + [[package]] name = "djoser" version = "2.2.2" @@ -2315,6 +2810,58 @@ portalocker = [ {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""}, ] +[[package]] +name = "mypy" +version = "1.13.0" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a"}, + {file = "mypy-1.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80"}, + {file = "mypy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b2353a44d2179846a096e25691d54d59904559f4232519d420d64da6828a3a7"}, + {file = "mypy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0730d1c6a2739d4511dc4253f8274cdd140c55c32dfb0a4cf8b7a43f40abfa6f"}, + {file = "mypy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:c5fc54dbb712ff5e5a0fca797e6e0aa25726c7e72c6a5850cfd2adbc1eb0a372"}, + {file = "mypy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:581665e6f3a8a9078f28d5502f4c334c0c8d802ef55ea0e7276a6e409bc0d82d"}, + {file = "mypy-1.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3ddb5b9bf82e05cc9a627e84707b528e5c7caaa1c55c69e175abb15a761cec2d"}, + {file = "mypy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20c7ee0bc0d5a9595c46f38beb04201f2620065a93755704e141fcac9f59db2b"}, + {file = "mypy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3790ded76f0b34bc9c8ba4def8f919dd6a46db0f5a6610fb994fe8efdd447f73"}, + {file = "mypy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:51f869f4b6b538229c1d1bcc1dd7d119817206e2bc54e8e374b3dfa202defcca"}, + {file = "mypy-1.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5"}, + {file = "mypy-1.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e"}, + {file = "mypy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2"}, + {file = "mypy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0"}, + {file = "mypy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2"}, + {file = "mypy-1.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7"}, + {file = "mypy-1.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62"}, + {file = "mypy-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8"}, + {file = "mypy-1.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7"}, + {file = "mypy-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc"}, + {file = "mypy-1.13.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:100fac22ce82925f676a734af0db922ecfea991e1d7ec0ceb1e115ebe501301a"}, + {file = "mypy-1.13.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7bcb0bb7f42a978bb323a7c88f1081d1b5dee77ca86f4100735a6f541299d8fb"}, + {file = "mypy-1.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bde31fc887c213e223bbfc34328070996061b0833b0a4cfec53745ed61f3519b"}, + {file = "mypy-1.13.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:07de989f89786f62b937851295ed62e51774722e5444a27cecca993fc3f9cd74"}, + {file = "mypy-1.13.0-cp38-cp38-win_amd64.whl", hash = "sha256:4bde84334fbe19bad704b3f5b78c4abd35ff1026f8ba72b29de70dda0916beb6"}, + {file = "mypy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0246bcb1b5de7f08f2826451abd947bf656945209b140d16ed317f65a17dc7dc"}, + {file = "mypy-1.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f5b7deae912cf8b77e990b9280f170381fdfbddf61b4ef80927edd813163732"}, + {file = "mypy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7029881ec6ffb8bc233a4fa364736789582c738217b133f1b55967115288a2bc"}, + {file = "mypy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3e38b980e5681f28f033f3be86b099a247b13c491f14bb8b1e1e134d23bb599d"}, + {file = "mypy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6789be98a2017c912ae6ccb77ea553bbaf13d27605d2ca20a76dfbced631b24"}, + {file = "mypy-1.13.0-py3-none-any.whl", hash = "sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a"}, + {file = "mypy-1.13.0.tar.gz", hash = "sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" +typing-extensions = ">=4.6.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +faster-cache = ["orjson"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] +reports = ["lxml"] + [[package]] name = "mypy-boto3-dynamodb" version = "1.33.0" @@ -2745,23 +3292,24 @@ files = [ [[package]] name = "pydantic" -version = "2.6.4" +version = "2.9.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.6.4-py3-none-any.whl", hash = "sha256:cc46fce86607580867bdc3361ad462bab9c222ef042d3da86f2fb333e1d916c5"}, - {file = "pydantic-2.6.4.tar.gz", hash = "sha256:b1704e0847db01817624a6b86766967f552dd9dbf3afba4004409f908dcc84e6"}, + {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, + {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, ] [package.dependencies] -annotated-types = ">=0.4.0" +annotated-types = ">=0.6.0" email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"email\""} -pydantic-core = "2.16.3" -typing-extensions = ">=4.6.1" +pydantic-core = "2.23.4" +typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} [package.extras] email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] [[package]] name = "pydantic-collections" @@ -2780,90 +3328,100 @@ typing-extensions = ">=4.7.1" [[package]] name = "pydantic-core" -version = "2.16.3" -description = "" +version = "2.23.4" +description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.16.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:75b81e678d1c1ede0785c7f46690621e4c6e63ccd9192af1f0bd9d504bbb6bf4"}, - {file = "pydantic_core-2.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c865a7ee6f93783bd5d781af5a4c43dadc37053a5b42f7d18dc019f8c9d2bd1"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:162e498303d2b1c036b957a1278fa0899d02b2842f1ff901b6395104c5554a45"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f583bd01bbfbff4eaee0868e6fc607efdfcc2b03c1c766b06a707abbc856187"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b926dd38db1519ed3043a4de50214e0d600d404099c3392f098a7f9d75029ff8"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:716b542728d4c742353448765aa7cdaa519a7b82f9564130e2b3f6766018c9ec"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4ad7f7ee1a13d9cb49d8198cd7d7e3aa93e425f371a68235f784e99741561f"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bd87f48924f360e5d1c5f770d6155ce0e7d83f7b4e10c2f9ec001c73cf475c99"}, - {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0df446663464884297c793874573549229f9eca73b59360878f382a0fc085979"}, - {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4df8a199d9f6afc5ae9a65f8f95ee52cae389a8c6b20163762bde0426275b7db"}, - {file = "pydantic_core-2.16.3-cp310-none-win32.whl", hash = "sha256:456855f57b413f077dff513a5a28ed838dbbb15082ba00f80750377eed23d132"}, - {file = "pydantic_core-2.16.3-cp310-none-win_amd64.whl", hash = "sha256:732da3243e1b8d3eab8c6ae23ae6a58548849d2e4a4e03a1924c8ddf71a387cb"}, - {file = "pydantic_core-2.16.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:519ae0312616026bf4cedc0fe459e982734f3ca82ee8c7246c19b650b60a5ee4"}, - {file = "pydantic_core-2.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b3992a322a5617ded0a9f23fd06dbc1e4bd7cf39bc4ccf344b10f80af58beacd"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d62da299c6ecb04df729e4b5c52dc0d53f4f8430b4492b93aa8de1f541c4aac"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2acca2be4bb2f2147ada8cac612f8a98fc09f41c89f87add7256ad27332c2fda"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b662180108c55dfbf1280d865b2d116633d436cfc0bba82323554873967b340"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7c6ed0dc9d8e65f24f5824291550139fe6f37fac03788d4580da0d33bc00c97"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1bb0827f56654b4437955555dc3aeeebeddc47c2d7ed575477f082622c49e"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e56f8186d6210ac7ece503193ec84104da7ceb98f68ce18c07282fcc2452e76f"}, - {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:936e5db01dd49476fa8f4383c259b8b1303d5dd5fb34c97de194560698cc2c5e"}, - {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33809aebac276089b78db106ee692bdc9044710e26f24a9a2eaa35a0f9fa70ba"}, - {file = "pydantic_core-2.16.3-cp311-none-win32.whl", hash = "sha256:ded1c35f15c9dea16ead9bffcde9bb5c7c031bff076355dc58dcb1cb436c4721"}, - {file = "pydantic_core-2.16.3-cp311-none-win_amd64.whl", hash = "sha256:d89ca19cdd0dd5f31606a9329e309d4fcbb3df860960acec32630297d61820df"}, - {file = "pydantic_core-2.16.3-cp311-none-win_arm64.whl", hash = "sha256:6162f8d2dc27ba21027f261e4fa26f8bcb3cf9784b7f9499466a311ac284b5b9"}, - {file = "pydantic_core-2.16.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0f56ae86b60ea987ae8bcd6654a887238fd53d1384f9b222ac457070b7ac4cff"}, - {file = "pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9bd22a2a639e26171068f8ebb5400ce2c1bc7d17959f60a3b753ae13c632975"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4204e773b4b408062960e65468d5346bdfe139247ee5f1ca2a378983e11388a2"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f651dd19363c632f4abe3480a7c87a9773be27cfe1341aef06e8759599454120"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aaf09e615a0bf98d406657e0008e4a8701b11481840be7d31755dc9f97c44053"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e47755d8152c1ab5b55928ab422a76e2e7b22b5ed8e90a7d584268dd49e9c6b"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:500960cb3a0543a724a81ba859da816e8cf01b0e6aaeedf2c3775d12ee49cade"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf6204fe865da605285c34cf1172879d0314ff267b1c35ff59de7154f35fdc2e"}, - {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d33dd21f572545649f90c38c227cc8631268ba25c460b5569abebdd0ec5974ca"}, - {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49d5d58abd4b83fb8ce763be7794d09b2f50f10aa65c0f0c1696c677edeb7cbf"}, - {file = "pydantic_core-2.16.3-cp312-none-win32.whl", hash = "sha256:f53aace168a2a10582e570b7736cc5bef12cae9cf21775e3eafac597e8551fbe"}, - {file = "pydantic_core-2.16.3-cp312-none-win_amd64.whl", hash = "sha256:0d32576b1de5a30d9a97f300cc6a3f4694c428d956adbc7e6e2f9cad279e45ed"}, - {file = "pydantic_core-2.16.3-cp312-none-win_arm64.whl", hash = "sha256:ec08be75bb268473677edb83ba71e7e74b43c008e4a7b1907c6d57e940bf34b6"}, - {file = "pydantic_core-2.16.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:b1f6f5938d63c6139860f044e2538baeee6f0b251a1816e7adb6cbce106a1f01"}, - {file = "pydantic_core-2.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a1ef6a36fdbf71538142ed604ad19b82f67b05749512e47f247a6ddd06afdc7"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704d35ecc7e9c31d48926150afada60401c55efa3b46cd1ded5a01bdffaf1d48"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d937653a696465677ed583124b94a4b2d79f5e30b2c46115a68e482c6a591c8a"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9803edf8e29bd825f43481f19c37f50d2b01899448273b3a7758441b512acf8"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72282ad4892a9fb2da25defeac8c2e84352c108705c972db82ab121d15f14e6d"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f752826b5b8361193df55afcdf8ca6a57d0232653494ba473630a83ba50d8c9"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4384a8f68ddb31a0b0c3deae88765f5868a1b9148939c3f4121233314ad5532c"}, - {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4b2bf78342c40b3dc830880106f54328928ff03e357935ad26c7128bbd66ce8"}, - {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13dcc4802961b5f843a9385fc821a0b0135e8c07fc3d9949fd49627c1a5e6ae5"}, - {file = "pydantic_core-2.16.3-cp38-none-win32.whl", hash = "sha256:e3e70c94a0c3841e6aa831edab1619ad5c511199be94d0c11ba75fe06efe107a"}, - {file = "pydantic_core-2.16.3-cp38-none-win_amd64.whl", hash = "sha256:ecdf6bf5f578615f2e985a5e1f6572e23aa632c4bd1dc67f8f406d445ac115ed"}, - {file = "pydantic_core-2.16.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bda1ee3e08252b8d41fa5537413ffdddd58fa73107171a126d3b9ff001b9b820"}, - {file = "pydantic_core-2.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:21b888c973e4f26b7a96491c0965a8a312e13be108022ee510248fe379a5fa23"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be0ec334369316fa73448cc8c982c01e5d2a81c95969d58b8f6e272884df0074"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5b6079cc452a7c53dd378c6f881ac528246b3ac9aae0f8eef98498a75657805"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee8d5f878dccb6d499ba4d30d757111847b6849ae07acdd1205fffa1fc1253c"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7233d65d9d651242a68801159763d09e9ec96e8a158dbf118dc090cd77a104c9"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6119dc90483a5cb50a1306adb8d52c66e447da88ea44f323e0ae1a5fcb14256"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:578114bc803a4c1ff9946d977c221e4376620a46cf78da267d946397dc9514a8"}, - {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d8f99b147ff3fcf6b3cc60cb0c39ea443884d5559a30b1481e92495f2310ff2b"}, - {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4ac6b4ce1e7283d715c4b729d8f9dab9627586dafce81d9eaa009dd7f25dd972"}, - {file = "pydantic_core-2.16.3-cp39-none-win32.whl", hash = "sha256:e7774b570e61cb998490c5235740d475413a1f6de823169b4cf94e2fe9e9f6b2"}, - {file = "pydantic_core-2.16.3-cp39-none-win_amd64.whl", hash = "sha256:9091632a25b8b87b9a605ec0e61f241c456e9248bfdcf7abdf344fdb169c81cf"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:36fa178aacbc277bc6b62a2c3da95226520da4f4e9e206fdf076484363895d2c"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:dcca5d2bf65c6fb591fff92da03f94cd4f315972f97c21975398bd4bd046854a"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a72fb9963cba4cd5793854fd12f4cfee731e86df140f59ff52a49b3552db241"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60cc1a081f80a2105a59385b92d82278b15d80ebb3adb200542ae165cd7d183"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cbcc558401de90a746d02ef330c528f2e668c83350f045833543cd57ecead1ad"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fee427241c2d9fb7192b658190f9f5fd6dfe41e02f3c1489d2ec1e6a5ab1e04a"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4cb85f693044e0f71f394ff76c98ddc1bc0953e48c061725e540396d5c8a2e1"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b29eeb887aa931c2fcef5aa515d9d176d25006794610c264ddc114c053bf96fe"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a425479ee40ff021f8216c9d07a6a3b54b31c8267c6e17aa88b70d7ebd0e5e5b"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5c5cbc703168d1b7a838668998308018a2718c2130595e8e190220238addc96f"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99b6add4c0b39a513d323d3b93bc173dac663c27b99860dd5bf491b240d26137"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f76ee558751746d6a38f89d60b6228fa174e5172d143886af0f85aa306fd89"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:00ee1c97b5364b84cb0bd82e9bbf645d5e2871fb8c58059d158412fee2d33d8a"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:287073c66748f624be4cef893ef9174e3eb88fe0b8a78dc22e88eca4bc357ca6"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ed25e1835c00a332cb10c683cd39da96a719ab1dfc08427d476bce41b92531fc"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:86b3d0033580bd6bbe07590152007275bd7af95f98eaa5bd36f3da219dcd93da"}, - {file = "pydantic_core-2.16.3.tar.gz", hash = "sha256:1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, + {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, + {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, + {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, + {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, + {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, + {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, + {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, + {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, + {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, + {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, + {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, + {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, + {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, ] [package.dependencies] @@ -2986,23 +3544,23 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] [[package]] name = "pyngo" -version = "2.0.1" +version = "2.2.1" description = "Pydantic Package for Adding Models into a Django or Django Rest Framework Project ✨" optional = false python-versions = ">=3.10" files = [ - {file = "pyngo-2.0.1-py3-none-any.whl", hash = "sha256:1f69b383d0eab613bb571729b19cbcd3c410a9ebe19f4239a7d7b2d95d85f64b"}, - {file = "pyngo-2.0.1.tar.gz", hash = "sha256:afe347920300e1dbeca23bd76367dc84c631295a0188bc79bcb98760de772132"}, + {file = "pyngo-2.2.1-py3-none-any.whl", hash = "sha256:36aeb6cf21fd39a2901f24d769a65a5ddb8e238b0fdeea2d2b2a379349f628b7"}, + {file = "pyngo-2.2.1.tar.gz", hash = "sha256:9e082ac01019c9cc75a5d513cc7588568c5dc94067fff9dd4339b02332de8d77"}, ] [package.dependencies] django = ">=3.2.0,<6.0.0" -pydantic = ">=2.5.3" -typing-extensions = ">=3.7.4,<4.10.0" +pydantic = ">=2.8.2,<2.10.0" +typing-extensions = ">=3.7.4,<4.13.0" [package.extras] -lint = ["mypy (==1.8.0)", "pre-commit (==3.6.0)", "ruff (==0.1.14)"] -test = ["django-stubs", "pytest (==7.4.4)", "pytest-asyncio (==0.23.3)", "pytest-cov (==4.1.0)", "pytest-pretty"] +lint = ["mypy (==1.11.2)", "pre-commit (==3.8.0)", "ruff (==0.6.4)"] +test = ["django-stubs", "pytest (==8.3.2)", "pytest-asyncio (==0.24.0)", "pytest-cov (==5.0.0)", "pytest-pretty"] [[package]] name = "pyopenssl" @@ -3895,6 +4453,53 @@ files = [ {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, ] +[[package]] +name = "types-awscrt" +version = "0.23.0" +description = "Type annotations and code completion for awscrt" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types_awscrt-0.23.0-py3-none-any.whl", hash = "sha256:517d9d06f19cf58d778ca90ad01e52e0489466bf70dcf78c7f47f74fdf151a60"}, + {file = "types_awscrt-0.23.0.tar.gz", hash = "sha256:3fd1edeac923d1956c0e907c973fb83bda465beae7f054716b371b293f9b5fdc"}, +] + +[[package]] +name = "types-pyyaml" +version = "6.0.12.20240917" +description = "Typing stubs for PyYAML" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-PyYAML-6.0.12.20240917.tar.gz", hash = "sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587"}, + {file = "types_PyYAML-6.0.12.20240917-py3-none-any.whl", hash = "sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570"}, +] + +[[package]] +name = "types-requests" +version = "2.31.0.6" +description = "Typing stubs for requests" +optional = false +python-versions = ">=3.7" +files = [ + {file = "types-requests-2.31.0.6.tar.gz", hash = "sha256:cd74ce3b53c461f1228a9b783929ac73a666658f223e28ed29753771477b3bd0"}, + {file = "types_requests-2.31.0.6-py3-none-any.whl", hash = "sha256:a2db9cb228a81da8348b49ad6db3f5519452dd20a9c1e1a868c83c5fe88fd1a9"}, +] + +[package.dependencies] +types-urllib3 = "*" + +[[package]] +name = "types-s3transfer" +version = "0.10.4" +description = "Type annotations and code completion for s3transfer" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types_s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:22ac1aabc98f9d7f2928eb3fb4d5c02bf7435687f0913345a97dd3b84d0c217d"}, + {file = "types_s3transfer-0.10.4.tar.gz", hash = "sha256:03123477e3064c81efe712bf9d372c7c72f2790711431f9baa59cf96ea607267"}, +] + [[package]] name = "types-toml" version = "0.10.8.7" @@ -3906,15 +4511,26 @@ files = [ {file = "types_toml-0.10.8.7-py3-none-any.whl", hash = "sha256:61951da6ad410794c97bec035d59376ce1cbf4453dc9b6f90477e81e4442d631"}, ] +[[package]] +name = "types-urllib3" +version = "1.26.25.14" +description = "Typing stubs for urllib3" +optional = false +python-versions = "*" +files = [ + {file = "types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f"}, + {file = "types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e"}, +] + [[package]] name = "typing-extensions" -version = "4.9.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] @@ -4186,4 +4802,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = ">=3.11, <3.13" -content-hash = "df2e02787204f56111c560faa7f7800a09e87e9bdc0b9802660af5bd08aa03ee" +content-hash = "2b4397d1c347df51b3dd218c5f429f2b35c0bc27bb5ff62bf9beb6c8b5886a34" diff --git a/api/pyproject.toml b/api/pyproject.toml index 90a75efd26d8..10f0f7b2dd78 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -161,7 +161,7 @@ django-ordered-model = "~3.4.1" django-ses = "~3.5.0" django-axes = "~5.32.0" pydantic = "^2.3.0" -pyngo = "~2.0.1" +pyngo = "~2.2.1" flagsmith = "^3.6.0" python-gnupg = "^0.5.1" django-redis = "^5.4.0" @@ -219,6 +219,10 @@ requests-mock = "^1.11.0" django-extensions = "^3.2.3" pdbpp = "^0.10.3" mypy-boto3-dynamodb = "^1.33.0" +mypy = "^1.11.2" +django-stubs = "~5.1.1" +djangorestframework-stubs = "~3.14.0" +boto3-stubs = "~1.35.67" [build-system] requires = ["poetry-core>=1.5.0"] From 1b553f03b2b6367ab0b6c942d53d5aceb1d691a8 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:44:30 +0000 Subject: [PATCH 03/51] Create mypy.ini --- api/mypy.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 api/mypy.ini diff --git a/api/mypy.ini b/api/mypy.ini new file mode 100644 index 000000000000..d5c6eac0da69 --- /dev/null +++ b/api/mypy.ini @@ -0,0 +1,10 @@ +[mypy] +exclude = ^(tests/)$ +plugins = mypy_django_plugin.main + +[mypy.plugins.django-stubs] +django_settings_module = "app.settings.local" + +# Enable Django Rest Framework stubs. +[mypy.plugins.drf-stubs] +enabled = True From 83aebeb627b51ec79904d576fdf2bb5c37ef1788 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:45:00 +0000 Subject: [PATCH 04/51] Add __init__.py files for mypy --- api/features/workflows/core/templates/__init__.py | 0 api/features/workflows/core/templates/workflows_core/__init__.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 api/features/workflows/core/templates/__init__.py create mode 100644 api/features/workflows/core/templates/workflows_core/__init__.py diff --git a/api/features/workflows/core/templates/__init__.py b/api/features/workflows/core/templates/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/api/features/workflows/core/templates/workflows_core/__init__.py b/api/features/workflows/core/templates/workflows_core/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 From 8abf743fc342f863c6b0df1a16ddc9d94d71ce16 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:46:38 +0000 Subject: [PATCH 05/51] Fix failing lint --- api/app/settings/common.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/app/settings/common.py b/api/app/settings/common.py index ee76139d98d8..aaf7c9f1b265 100644 --- a/api/app/settings/common.py +++ b/api/app/settings/common.py @@ -543,7 +543,9 @@ SECURE_REDIRECT_EXEMPT = env.list("DJANGO_SECURE_REDIRECT_EXEMPT", default=[]) SECURE_REFERRER_POLICY = env.str("DJANGO_SECURE_REFERRER_POLICY", default="same-origin") -SECURE_CROSS_ORIGIN_OPENER_POLICY = env.str("DJANGO_SECURE_CROSS_ORIGIN_OPENER_POLICY", default="same-origin") +SECURE_CROSS_ORIGIN_OPENER_POLICY = env.str( + "DJANGO_SECURE_CROSS_ORIGIN_OPENER_POLICY", default="same-origin" +) SECURE_SSL_HOST = env.str("DJANGO_SECURE_SSL_HOST", default=None) SECURE_SSL_REDIRECT = env.bool("DJANGO_SECURE_SSL_REDIRECT", default=False) From 359317ed89c1070f93c1d997e92b0aea25c40738 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:49:25 +0000 Subject: [PATCH 06/51] Add mypy baseline failures --- api/scripts/mypy_baseline.txt | 1532 +++++++++++++++++++++++++++++++++ 1 file changed, 1532 insertions(+) create mode 100644 api/scripts/mypy_baseline.txt diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt new file mode 100644 index 000000000000..890231903059 --- /dev/null +++ b/api/scripts/mypy_baseline.txt @@ -0,0 +1,1532 @@ +users/emails.py:1: error: Skipping analyzing "djoser": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] +integrations/opencensus/querylogger.py:1: error: Skipping analyzing "google.rpc": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/opencensus/querylogger.py:2: error: Skipping analyzing "opencensus.trace": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/subscriptions/metadata.py:14: error: Incompatible default for argument "chargebee_email" (default has type "None", argument has type "str") [assignment] +organisations/subscriptions/metadata.py:14: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:14: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] +organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle +organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: +organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: +organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): +organisations/subscriptions/metadata.py:71: note: return NotImplemented +organisations/subscriptions/metadata.py:71: note: return +app_analytics/types.py:5: error: Parameter 1 of Literal[...] is invalid [valid-type] +app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] +temp_hubspot.py:2: error: Name "Organisation" is not defined [name-defined] +temp_hubspot.py:3: error: Name "SettingsWrapper" is not defined [name-defined] +temp_hubspot.py:9: error: Name "FFAdminUser" is not defined [name-defined] +temp_hubspot.py:17: error: Name "OrganisationRole" is not defined [name-defined] +temp_hubspot.py:20: error: Name "HubspotLead" is not defined [name-defined] +integrations/lead_tracking/pipedrive/models.py:18: error: Incompatible types in assignment (expression has type "None", variable has type "Schema") [assignment] +integrations/lead_tracking/pipedrive/models.py:22: error: Incompatible default for argument "schema" (default has type "None", argument has type "Schema") [assignment] +integrations/lead_tracking/pipedrive/models.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:43: error: Incompatible default for argument "id" (default has type "None", argument has type "str") [assignment] +integrations/lead_tracking/pipedrive/models.py:43: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:43: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:44: error: Incompatible default for argument "owner_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:44: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:44: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:45: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +integrations/lead_tracking/pipedrive/models.py:45: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:45: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:46: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:46: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:46: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:47: error: Incompatible default for argument "organization_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:48: error: Incompatible default for argument "value" (default has type "None", argument has type "PipedriveValue") [assignment] +integrations/lead_tracking/pipedrive/models.py:48: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:48: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:49: error: Incompatible default for argument "expected_close_date" (default has type "None", argument has type "date") [assignment] +integrations/lead_tracking/pipedrive/models.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:50: error: Incompatible default for argument "visible_to" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:50: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:50: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:51: error: Incompatible default for argument "was_seen" (default has type "None", argument has type "bool") [assignment] +integrations/lead_tracking/pipedrive/models.py:51: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:51: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:72: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:72: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:72: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:73: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +integrations/lead_tracking/pipedrive/models.py:73: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:73: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:99: error: Incompatible default for argument "key" (default has type "None", argument has type "str") [assignment] +integrations/lead_tracking/pipedrive/models.py:99: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:99: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:101: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:125: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:125: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:125: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:29: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:48: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveOrganization] [misc] +integrations/lead_tracking/pipedrive/client.py:59: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedrivePerson] [misc] +integrations/lead_tracking/pipedrive/client.py:72: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveOrganizationField") [return-value] +integrations/lead_tracking/pipedrive/client.py:83: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveDealField") [return-value] +integrations/lead_tracking/pipedrive/client.py:89: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/client.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:90: error: Incompatible default for argument "custom_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:90: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:90: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:91: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +integrations/lead_tracking/pipedrive/client.py:91: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:91: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:105: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveLead") [return-value] +integrations/lead_tracking/pipedrive/client.py:120: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedrivePerson") [return-value] +integrations/lead_tracking/pipedrive/client.py:129: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveLeadLabel] [misc] +integrations/lead_tracking/pipedrive/client.py:136: error: Incompatible default for argument "data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:136: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:136: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:137: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:137: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:137: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/launch_darkly/client.py:30: error: A function returning TypeVar should receive at least one argument containing the same TypeVar [type-var] +integrations/launch_darkly/client.py:56: error: Need type annotation for "response_json" [var-annotated] +util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] +util/pydantic.py:17: note: Possible overload variants: +util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] +util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] +features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] +api/openapi.py:4: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/openapi.py:5: error: Skipping analyzing "drf_yasg.openapi": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/utils.py:20: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +edge_api/identities/utils.py:25: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +edge_api/identities/utils.py:30: error: Incompatible return value type (got "dict[str, Literal['+', '-', '~']]", expected "FeatureStateChangeDetails") [return-value] +environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] +environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +integrations/common/wrapper.py:23: error: Unexpected "..." [misc] +features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] +features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] +features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +/home/zach/.cache/pypoetry/virtualenvs/flagsmith-api-rl5v6uhh-py3.12/lib/python3.12/site-packages/django-stubs/db/models/fields/related.pyi:154: note: "ForeignKey" defined here +features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +/home/zach/.cache/pypoetry/virtualenvs/flagsmith-api-rl5v6uhh-py3.12/lib/python3.12/site-packages/django-stubs/db/models/fields/related.pyi:154: note: "ForeignKey" defined here +core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] +core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] +core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +core/models.py:67: error: Missing return statement [return] +core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] +core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] +core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] +core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] +core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] +core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] +core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/routers.py:101: error: Missing return statement [return] +app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] +app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] +app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] +integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] +features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] +features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] +environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] +app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] +app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? +app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] +app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] +app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] +app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] +app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] +organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/multivariate/models.py:89: error: Missing return statement [return] +features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] +organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] +integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] +integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] +organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/chargebee.py:143: error: Missing return statement [return] +custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] +organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] +organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] +organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] +integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] +api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] +api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] +integrations/github/client.py:116: error: Missing return statement [return] +integrations/github/client.py:282: error: Missing return statement [return] +integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] +features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] +features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] +features/versioning/models.py:97: note: Left operand is of type "datetime | None" +features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] +features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] +features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] +features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] +features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] +features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] +features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] +features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] +features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] +features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] +features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] +features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] +features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "IncEx | None" [arg-type] +util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] +util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] +util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] +util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] +util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] +util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] +util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] +util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] +segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] +segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] +segments/models.py:182: note: Left operand is of type "int | None" +segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +segments/models.py:370: error: Missing return statement [return] +segments/models.py:374: error: Missing return statement [return] +projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] +projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] +projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] +projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] +features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/models.py:530: error: Unsupported left operand type for < ("None") [operator] +features/models.py:530: note: Both left and right operands are unions +features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +features/models.py:537: error: Unsupported left operand type for > ("None") [operator] +features/models.py:537: note: Both left and right operands are unions +features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] +features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] +features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] +features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] +features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] +features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] +features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] +features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] +features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] +features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] +features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] +features/models.py:924: error: Return value expected [return-value] +features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] +features/models.py:934: error: Return value expected [return-value] +features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] +features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/models.py:1114: error: Return value expected [return-value] +features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +features/models.py:1117: error: Return value expected [return-value] +features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] +environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] +environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] +environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] +audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] +audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] +audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] +audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] +audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] +audit/models.py:29: error: Need type annotation for "project" [var-annotated] +audit/models.py:32: error: Need type annotation for "environment" [var-annotated] +audit/models.py:39: error: Need type annotation for "log" [var-annotated] +audit/models.py:40: error: Need type annotation for "author" [var-annotated] +audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] +audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] +audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] +audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] +audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] +audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] +audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] +audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] +audit/models.py:106: error: Return value expected [return-value] +audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] +segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] +integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] +integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] +integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] +features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] +features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] +integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] +environments/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:22: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:65: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/models.py:73: error: Need type annotation for "name" [var-annotated] +environments/models.py:74: error: Need type annotation for "created_date" [var-annotated] +environments/models.py:75: error: Need type annotation for "description" [var-annotated] +environments/models.py:76: error: Need type annotation for "project" [var-annotated] +environments/models.py:90: error: Need type annotation for "api_key" [var-annotated] +environments/models.py:94: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +environments/models.py:96: error: Need type annotation for "webhooks_enabled" [var-annotated] +environments/models.py:97: error: Need type annotation for "webhook_url" [var-annotated] +environments/models.py:99: error: Need type annotation for "allow_client_traits" [var-annotated] +environments/models.py:102: error: Need type annotation for "updated_at" [var-annotated] +environments/models.py:106: error: Need type annotation for "banner_text" [var-annotated] +environments/models.py:107: error: Need type annotation for "banner_colour" [var-annotated] +environments/models.py:112: error: Need type annotation for "hide_disabled_flags" [var-annotated] +environments/models.py:120: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] +environments/models.py:128: error: Need type annotation for "hide_sensitive_data" [var-annotated] +environments/models.py:133: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] +environments/models.py:134: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] +environments/models.py:139: error: Need type annotation for "is_creating" [var-annotated] +environments/models.py:172: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] +environments/models.py:172: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:172: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:242: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +environments/models.py:242: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:242: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:242: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +environments/models.py:279: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] +environments/models.py:284: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] +environments/models.py:288: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/models.py:288: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:288: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:443: error: Invalid type comment or annotation [valid-type] +environments/models.py:443: note: Suggestion: use type[...] instead of type(...) +environments/models.py:444: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] +environments/models.py:444: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:444: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:445: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] +environments/models.py:445: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:445: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:446: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] +environments/models.py:446: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:446: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:498: error: Need type annotation for "environment" [var-annotated] +environments/models.py:501: error: Need type annotation for "key" [var-annotated] +environments/models.py:502: error: Need type annotation for "created_at" [var-annotated] +environments/models.py:503: error: Need type annotation for "name" [var-annotated] +environments/models.py:504: error: Need type annotation for "expires_at" [var-annotated] +environments/models.py:505: error: Need type annotation for "active" [var-annotated] +webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] +webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] +webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] +webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] +webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] +webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] +permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] +permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] +features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] +features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] +features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] +features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" +features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] +environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] +environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] +permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] +features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] +features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] +features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] +features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] +users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] +users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] +users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] +users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] +users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] +users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] +users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] +users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] +users/models.py:142: note: Superclass: +users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] +users/models.py:142: note: Subclass: +users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any +users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +users/models.py:244: error: Missing return statement [return] +users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] +environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] +api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] +integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] +features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/serializers.py:117: error: Need type annotation for "emails" [var-annotated] +organisations/serializers.py:221: error: Need type annotation for "events_list" [var-annotated] +integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] +integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] +users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +features/serializers.py:281: error: Missing return statement [return] +features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] +features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] +features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] +features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] +integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] +integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] +integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] +integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] +integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] +integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] +integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] +integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] +features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +features/workflows/core/models.py:224: error: Missing return statement [return] +features/workflows/core/models.py:232: error: Missing return statement [return] +features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] +features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] +features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] +features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] +features/workflows/core/models.py:403: error: Missing return statement [return] +features/workflows/core/models.py:407: error: Missing return statement [return] +environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] +projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] +integrations/webhook/serializers.py:52: error: Missing return statement [return] +integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] +integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] +integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/serializers.py:84: error: Incompatible types in assignment (expression has type tuple[str, str, ... <15 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +environments/serializers.py:86: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/serializers.py:86: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:86: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/serializers.py:88: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] +environments/serializers.py:101: error: Cannot determine type of "fields" [has-type] +environments/serializers.py:129: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +environments/serializers.py:129: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] +environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] +environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] +integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/renderers.py:14: error: Cannot override class variable (previously declared on base class "JSONRenderer") with instance variable [misc] +util/migrations.py:46: error: Item "UserOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +util/migrations.py:46: error: Item "UserPermissionGroupOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +util/logging.py:8: error: Skipping analyzing "gunicorn.config": module is installed, but missing library stubs or py.typed marker [import-untyped] +util/logging.py:9: error: Skipping analyzing "gunicorn.instrument.statsd": module is installed, but missing library stubs or py.typed marker [import-untyped] +util/logging.py:36: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:36: note: Possible overload variants: +util/logging.py:36: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:36: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:36: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:37: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:37: note: Possible overload variants: +util/logging.py:37: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:37: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:37: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:38: error: Unsupported left operand type for + ("object") [operator] +util/logging.py:38: note: Left operand is of type "Any | object" +util/logging.py:42: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:42: note: Possible overload variants: +util/logging.py:42: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:42: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:42: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:42: error: Argument 1 to "strptime" of "datetime" has incompatible type "Any | object"; expected "str" [arg-type] +util/logging.py:44: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:44: note: Possible overload variants: +util/logging.py:44: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:44: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:44: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:45: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:45: note: Possible overload variants: +util/logging.py:45: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:45: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:45: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:46: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:46: note: Possible overload variants: +util/logging.py:46: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:46: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:46: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:47: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:47: note: Possible overload variants: +util/logging.py:47: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:47: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:47: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:48: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:48: note: Possible overload variants: +util/logging.py:48: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:48: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:48: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:49: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:49: note: Possible overload variants: +util/logging.py:49: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:49: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:49: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:50: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:50: note: Possible overload variants: +util/logging.py:50: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:50: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:50: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/history/custom_simple_history.py:2: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/services.py:5: error: Skipping analyzing "djoser.email": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/admin.py:84: error: Incompatible default for argument "obj" (default has type "None", argument has type "Project") [assignment] +projects/admin.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/admin.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/tags/serializers.py:25: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "is_system_tag" [union-attr] +projects/tags/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permissions_calculator.py:81: error: Invalid type comment or annotation [valid-type] +permissions/permissions_calculator.py:103: error: Argument 1 to "reduce" has incompatible type "Callable[[set[Never], set[str]], set[str]]"; expected "Callable[[set[Never], set[str]], set[Never]]" [arg-type] +permissions/permissions_calculator.py:103: error: Incompatible return value type (got "set[str]", expected "set[Never]") [return-value] +permissions/permissions_calculator.py:109: error: "Iterable[str]" has no attribute "union" [attr-defined] +permissions/permissions_calculator.py:135: error: Argument 1 to "get_user_permission_data" has incompatible type "UserProjectPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +permissions/permissions_calculator.py:147: error: Argument 1 to "get_user_permission_data" has incompatible type "UserOrganisationPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +permissions/permissions_calculator.py:158: error: Argument 1 to "get_user_permission_data" has incompatible type "UserEnvironmentPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +permissions/permissions_calculator.py:165: error: Incompatible default for argument "user_permission" (default has type "None", argument has type "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission") [assignment] +permissions/permissions_calculator.py:165: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permissions_calculator.py:165: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/chargebee/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/pipedrive/lead_tracker.py:17: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/pipedrive/lead_tracker.py:82: error: Unsupported target for indexed assignment ("object") [index] +integrations/lead_tracking/pipedrive/lead_tracker.py:86: error: Unsupported target for indexed assignment ("object") [index] +integrations/lead_tracking/hubspot/services.py:15: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:15: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:19: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:19: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:30: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:30: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/launch_darkly/services.py:62: error: Argument 1 to "contextmanager" has incompatible type "Callable[[LaunchDarklyImportRequest], None]"; expected "Callable[[LaunchDarklyImportRequest], Iterator[Never]]" [arg-type] +integrations/launch_darkly/services.py:63: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +integrations/launch_darkly/services.py:457: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +integrations/launch_darkly/services.py:550: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +integrations/launch_darkly/services.py:615: error: Argument "variation_idx" to "_set_imported_mv_feature_state_values" has incompatible type "int | None"; expected "str | None" [arg-type] +integrations/launch_darkly/services.py:787: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "import_request" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "ld_flag" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "feature" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "environments_by_ld_environment_key" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "segments_by_ld_key" [call-arg] +integrations/launch_darkly/services.py:992: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +integrations/launch_darkly/services.py:1075: error: Item "Request" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +integrations/launch_darkly/services.py:1075: error: Item "None" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +integrations/launch_darkly/services.py:1088: error: Need type annotation for "segment_tags_by_ld_tag" (hint: "segment_tags_by_ld_tag: dict[, ] = ...") [var-annotated] +integrations/launch_darkly/serializers.py:14: error: Incompatible types in assignment (expression has type "ListSerializer[Never]", base class "Field" defined the type as "dict[str, str | _StrPromise]") [assignment] +integrations/launch_darkly/serializers.py:25: error: Need type annotation for "created_by" [var-annotated] +integrations/datadog/datadog.py:20: error: Incompatible default for argument "session" (default has type "None", argument has type "Session") [assignment] +integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/datadog/datadog.py:20: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/admin.py:6: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/tasks.py:177: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +features/import_export/tasks.py:199: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +features/import_export/tasks.py:224: error: Item "bool" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +features/import_export/tasks.py:224: error: Item "int" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +features/import_export/tasks.py:224: error: Item "None" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +features/import_export/tasks.py:226: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:227: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:229: error: Argument "default_percentage_allocation" to "_create_multivariate_feature_option" has incompatible type "Any | str"; expected "int | float" [arg-type] +features/import_export/tasks.py:229: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:234: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:240: error: Argument "type" to "_save_feature_state_value_with_type" has incompatible type "bool | str | int | None"; expected "str" [arg-type] +features/feature_segments/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/serializers.py:17: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +environments/permissions/serializers.py:31: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +environments/permissions/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/permissions.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/permissions.py:85: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +environments/permissions/permissions.py:85: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/permissions/permissions.py:85: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/permissions/permissions.py:88: error: "Model" has no attribute "environment" [attr-defined] +environments/permissions/permissions.py:89: error: Incompatible default for argument "admin_actions" (default has type "None", argument has type "Iterable[str]") [assignment] +environments/permissions/permissions.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/permissions/permissions.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/identities/traits/admin.py:3: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/tasks.py:6: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/tasks.py:25: error: Function "builtins.id" is not valid as a type [valid-type] +edge_api/identities/tasks.py:25: note: Perhaps you need "Callable[...]" or a callback protocol? +edge_api/identities/tasks.py:28: error: Incompatible default for argument "changed_by_user_id" (default has type "None", argument has type "int") [assignment] +edge_api/identities/tasks.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:29: error: Incompatible default for argument "changed_by" (default has type "None", argument has type "str") [assignment] +edge_api/identities/tasks.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:30: error: Incompatible default for argument "new_enabled_state" (default has type "None", argument has type "bool") [assignment] +edge_api/identities/tasks.py:30: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:30: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:31: error: Incompatible default for argument "new_value" (default has type "None", argument has type "bool | int | str") [assignment] +edge_api/identities/tasks.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:32: error: Incompatible default for argument "previous_enabled_state" (default has type "None", argument has type "bool") [assignment] +edge_api/identities/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:33: error: Incompatible default for argument "previous_value" (default has type "None", argument has type "bool | int | str") [assignment] +edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:33: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:54: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +edge_api/identities/tasks.py:64: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +edge_api/identities/models.py:39: error: Incompatible return value type (got "int | None", expected "int") [return-value] +edge_api/identities/models.py:93: error: Incompatible types in assignment (expression has type "dict[tuple[Any, ...] | str | int, FeatureState]", variable has type "dict[str, FeatureState | FeatureStateModel]") [assignment] +edge_api/identities/models.py:114: error: Argument "key_function" to "get_environment_flags_dict" has incompatible type "Callable[[FeatureState], str]"; expected "Callable[[FeatureState], tuple[Any, ...]]" [arg-type] +edge_api/identities/models.py:114: error: Incompatible return value type (got "str", expected "tuple[Any, ...]") [return-value] +edge_api/identities/models.py:153: error: Argument 1 to "filter" has incompatible type "Callable[[Any], bool]"; expected "Callable[[Any], TypeGuard[FeatureStateModel | None]]" [arg-type] +edge_api/identities/models.py:153: error: Item "None" of "FeatureStateModel | None" has no attribute "featurestate_uuid" [union-attr] +edge_api/identities/models.py:168: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +edge_api/identities/models.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/models.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/models.py:177: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +edge_api/identities/models.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/models.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/models.py:207: error: Item "APIKeyUser" of "FFAdminUser | APIKeyUser" has no attribute "id" [union-attr] +edge_api/identities/models.py:229: error: Need type annotation for "changes" (hint: "changes: dict[, ] = ...") [var-annotated] +edge_api/identities/models.py:266: error: Incompatible return value type (got "dict[Any, Any]", expected "IdentityChangeset") [return-value] +edge_api/identities/edge_request_forwarder.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/edge_request_forwarder.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/edge_request_forwarder.py:23: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +edge_api/identities/edge_request_forwarder.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/edge_request_forwarder.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/edge_request_forwarder.py:24: error: Incompatible default for argument "request_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +edge_api/identities/edge_request_forwarder.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/edge_request_forwarder.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/edge_request_forwarder.py:56: error: Incompatible types in assignment (expression has type "str", variable has type "dict[Any, Any]") [assignment] +edge_api/identities/edge_request_forwarder.py:60: error: Argument 3 to "_get_headers" has incompatible type "dict[Any, Any]"; expected "str" [arg-type] +edge_api/identities/edge_request_forwarder.py:73: error: Argument 2 to "forward_trait_request_sync" has incompatible type "str"; expected "dict[Any, Any]" [arg-type] +custom_auth/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/serializers.py:4: error: Skipping analyzing "djoser.conf": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/serializers.py:5: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/serializers.py:68: error: "InviteLinkValidationMixin" has no attribute "initial_data" [attr-defined] +custom_auth/serializers.py:107: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_id" (default has type "None", argument has type "str") [assignment] +custom_auth/oauth/github.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +custom_auth/oauth/github.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_secret" (default has type "None", argument has type "str") [assignment] +custom_auth/mfa/trench/responses.py:17: error: Incompatible default for argument "status" (default has type "Literal[400]", argument has type "str") [assignment] +custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "data" [misc] +custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "status" [misc] +custom_auth/mfa/trench/responses.py:22: error: Argument "status" to "__init__" of "Response" has incompatible type "str"; expected "int | None" [arg-type] +custom_auth/mfa/trench/command/remove_backup_code.py:15: error: Argument 1 to "join" of "str" has incompatible type "set[str] | None"; expected "Iterable[str]" [arg-type] +custom_auth/mfa/trench/command/remove_backup_code.py:16: error: Item "None" of "str | None" has no attribute "split" [union-attr] +custom_auth/mfa/trench/command/remove_backup_code.py:25: error: Missing return statement [return] +custom_auth/mfa/trench/command/generate_backup_codes.py:13: error: Incompatible default for argument "quantity" (default has type "object", argument has type "int") [assignment] +custom_auth/mfa/trench/command/generate_backup_codes.py:14: error: Incompatible default for argument "length" (default has type "object", argument has type "int") [assignment] +custom_auth/mfa/trench/command/generate_backup_codes.py:15: error: Incompatible default for argument "allowed_chars" (default has type "object", argument has type "str") [assignment] +custom_auth/mfa/trench/command/create_secret.py:7: error: Argument "length" has incompatible type "object"; expected "int" [arg-type] +custom_auth/mfa/backends/application.py:27: error: Value of type "object" is not indexable [index] +custom_auth/jwt_cookie/signals.py:5: error: Skipping analyzing "corsheaders.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/signals.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/signals.py:8: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/signals.py:33: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +core/redis_cluster.py:28: error: Skipping analyzing "django_redis.client.default": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/redis_cluster.py:29: error: Skipping analyzing "django_redis.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/redis_cluster.py:30: error: Skipping analyzing "django_redis.pool": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/redis_cluster.py:84: error: Need type annotation for "_clients" (hint: "_clients: dict[, ] = ...") [var-annotated] +core/redis_cluster.py:125: error: Cannot instantiate abstract class "RedisCluster" with abstract attribute "connection_pool" [abstract] +core/middleware/axes.py:1: error: Skipping analyzing "axes.middleware": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/services.py:23: error: "Model" has no attribute "instance" [attr-defined] +audit/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/serializers.py:70: error: Incompatible return value type (got "ReturnDict[Any, Any]", expected "list[dict[str, Any]]") [return-value] +audit/serializers.py:71: error: "Model" has no attribute "get_change_details" [attr-defined] +audit/serializers.py:80: error: Incompatible return value type (got "str | None", expected "str") [return-value] +audit/serializers.py:84: error: "Model" has no attribute "history_type" [attr-defined] +app_analytics/track.py:8: error: Library stubs not installed for "six.moves.urllib.parse" [import-untyped] +app_analytics/track.py:8: note: Hint: "python3 -m pip install types-six" +app_analytics/track.py:9: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/query.py:3: error: Skipping analyzing "apiclient.discovery": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/query.py:5: error: Skipping analyzing "google.oauth2": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/forms.py:19: error: "type[UserChangeForm[Any]]" has no attribute "Meta" [attr-defined] +organisations/chargebee/webhook_handlers.py:132: error: Module has no attribute "utc" [attr-defined] +organisations/chargebee/webhook_handlers.py:171: error: Module has no attribute "utc" [attr-defined] +organisations/chargebee/webhook_handlers.py:180: error: Module has no attribute "utc" [attr-defined] +integrations/slack/slack.py:28: error: Incompatible default for argument "api_token" (default has type "None", argument has type "str") [assignment] +integrations/slack/slack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/slack/slack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/slack/slack.py:28: error: Incompatible default for argument "channel_id" (default has type "None", argument has type "str") [assignment] +integrations/launch_darkly/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/grafana/mappers.py:33: error: Cannot determine type of "feature" [has-type] +features/import_export/serializers.py:22: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +features/import_export/serializers.py:22: note: Superclass: +features/import_export/serializers.py:22: note: def save(self, **kwargs: Any) -> Any +features/import_export/serializers.py:22: note: Subclass: +features/import_export/serializers.py:22: note: def save(self) -> FeatureExport +features/import_export/serializers.py:58: error: Unsupported operand types for < ("int" and "None") [operator] +features/import_export/serializers.py:58: note: Left operand is of type "int | None" +features/import_export/serializers.py:64: error: List item 0 has incompatible type "Callable[[InMemoryUploadedFile], None]"; expected "Callable[[File[Any]], None] | ContextValidator[File[Any]]" [list-item] +features/import_export/serializers.py:64: note: "function" is missing following "ContextValidator" protocol member: +features/import_export/serializers.py:64: note: requires_context +features/import_export/serializers.py:68: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +features/import_export/serializers.py:68: note: Superclass: +features/import_export/serializers.py:68: note: def save(self, **kwargs: Any) -> Any +features/import_export/serializers.py:68: note: Subclass: +features/import_export/serializers.py:68: note: def save(self, environment_id: int) -> FeatureImport +environments/sdk/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/sdk/views.py:23: error: "HttpRequest" has no attribute "environment" [attr-defined] +environments/sdk/serializers.py:152: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +environments/sdk/serializers.py:192: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[dict[Any, Any]]") [assignment] +environments/sdk/serializers.py:192: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/sdk/serializers.py:192: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/permissions.py:30: error: Item "AnonymousUser" of "FFAdminUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +edge_api/identities/export.py:41: error: Argument 1 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:41: error: Argument 3 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:45: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:45: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:45: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:45: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:47: error: Argument 1 to "export_edge_trait" has incompatible type "int | str | Any | Decimal | bytes | bytearray"; expected "dict[Any, Any]" [arg-type] +edge_api/identities/export.py:47: error: Argument 2 to "export_edge_trait" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:49: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:49: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:49: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:49: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:50: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:50: note: Possible overload variants: +edge_api/identities/export.py:50: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:50: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:51: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:51: note: Possible overload variants: +edge_api/identities/export.py:51: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:51: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:56: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +edge_api/identities/export.py:61: error: Argument 1 to "export_edge_feature_state" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:65: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:65: note: Possible overload variants: +edge_api/identities/export.py:65: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:65: error: Argument 5 to "export_edge_feature_state" has incompatible type "Any | str"; expected "bool" [arg-type] +edge_api/identities/export.py:65: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:68: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:68: note: Possible overload variants: +edge_api/identities/export.py:68: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:68: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:74: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:74: note: Possible overload variants: +edge_api/identities/export.py:74: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:74: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:77: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:78: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:87: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +edge_api/identities/export.py:90: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:96: error: Argument 2 to "export_mv_featurestate_value" has incompatible type "str"; expected "int" [arg-type] +edge_api/identities/export.py:117: error: Value expression in dictionary comprehension has incompatible type "UUID"; expected type "str" [misc] +custom_auth/oauth/serializers.py:44: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +custom_auth/mfa/trench/utils.py:14: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +custom_auth/mfa/trench/utils.py:29: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/utils.py:29: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/utils.py:32: error: Return type "User? | None" of "check_token" incompatible with return type "bool" in supertype "PasswordResetTokenGenerator" [override] +custom_auth/mfa/trench/utils.py:32: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/utils.py:32: error: Argument 2 of "check_token" is incompatible with supertype "PasswordResetTokenGenerator"; supertype defines the argument type as "str | None" [override] +custom_auth/mfa/trench/utils.py:32: note: This violates the Liskov substitution principle +custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +custom_auth/mfa/trench/utils.py:50: error: Signature of "_make_token_with_timestamp" incompatible with supertype "PasswordResetTokenGenerator" [override] +custom_auth/mfa/trench/utils.py:50: note: Superclass: +custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: FFAdminUser, timestamp: int, secret: str | bytes = ...) -> str +custom_auth/mfa/trench/utils.py:50: note: Subclass: +custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: User?, timestamp: int, **kwargs: Any) -> str +custom_auth/mfa/trench/utils.py:50: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/utils.py:50: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/utils.py:57: error: User? has no attribute "pk" [attr-defined] +custom_auth/mfa/trench/utils.py:68: error: Value of type "object" is not indexable [index] +core/apps.py:2: error: Skipping analyzing "simple_history.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/permissions.py:18: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +audit/permissions.py:18: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +audit/permissions.py:29: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +audit/permissions.py:29: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +app_analytics/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/tasks.py:32: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:71: error: Incompatible type for "enabled_when_evaluated" of "FeatureEvaluationRaw" (got "int | str | bool", expected "bool | Combinable | None") [misc] +app_analytics/tasks.py:117: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +app_analytics/tasks.py:134: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +app_analytics/tasks.py:135: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +app_analytics/tasks.py:142: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:142: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:142: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:159: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:176: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:176: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:176: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:184: error: Incompatible return value type (got "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/tasks.py:189: error: Incompatible return value type (got "QuerySet[APIUsageRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/tasks.py:196: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:204: error: Incompatible return value type (got "QuerySet[FeatureEvaluationBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/tasks.py:211: error: Incompatible return value type (got "QuerySet[FeatureEvaluationRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/analytics_db_service.py:17: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +app_analytics/analytics_db_service.py:17: note: Hint: "python3 -m pip install types-python-dateutil" +app_analytics/analytics_db_service.py:17: note: (or run "mypy --install-types" to install all missing stub packages) +app_analytics/analytics_db_service.py:80: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "Organisation" [arg-type] +app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +app_analytics/analytics_db_service.py:93: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "int" [arg-type] +app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +app_analytics/analytics_db_service.py:127: error: Incompatible types in assignment (expression has type "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", variable has type "QuerySet[APIUsageBucket, APIUsageBucket]") [assignment] +app_analytics/analytics_db_service.py:146: error: Incompatible return value type (got "dict_values[Any, UsageData]", expected "list[UsageData]") [return-value] +app/pagination.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/pagination.py:6: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/signals.py:31: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +organisations/management/commands/createinitialorganisation.py:43: error: Item "None" of "FFAdminUser | None" has no attribute "add_organisation" [union-attr] +integrations/grafana/grafana.py:26: error: Incompatible return value type (got "GrafanaAnnotation", expected "dict[str, Any]") [return-value] +import_export/export.py:264: error: Invalid type comment or annotation [valid-type] +import_export/export.py:264: note: Suggestion: use type[...] instead of type(...) +import_export/export.py:266: error: Incompatible types in assignment (expression has type "None", variable has type "list[str]") [assignment] +import_export/export.py:282: error: Argument 2 to "serialize" has incompatible type "**dict[str, list[Any]]"; expected "str" [arg-type] +features/import_export/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/permissions.py:13: error: Name "WrappedAPIView" is not defined [name-defined] +features/import_export/permissions.py:24: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +features/import_export/permissions.py:24: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +features/import_export/permissions.py:29: error: Name "WrappedAPIView" is not defined [name-defined] +features/import_export/permissions.py:35: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:35: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:40: error: Name "WrappedAPIView" is not defined [name-defined] +features/import_export/permissions.py:47: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:47: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:51: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/import_export/permissions.py:51: note: This violates the Liskov substitution principle +features/import_export/permissions.py:51: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/import_export/permissions.py:58: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +features/import_export/permissions.py:58: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +features/import_export/permissions.py:62: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/import_export/permissions.py:62: note: This violates the Liskov substitution principle +features/import_export/permissions.py:62: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/import_export/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +features/import_export/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +edge_api/management/commands/migrate_to_edge_v2.py:13: error: Missing return statement [return] +edge_api/identities/serializers.py:103: error: Return type "MultivariateFeatureOptionModel" of "to_internal_value" incompatible with return type "int" in supertype "Field" [override] +edge_api/identities/serializers.py:125: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/serializers.py:126: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/serializers.py:192: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/serializers.py:286: error: Return type "EdgeIdentitySearchData" of "to_internal_value" incompatible with return type "str" in supertype "Field" [override] +edge_api/identities/serializers.py:300: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +edge_api/identities/serializers.py:303: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +edge_api/identities/serializers.py:305: error: Argument 1 to "EdgeIdentitySearchData" has incompatible type "**dict[str, str]"; expected "EdgeIdentitySearchType" [arg-type] +custom_auth/oauth/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/mfa/trench/serializers.py:13: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +custom_auth/mfa/trench/serializers.py:19: error: Variable "custom_auth.mfa.trench.serializers.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/serializers.py:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/serializers.py:27: error: User? has no attribute "id" [attr-defined] +app_analytics/management/commands/sendapiusagetoinflux.py:6: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/management/commands/sendapiusagetoinflux.py:7: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/views.py:4: error: Skipping analyzing "common.segments.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +sales_dashboard/views.py:4: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +sales_dashboard/views.py:303: error: "Never" not callable [misc] +sales_dashboard/views.py:315: error: "Never" not callable [misc] +sales_dashboard/views.py:321: error: "Never" not callable [misc] +sales_dashboard/views.py:327: error: "Never" not callable [misc] +projects/tags/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/permissions/permissions.py:56: error: "Model" has no attribute "organisation" [attr-defined] +organisations/permissions/permissions.py:169: error: "Model" has no attribute "organisation" [attr-defined] +organisations/permissions/permissions.py:193: error: Missing return statement [return] +organisations/permissions/permissions.py:193: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +organisations/permissions/permissions.py:193: note: This violates the Liskov substitution principle +organisations/permissions/permissions.py:193: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +organisations/permissions/permissions.py:204: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:204: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:207: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +organisations/permissions/permissions.py:207: note: This violates the Liskov substitution principle +organisations/permissions/permissions.py:207: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +organisations/permissions/permissions.py:215: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:215: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:220: error: Argument 2 to "has_permission" of "BasePermission" has incompatible type "View"; expected "APIView" [arg-type] +organisations/permissions/permissions.py:224: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +organisations/permissions/permissions.py:224: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +metadata/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/permissions.py:11: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/permissions.py:86: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/permissions.py:86: note: This violates the Liskov substitution principle +features/permissions.py:86: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/permissions.py:120: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/permissions.py:120: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/permissions.py:129: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/permissions.py:129: note: This violates the Liskov substitution principle +features/permissions.py:129: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/permissions.py:139: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/permissions.py:139: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/permissions.py:18: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:18: note: This violates the Liskov substitution principle +features/versioning/permissions.py:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:34: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:34: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:39: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:39: note: This violates the Liskov substitution principle +features/versioning/permissions.py:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:51: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:51: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:64: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:64: note: This violates the Liskov substitution principle +features/versioning/permissions.py:64: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:73: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:73: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:78: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:78: note: This violates the Liskov substitution principle +features/versioning/permissions.py:78: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:81: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:81: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:85: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:85: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/import_export/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/views.py:77: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +features/import_export/views.py:106: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +features/import_export/views.py:125: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/views.py:125: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/views.py:144: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/views.py:144: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/feature_segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_segments/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:6: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:291: error: Incompatible types in assignment (expression has type "type[Webhook]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +environments/views.py:293: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +environments/views.py:306: error: Incompatible types in assignment (expression has type "type[EnvironmentAPIKey]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +environments/identities/views.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/views.py:12: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/jwt_cookie/views.py:1: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/management/commands/bootstrap.py:18: error: Signature of "create_parser" incompatible with supertype "BaseCommand" [override] +core/management/commands/bootstrap.py:18: note: Superclass: +core/management/commands/bootstrap.py:18: note: def create_parser(self, prog_name: str, subcommand: str, **kwargs: Any) -> CommandParser +core/management/commands/bootstrap.py:18: note: Subclass: +core/management/commands/bootstrap.py:18: note: def create_parser(self, *args: Any, **kwargs: Any) -> ArgumentParser +core/management/commands/bootstrap.py:22: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +core/management/commands/bootstrap.py:23: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +core/management/commands/bootstrap.py:24: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +core/management/commands/bootstrap.py:27: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +core/management/commands/bootstrap.py:28: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +core/management/commands/bootstrap.py:29: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +audit/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/views.py:107: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +audit/views.py:107: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +app_analytics/views.py:11: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:8: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:13: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:19: error: Skipping analyzing "moto": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:26: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:29: error: Skipping analyzing "xdist": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:114: error: No return value expected [return-value] +conftest.py:114: error: Argument "json_data" to "MockResponse" has incompatible type "dict[str, str]"; expected "str" [arg-type] +conftest.py:416: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +conftest.py:439: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +conftest.py:466: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +conftest.py:691: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +conftest.py:701: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +conftest.py:723: error: Incompatible return value type (got "int", expected "str") [return-value] +conftest.py:1186: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +conftest.py:1222: error: Need type annotation for "messages" (hint: "messages: list[] = ...") [var-annotated] +conftest.py:1224: error: Return type "None" of "handle" incompatible with return type "bool" in supertype "Handler" [override] +users/views.py:16: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/views.py:124: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +users/views.py:204: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +users/views.py:204: note: This violates the Liskov substitution principle +users/views.py:204: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +users/views.py:207: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[UserPermissionGroup] | None") [return-value] +projects/permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/permissions.py:74: error: "Model" has no attribute "project" [attr-defined] +projects/permissions.py:106: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +projects/permissions.py:106: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/permissions.py:106: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/permissions.py:109: error: "Model" has no attribute "project" [attr-defined] +organisations/views.py:12: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +organisations/views.py:14: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/views.py:302: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +metadata/urls.py:3: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/views.py:143: error: Missing return statement [return] +integrations/github/views.py:143: error: Return type "Response | None" of "create" incompatible with return type "Response" in supertype "CreateModelMixin" [override] +integrations/github/views.py:167: error: Return type "Response | None" of "update" incompatible with return type "Response" in supertype "UpdateModelMixin" [override] +features/views.py:8: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/views.py:17: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/views.py:18: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/views.py:184: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +features/views.py:184: note: This violates the Liskov substitution principle +features/views.py:184: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/views.py:186: error: Cannot determine type of "_page" [has-type] +features/views.py:189: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[Feature]") [return-value] +features/versioning/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/views.py:86: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +features/versioning/views.py:86: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +features/versioning/views.py:91: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +features/versioning/views.py:91: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +features/versioning/views.py:127: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +features/versioning/views.py:127: note: This violates the Liskov substitution principle +features/versioning/views.py:127: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/views.py:250: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +features/versioning/views.py:250: note: This violates the Liskov substitution principle +features/versioning/views.py:250: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/views.py:259: error: Argument 1 of "perform_update" is incompatible with supertype "UpdateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +features/versioning/views.py:259: note: This violates the Liskov substitution principle +features/versioning/views.py:259: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +environments/identities/traits/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/views.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/views.py:6: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/views.py:121: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/views.py:237: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/views.py:266: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +e2etests/e2e_seed_data.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +e2etests/e2e_seed_data.py:6: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +e2etests/e2e_seed_data.py:139: error: Incompatible type for "name" of "Project" (got "Sequence[str]", expected "str | int | Combinable") [misc] +custom_auth/views.py:6: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/views.py:41: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +custom_auth/views.py:52: error: Value of type "object" is not indexable [index] +custom_auth/views.py:72: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +custom_auth/views.py:84: error: "CodeLoginSerializer" has no attribute "user" [attr-defined] +custom_auth/views.py:89: error: Argument "status" to "ErrorResponse" has incompatible type "Literal[401]"; expected "str" [arg-type] +custom_auth/mfa/trench/views/base.py:28: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +custom_auth/mfa/trench/views/base.py:41: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +custom_auth/mfa/trench/views/base.py:60: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +custom_auth/mfa/trench/views/base.py:74: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +custom_auth/jwt_cookie/authentication.py:15: error: Argument 1 to "get_validated_token" of "JWTAuthentication" has incompatible type "str"; expected "bytes" [arg-type] +custom_auth/jwt_cookie/authentication.py:16: error: Incompatible return value type (got "tuple[AbstractBaseUser, Token]", expected "tuple[FFAdminUser, Token] | None") [return-value] +users/migrations/0007_invite.py:27: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:7: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:8: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:148: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +projects/views.py:148: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/views.py:148: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/views.py:156: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +projects/views.py:168: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +projects/views.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/views.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/views.py:212: error: Incompatible types in assignment (expression has type "type[UserProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +projects/views.py:222: error: Incompatible types in assignment (expression has type "type[UserPermissionGroupProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +projects/migrations/0025_add_change_request_project_permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/migrations/0003_auto_20200216_2050.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0010_add_manage_tags_permission.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0009_move_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0008_add_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0001_initial.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0001_initial.py:10: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/views.py:67: error: Argument "user" to "create_import_request" has incompatible type "AbstractBaseUser | AnonymousUser"; expected "FFAdminUser" [arg-type] +integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/views.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/views.py:26: error: "Request" has no attribute "environment" [attr-defined] +integrations/common/views.py:33: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:35: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:63: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:65: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:92: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:94: error: "None" has no attribute "objects" [attr-defined] +features/urls.py:4: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/views.py:2: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0003_add_manage_identities_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0002_add_update_feature_state_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0010_auto_20200219_2343.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/migration_helpers.py:16: error: Incompatible default for argument "reverse_sql" (default has type "None", argument has type "str | PathLike[Any]") [assignment] +core/migration_helpers.py:16: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/migration_helpers.py:16: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/migration_helpers.py:22: error: Argument "reverse_sql" to "PostgresOnlyRunSQL" has incompatible type "str | PathLike[Any]"; expected "str | list[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None]] | tuple[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None], ...] | tuple[()] | None" [arg-type] +core/migration_helpers.py:71: error: "type" has no attribute "permissions" [attr-defined] +core/migration_helpers.py:73: error: "type" has no attribute "objects" [attr-defined] +app/urls.py:46: error: Skipping analyzing "debug_toolbar": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/migrations/0001_initial.py:25: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +api/migrations/0001_initial.py:34: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +api/migrations/0001_initial.py:57: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +api/migrations/0001_initial.py:85: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +integrations/webhook/views.py:7: error: Incompatible types in assignment (expression has type "type[WebhookConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/webhook/views.py:8: error: Incompatible types in assignment (expression has type "type[WebhookConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/slack/views.py:64: error: Incompatible types in assignment (expression has type "type[SlackEnvironmentSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/slack/views.py:66: error: Incompatible types in assignment (expression has type "type[SlackEnvironment]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/segment/views.py:7: error: Incompatible types in assignment (expression has type "type[SegmentConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/segment/views.py:9: error: Incompatible types in assignment (expression has type "type[SegmentConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/rudderstack/views.py:9: error: Incompatible types in assignment (expression has type "type[RudderstackConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/rudderstack/views.py:11: error: Incompatible types in assignment (expression has type "type[RudderstackConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/new_relic/views.py:7: error: Incompatible types in assignment (expression has type "type[NewRelicConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/new_relic/views.py:8: error: Incompatible types in assignment (expression has type "type[NewRelicConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/mixpanel/views.py:7: error: Incompatible types in assignment (expression has type "type[MixpanelConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/mixpanel/views.py:8: error: Incompatible types in assignment (expression has type "type[MixpanelConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/heap/views.py:7: error: Incompatible types in assignment (expression has type "type[HeapConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/heap/views.py:8: error: Incompatible types in assignment (expression has type "type[HeapConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:16: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:18: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:22: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfigurationSerializer]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:24: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfiguration]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/dynatrace/views.py:7: error: Incompatible types in assignment (expression has type "type[DynatraceConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/dynatrace/views.py:9: error: Incompatible types in assignment (expression has type "type[DynatraceConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/datadog/views.py:7: error: Incompatible types in assignment (expression has type "type[DataDogConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/datadog/views.py:8: error: Incompatible types in assignment (expression has type "type[DataDogConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/amplitude/views.py:7: error: Incompatible types in assignment (expression has type "type[AmplitudeConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/amplitude/views.py:9: error: Incompatible types in assignment (expression has type "type[AmplitudeConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0005_add_view_identity_permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0004_add_change_request_permissions.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/urls.py:5: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/urls.py:7: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/urls.py:158: error: Cannot find implementation or library stub for module named "rbac.views" [import-not-found] +environments/urls.py:2: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/urls.py:3: error: Skipping analyzing "rest_framework_nested.routers": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] From 319a14eec0678fed0cea3fbcb121975f49a04885 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:49:52 +0000 Subject: [PATCH 07/51] Add mypy checking script --- api/scripts/mypy_check.py | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 api/scripts/mypy_check.py diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py new file mode 100644 index 000000000000..01f5a9b95177 --- /dev/null +++ b/api/scripts/mypy_check.py @@ -0,0 +1,52 @@ +import re +import subprocess +import sys +from pathlib import Path + + +def main(): + baseline_path = Path("scripts/mypy_baseline.txt") + if not baseline_path.exists(): + print("Baseline file not found. Run mypy and create mypy_baseline.txt first.") + sys.exit(1) + + # Run mypy and capture output + result = subprocess.run( + ["poetry", "run", "mypy", "--config-file", "mypy.ini", "."], + capture_output=True, + text=True, + ) + current_output = result.stdout.strip().splitlines() + if result.returncode != 1: + print("Error running mypy:", result.stderr) + sys.exit(1) + + with open(baseline_path, "r") as f: + baseline = set(line.strip() for line in f if line.strip()) + + # Detect new errors and remove information line + current_errors = set(current_output) + new_errors = current_errors - baseline + pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" + removal = None + + for error in new_errors: + has_match = re.match(pattern, error) + if has_match: + removal = error + break + + if removal: + new_errors.remove(removal) + + if new_errors: + print("New mypy errors detected:") + print("\n".join(new_errors)) + sys.exit(1) + + print("No new mypy errors detected.") + sys.exit(0) + + +if __name__ == "__main__": + main() From a9fa1cdb65f328847585c70b7014b33d0e927a3c Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:56:01 +0000 Subject: [PATCH 08/51] Move mypy to the end since it is the slowest --- .pre-commit-config.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9fefccab5f78..82ff55d1f8f2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,12 +1,4 @@ repos: - - repo: local - hooks: - - id: mypy-check - name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py" - language: system - types: [python] - - repo: https://github.com/PyCQA/isort rev: 5.13.2 hooks: @@ -48,5 +40,13 @@ repos: - id: poetry-check args: ['-C', 'api'] + - repo: local + hooks: + - id: mypy-check + name: mypy check + entry: bash -c "cd api && poetry run python scripts/mypy_check.py" + language: system + types: [python] + ci: autoupdate_commit_msg: 'ci: pre-commit autoupdate' From a410134e7369cfb26a8136cde2684b0828ceee36 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 16:41:51 +0000 Subject: [PATCH 09/51] Delete mypy.ini --- api/mypy.ini | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 api/mypy.ini diff --git a/api/mypy.ini b/api/mypy.ini deleted file mode 100644 index d5c6eac0da69..000000000000 --- a/api/mypy.ini +++ /dev/null @@ -1,10 +0,0 @@ -[mypy] -exclude = ^(tests/)$ -plugins = mypy_django_plugin.main - -[mypy.plugins.django-stubs] -django_settings_module = "app.settings.local" - -# Enable Django Rest Framework stubs. -[mypy.plugins.drf-stubs] -enabled = True From b7c49748409f1e05296fd6302367470af0f65f5e Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 16:42:07 +0000 Subject: [PATCH 10/51] Add mypy concerns to pyproject.toml --- api/pyproject.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/api/pyproject.toml b/api/pyproject.toml index 10f0f7b2dd78..23dd2c5cd864 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -99,6 +99,16 @@ skip = ['migrations', '.venv', '.direnv'] addopts = ['--ds=app.settings.test', '-vvvv', '-p', 'no:warnings'] console_output_style = 'count' +[tool.mypy] +exclude = "^(tests/)$" +plugins = ["mypy_django_plugin.main"] + +[tool.django-stubs] +django_settings_module = "app.settings.local" + +[tool.drf-stubs] +enabled = true + [tool.poetry] name = "flagsmith-api" version = "2.68.0" From 1fa817384027bc30c5c7ea32eda4b15a8a88bb2c Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 20:14:25 +0000 Subject: [PATCH 11/51] Update mypy checking --- api/scripts/mypy_baseline.txt | 3 +++ api/scripts/mypy_check.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 890231903059..1092b3baef75 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -1530,3 +1530,6 @@ api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] +util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "set[int] | set[str] | dict[int, Any] | dict[str, Any] | None" [arg-type] +util/pydantic.py:17: note: def [Model: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[Model] | tuple[type[Model], ...], __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[Model] +util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index 01f5a9b95177..ebc721316b99 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -12,7 +12,7 @@ def main(): # Run mypy and capture output result = subprocess.run( - ["poetry", "run", "mypy", "--config-file", "mypy.ini", "."], + ["poetry", "run", "mypy", "--config-file", "pyproject.toml", "."], capture_output=True, text=True, ) From 91e79f30703a35f53af28b99987b631db84a8374 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 20:18:02 +0000 Subject: [PATCH 12/51] Add type ignores --- api/util/mappers/sdk.py | 2 +- api/util/pydantic.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/util/mappers/sdk.py b/api/util/mappers/sdk.py index 2bc9c4a0ff61..01edf12dfba0 100644 --- a/api/util/mappers/sdk.py +++ b/api/util/mappers/sdk.py @@ -48,5 +48,5 @@ def map_environment_to_sdk_document(environment: "Environment") -> SDKDocument: ] return engine_environment.model_dump( - exclude=SDK_DOCUMENT_EXCLUDE, + exclude=SDK_DOCUMENT_EXCLUDE, # type: ignore ) diff --git a/api/util/pydantic.py b/api/util/pydantic.py index d526c76ee95b..759992f8fcd3 100644 --- a/api/util/pydantic.py +++ b/api/util/pydantic.py @@ -14,7 +14,7 @@ def exclude_model_fields( for field_name, field in model_cls.model_fields.items() if field_name not in exclude_fields } - return create_model( + return create_model( # type: ignore model_cls.__name__, __config__=model_cls.model_config, **fields, From c2a9cf4c7feba105a822bcf0a0d904aa4995698c Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 14:47:32 +0000 Subject: [PATCH 13/51] Attempt passing args into mypy_check.py script --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 52254fc999dd..eb877356234e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py $@" language: system types: [python] From d63f5c186dbc3398671db3fa130ed6b08b78ddb9 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 14:55:48 +0000 Subject: [PATCH 14/51] Attempt using $FILES --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index eb877356234e..2496e6da2bce 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py $@" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py $FILES" language: system types: [python] From 77b9e4196e3c4812621133c4b7ab75d11c125412 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 14:57:22 +0000 Subject: [PATCH 15/51] Debug command line args --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2496e6da2bce..a1e1da543ead 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py $FILES" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py scripts/mypy_check.py" language: system types: [python] From 7847a51b95b832c48416092d2f1d84f796507bb6 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:02:02 +0000 Subject: [PATCH 16/51] Attempt using git for the filenames --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a1e1da543ead..5192cd6f228a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py scripts/mypy_check.py" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py $(git diff --name-only --cached -- '*.py')" language: system types: [python] From 2281d5b65364cca29226343b4c137c6988d07b5d Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:39:21 +0000 Subject: [PATCH 17/51] Update mypy check with success exit code and other changes --- api/scripts/mypy_check.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index ebc721316b99..da0c6a532e00 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -4,23 +4,45 @@ from pathlib import Path -def main(): +def main() -> None: baseline_path = Path("scripts/mypy_baseline.txt") if not baseline_path.exists(): print("Baseline file not found. Run mypy and create mypy_baseline.txt first.") sys.exit(1) # Run mypy and capture output + files_to_check = [f"../{filename}" for filename in sys.argv[1:]] + command = [ + "poetry", + "run", + "mypy", + "--config-file", + "pyproject.toml", + ] + files_to_check + result = subprocess.run( - ["poetry", "run", "mypy", "--config-file", "pyproject.toml", "."], + command, capture_output=True, text=True, ) - current_output = result.stdout.strip().splitlines() + + # Mypy found no issues for the targeted file + if result.returncode == 0: + print(result.stdout.strip()) + sys.exit(0) + + # Mypy failed in some other way other than listing failing file lines if result.returncode != 1: - print("Error running mypy:", result.stderr) + print(command) + print( + f"Error running mypy with return code {result.returncode} and error:", + result.stderr, + ) + print(result.stdout.strip()) sys.exit(1) + current_output = result.stdout.strip().splitlines() + with open(baseline_path, "r") as f: baseline = set(line.strip() for line in f if line.strip()) From d572a3614afd806ae691d14b1536776db7465657 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:52:58 +0000 Subject: [PATCH 18/51] Update mypy_baseline --- api/scripts/mypy_baseline.txt | 3140 ++++++++++++++++----------------- 1 file changed, 1527 insertions(+), 1613 deletions(-) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index ab0cfe56444a..12348018aad0 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -1,1613 +1,1527 @@ -users/emails.py:1: error: Skipping analyzing "djoser": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] -integrations/opencensus/querylogger.py:1: error: Skipping analyzing "google.rpc": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/opencensus/querylogger.py:2: error: Skipping analyzing "opencensus.trace": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/subscriptions/metadata.py:14: error: Incompatible default for argument "chargebee_email" (default has type "None", argument has type "str") [assignment] -organisations/subscriptions/metadata.py:14: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -organisations/subscriptions/metadata.py:14: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] -organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle -organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: -organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: -organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): -organisations/subscriptions/metadata.py:71: note: return NotImplemented -organisations/subscriptions/metadata.py:71: note: return -app_analytics/types.py:5: error: Parameter 1 of Literal[...] is invalid [valid-type] -app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] -temp_hubspot.py:2: error: Name "Organisation" is not defined [name-defined] -temp_hubspot.py:3: error: Name "SettingsWrapper" is not defined [name-defined] -temp_hubspot.py:9: error: Name "FFAdminUser" is not defined [name-defined] -temp_hubspot.py:17: error: Name "OrganisationRole" is not defined [name-defined] -temp_hubspot.py:20: error: Name "HubspotLead" is not defined [name-defined] -integrations/lead_tracking/pipedrive/models.py:18: error: Incompatible types in assignment (expression has type "None", variable has type "Schema") [assignment] -integrations/lead_tracking/pipedrive/models.py:22: error: Incompatible default for argument "schema" (default has type "None", argument has type "Schema") [assignment] -integrations/lead_tracking/pipedrive/models.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:43: error: Incompatible default for argument "id" (default has type "None", argument has type "str") [assignment] -integrations/lead_tracking/pipedrive/models.py:43: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:43: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:44: error: Incompatible default for argument "owner_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:44: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:44: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:45: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] -integrations/lead_tracking/pipedrive/models.py:45: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:45: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:46: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:46: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:46: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:47: error: Incompatible default for argument "organization_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:48: error: Incompatible default for argument "value" (default has type "None", argument has type "PipedriveValue") [assignment] -integrations/lead_tracking/pipedrive/models.py:48: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:48: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:49: error: Incompatible default for argument "expected_close_date" (default has type "None", argument has type "date") [assignment] -integrations/lead_tracking/pipedrive/models.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:50: error: Incompatible default for argument "visible_to" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:50: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:50: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:51: error: Incompatible default for argument "was_seen" (default has type "None", argument has type "bool") [assignment] -integrations/lead_tracking/pipedrive/models.py:51: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:51: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:72: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:72: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:72: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:73: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] -integrations/lead_tracking/pipedrive/models.py:73: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:73: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:99: error: Incompatible default for argument "key" (default has type "None", argument has type "str") [assignment] -integrations/lead_tracking/pipedrive/models.py:99: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:99: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:101: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/models.py:125: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/models.py:125: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/models.py:125: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/client.py:29: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] -integrations/lead_tracking/pipedrive/client.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/client.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/client.py:48: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveOrganization] [misc] -integrations/lead_tracking/pipedrive/client.py:59: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedrivePerson] [misc] -integrations/lead_tracking/pipedrive/client.py:72: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveOrganizationField") [return-value] -integrations/lead_tracking/pipedrive/client.py:83: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveDealField") [return-value] -integrations/lead_tracking/pipedrive/client.py:89: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/pipedrive/client.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/client.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/client.py:90: error: Incompatible default for argument "custom_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] -integrations/lead_tracking/pipedrive/client.py:90: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/client.py:90: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/client.py:91: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] -integrations/lead_tracking/pipedrive/client.py:91: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/client.py:91: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/client.py:105: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveLead") [return-value] -integrations/lead_tracking/pipedrive/client.py:120: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedrivePerson") [return-value] -integrations/lead_tracking/pipedrive/client.py:129: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveLeadLabel] [misc] -integrations/lead_tracking/pipedrive/client.py:136: error: Incompatible default for argument "data" (default has type "None", argument has type "dict[Any, Any]") [assignment] -integrations/lead_tracking/pipedrive/client.py:136: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/client.py:136: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/pipedrive/client.py:137: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] -integrations/lead_tracking/pipedrive/client.py:137: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/pipedrive/client.py:137: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/launch_darkly/client.py:30: error: A function returning TypeVar should receive at least one argument containing the same TypeVar [type-var] -integrations/launch_darkly/client.py:56: error: Need type annotation for "response_json" [var-annotated] -util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] -util/pydantic.py:17: note: Possible overload variants: -util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] -util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] -features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] -api/openapi.py:4: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] -api/openapi.py:5: error: Skipping analyzing "drf_yasg.openapi": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/utils.py:20: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] -edge_api/identities/utils.py:25: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] -edge_api/identities/utils.py:30: error: Incompatible return value type (got "dict[str, Literal['+', '-', '~']]", expected "FeatureStateChangeDetails") [return-value] -environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] -environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] -environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] -environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] -integrations/common/wrapper.py:23: error: Unexpected "..." [misc] -features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] -features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] -features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] -features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] -features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] -features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] -features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] -features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] -features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] -features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] -features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] -/home/zach/.cache/pypoetry/virtualenvs/flagsmith-api-rl5v6uhh-py3.12/lib/python3.12/site-packages/django-stubs/db/models/fields/related.pyi:154: note: "ForeignKey" defined here -features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] -/home/zach/.cache/pypoetry/virtualenvs/flagsmith-api-rl5v6uhh-py3.12/lib/python3.12/site-packages/django-stubs/db/models/fields/related.pyi:154: note: "ForeignKey" defined here -core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] -core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] -core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] -core/models.py:67: error: Missing return statement [return] -core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] -core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] -core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] -core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] -core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] -core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] -core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] -core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] -core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] -core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] -core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] -core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] -core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] -core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] -core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -app/routers.py:101: error: Missing return statement [return] -app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] -app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] -app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] -app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] -app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] -app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] -integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] -integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] -features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] -features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] -environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] -environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] -environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] -environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] -edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] -app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] -app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? -app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] -app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] -app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] -app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] -app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] -app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] -app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] -app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] -app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] -organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] -organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] -features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/multivariate/models.py:89: error: Missing return statement [return] -features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] -features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] -features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] -organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] -webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] -integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] -integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] -integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] -integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] -features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] -features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] -features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] -custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] -organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/chargebee/chargebee.py:143: error: Missing return statement [return] -custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] -custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] -custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] -custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] -projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] -organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] -organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] -organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] -integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] -api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] -api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] -integrations/github/client.py:116: error: Missing return statement [return] -integrations/github/client.py:282: error: Missing return statement [return] -integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] -features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] -features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] -features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] -features/versioning/models.py:97: note: Left operand is of type "datetime | None" -features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] -features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] -features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] -features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] -features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] -features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] -features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] -features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] -features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] -features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] -features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] -features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] -features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] -features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] -features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "IncEx | None" [arg-type] -util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] -util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] -util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] -util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] -util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] -util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] -util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] -util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] -segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] -segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] -segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] -segments/models.py:182: note: Left operand is of type "int | None" -segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -segments/models.py:370: error: Missing return statement [return] -segments/models.py:374: error: Missing return statement [return] -projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] -projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] -projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] -projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] -projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] -features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] -features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] -features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] -features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] -features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] -features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] -features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] -features/models.py:530: error: Unsupported left operand type for < ("None") [operator] -features/models.py:530: note: Both left and right operands are unions -features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] -features/models.py:537: error: Unsupported left operand type for > ("None") [operator] -features/models.py:537: note: Both left and right operands are unions -features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] -features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] -features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] -features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] -features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] -features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] -features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] -features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] -features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] -features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] -features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] -features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] -features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] -features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] -features/models.py:924: error: Return value expected [return-value] -features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] -features/models.py:934: error: Return value expected [return-value] -features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] -features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] -features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] -features/models.py:1114: error: Return value expected [return-value] -features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] -features/models.py:1117: error: Return value expected [return-value] -features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] -features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] -environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] -environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] -environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] -environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] -environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] -environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] -environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] -environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] -environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] -environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] -environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] -environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] -environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] -environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] -environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] -environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] -environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] -environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] -environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] -environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] -audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] -audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] -audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] -audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] -audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] -audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] -audit/models.py:29: error: Need type annotation for "project" [var-annotated] -audit/models.py:32: error: Need type annotation for "environment" [var-annotated] -audit/models.py:39: error: Need type annotation for "log" [var-annotated] -audit/models.py:40: error: Need type annotation for "author" [var-annotated] -audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] -audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] -audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] -audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] -audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] -audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] -audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] -audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] -audit/models.py:106: error: Return value expected [return-value] -audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] -segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] -integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] -integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] -integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] -integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] -integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] -integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] -integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] -features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] -features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] -environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] -integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] -environments/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/models.py:22: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/models.py:65: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -environments/models.py:73: error: Need type annotation for "name" [var-annotated] -environments/models.py:74: error: Need type annotation for "created_date" [var-annotated] -environments/models.py:75: error: Need type annotation for "description" [var-annotated] -environments/models.py:76: error: Need type annotation for "project" [var-annotated] -environments/models.py:90: error: Need type annotation for "api_key" [var-annotated] -environments/models.py:94: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] -environments/models.py:96: error: Need type annotation for "webhooks_enabled" [var-annotated] -environments/models.py:97: error: Need type annotation for "webhook_url" [var-annotated] -environments/models.py:99: error: Need type annotation for "allow_client_traits" [var-annotated] -environments/models.py:102: error: Need type annotation for "updated_at" [var-annotated] -environments/models.py:106: error: Need type annotation for "banner_text" [var-annotated] -environments/models.py:107: error: Need type annotation for "banner_colour" [var-annotated] -environments/models.py:112: error: Need type annotation for "hide_disabled_flags" [var-annotated] -environments/models.py:120: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] -environments/models.py:128: error: Need type annotation for "hide_sensitive_data" [var-annotated] -environments/models.py:133: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] -environments/models.py:134: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] -environments/models.py:139: error: Need type annotation for "is_creating" [var-annotated] -environments/models.py:172: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] -environments/models.py:172: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:172: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:242: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] -environments/models.py:242: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:242: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:242: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] -environments/models.py:279: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] -environments/models.py:284: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] -environments/models.py:288: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] -environments/models.py:288: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:288: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:443: error: Invalid type comment or annotation [valid-type] -environments/models.py:443: note: Suggestion: use type[...] instead of type(...) -environments/models.py:444: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] -environments/models.py:444: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:444: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:445: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] -environments/models.py:445: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:445: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:446: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] -environments/models.py:446: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:446: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:498: error: Need type annotation for "environment" [var-annotated] -environments/models.py:501: error: Need type annotation for "key" [var-annotated] -environments/models.py:502: error: Need type annotation for "created_at" [var-annotated] -environments/models.py:503: error: Need type annotation for "name" [var-annotated] -environments/models.py:504: error: Need type annotation for "expires_at" [var-annotated] -environments/models.py:505: error: Need type annotation for "active" [var-annotated] -webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] -webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] -webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] -webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] -webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] -webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] -webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] -webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] -webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] -webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] -webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] -webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] -users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] -sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] -permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] -permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] -features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] -features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] -features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] -features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] -features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] -features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] -features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] -features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] -features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] -features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] -features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] -features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] -features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" -features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] -features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] -features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] -features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] -features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] -environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] -environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] -environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] -permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] -permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] -permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] -permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] -permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] -permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] -permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] -permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] -permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] -permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] -permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] -features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] -features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] -features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] -features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] -users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] -users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] -users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] -users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] -users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] -users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] -users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] -users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] -users/models.py:142: note: Superclass: -users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] -users/models.py:142: note: Subclass: -users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any -users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] -users/models.py:244: error: Missing return statement [return] -users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] -environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] -api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] -api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] -organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] -integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] -features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/serializers.py:117: error: Need type annotation for "emails" [var-annotated] -organisations/serializers.py:221: error: Need type annotation for "events_list" [var-annotated] -integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] -integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] -integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] -integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] -integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] -users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] -features/serializers.py:281: error: Missing return statement [return] -features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] -features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] -features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] -features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] -features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] -features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] -features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] -features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] -features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] -features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] -organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] -organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] -organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] -organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] -integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] -integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] -integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] -integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] -integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] -integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] -integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] -integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] -integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] -features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] -features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] -features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] -features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] -features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] -features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] -features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] -features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] -features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] -features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] -features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] -features/workflows/core/models.py:224: error: Missing return statement [return] -features/workflows/core/models.py:232: error: Missing return statement [return] -features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] -features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] -features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] -features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] -features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] -features/workflows/core/models.py:403: error: Missing return statement [return] -features/workflows/core/models.py:407: error: Missing return statement [return] -environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] -projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] -projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] -projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] -projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] -projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] -projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] -integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] -integrations/webhook/serializers.py:52: error: Missing return statement [return] -integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] -integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] -integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] -integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] -integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] -integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] -integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] -integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/serializers.py:84: error: Incompatible types in assignment (expression has type tuple[str, str, ... <15 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] -environments/serializers.py:86: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] -environments/serializers.py:86: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/serializers.py:86: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/serializers.py:88: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] -environments/serializers.py:101: error: Cannot determine type of "fields" [has-type] -environments/serializers.py:129: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] -environments/serializers.py:129: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] -environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] -environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] -environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] -integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] -integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -util/renderers.py:14: error: Cannot override class variable (previously declared on base class "JSONRenderer") with instance variable [misc] -util/migrations.py:46: error: Item "UserOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] -util/migrations.py:46: error: Item "UserPermissionGroupOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] -util/logging.py:8: error: Skipping analyzing "gunicorn.config": module is installed, but missing library stubs or py.typed marker [import-untyped] -util/logging.py:9: error: Skipping analyzing "gunicorn.instrument.statsd": module is installed, but missing library stubs or py.typed marker [import-untyped] -util/logging.py:36: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:36: note: Possible overload variants: -util/logging.py:36: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:36: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:36: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:37: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:37: note: Possible overload variants: -util/logging.py:37: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:37: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:37: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:38: error: Unsupported left operand type for + ("object") [operator] -util/logging.py:38: note: Left operand is of type "Any | object" -util/logging.py:42: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:42: note: Possible overload variants: -util/logging.py:42: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:42: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:42: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:42: error: Argument 1 to "strptime" of "datetime" has incompatible type "Any | object"; expected "str" [arg-type] -util/logging.py:44: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:44: note: Possible overload variants: -util/logging.py:44: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:44: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:44: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:45: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:45: note: Possible overload variants: -util/logging.py:45: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:45: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:45: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:46: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:46: note: Possible overload variants: -util/logging.py:46: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:46: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:46: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:47: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:47: note: Possible overload variants: -util/logging.py:47: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:47: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:47: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:48: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:48: note: Possible overload variants: -util/logging.py:48: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:48: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:48: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:49: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:49: note: Possible overload variants: -util/logging.py:49: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:49: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:49: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/logging.py:50: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] -util/logging.py:50: note: Possible overload variants: -util/logging.py:50: note: def __getitem__(self, SupportsIndex, /) -> object -util/logging.py:50: note: def __getitem__(self, slice, /) -> tuple[object, ...] -util/logging.py:50: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] -util/history/custom_simple_history.py:2: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/services.py:5: error: Skipping analyzing "djoser.email": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/admin.py:84: error: Incompatible default for argument "obj" (default has type "None", argument has type "Project") [assignment] -projects/admin.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -projects/admin.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -projects/tags/serializers.py:25: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "is_system_tag" [union-attr] -projects/tags/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/permissions_calculator.py:81: error: Invalid type comment or annotation [valid-type] -permissions/permissions_calculator.py:103: error: Argument 1 to "reduce" has incompatible type "Callable[[set[Never], set[str]], set[str]]"; expected "Callable[[set[Never], set[str]], set[Never]]" [arg-type] -permissions/permissions_calculator.py:103: error: Incompatible return value type (got "set[str]", expected "set[Never]") [return-value] -permissions/permissions_calculator.py:109: error: "Iterable[str]" has no attribute "union" [attr-defined] -permissions/permissions_calculator.py:135: error: Argument 1 to "get_user_permission_data" has incompatible type "UserProjectPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] -permissions/permissions_calculator.py:147: error: Argument 1 to "get_user_permission_data" has incompatible type "UserOrganisationPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] -permissions/permissions_calculator.py:158: error: Argument 1 to "get_user_permission_data" has incompatible type "UserEnvironmentPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] -permissions/permissions_calculator.py:165: error: Incompatible default for argument "user_permission" (default has type "None", argument has type "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission") [assignment] -permissions/permissions_calculator.py:165: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -permissions/permissions_calculator.py:165: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -organisations/chargebee/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/pipedrive/lead_tracker.py:17: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/lead_tracking/pipedrive/lead_tracker.py:82: error: Unsupported target for indexed assignment ("object") [index] -integrations/lead_tracking/pipedrive/lead_tracker.py:86: error: Unsupported target for indexed assignment ("object") [index] -integrations/lead_tracking/hubspot/services.py:15: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -integrations/lead_tracking/hubspot/services.py:15: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -integrations/lead_tracking/hubspot/services.py:19: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -integrations/lead_tracking/hubspot/services.py:19: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -integrations/lead_tracking/hubspot/services.py:30: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -integrations/lead_tracking/hubspot/services.py:30: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -integrations/launch_darkly/services.py:62: error: Argument 1 to "contextmanager" has incompatible type "Callable[[LaunchDarklyImportRequest], None]"; expected "Callable[[LaunchDarklyImportRequest], Iterator[Never]]" [arg-type] -integrations/launch_darkly/services.py:63: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] -integrations/launch_darkly/services.py:457: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] -integrations/launch_darkly/services.py:550: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] -integrations/launch_darkly/services.py:615: error: Argument "variation_idx" to "_set_imported_mv_feature_state_values" has incompatible type "int | None"; expected "str | None" [arg-type] -integrations/launch_darkly/services.py:787: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] -integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "import_request" [call-arg] -integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "ld_flag" [call-arg] -integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "feature" [call-arg] -integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "environments_by_ld_environment_key" [call-arg] -integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "segments_by_ld_key" [call-arg] -integrations/launch_darkly/services.py:992: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] -integrations/launch_darkly/services.py:1075: error: Item "Request" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] -integrations/launch_darkly/services.py:1075: error: Item "None" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] -integrations/launch_darkly/services.py:1088: error: Need type annotation for "segment_tags_by_ld_tag" (hint: "segment_tags_by_ld_tag: dict[, ] = ...") [var-annotated] -integrations/launch_darkly/serializers.py:14: error: Incompatible types in assignment (expression has type "ListSerializer[Never]", base class "Field" defined the type as "dict[str, str | _StrPromise]") [assignment] -integrations/launch_darkly/serializers.py:25: error: Need type annotation for "created_by" [var-annotated] -integrations/datadog/datadog.py:20: error: Incompatible default for argument "session" (default has type "None", argument has type "Session") [assignment] -integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/datadog/datadog.py:20: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -features/admin.py:6: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/import_export/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/import_export/tasks.py:177: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] -features/import_export/tasks.py:199: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] -features/import_export/tasks.py:224: error: Item "bool" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] -features/import_export/tasks.py:224: error: Item "int" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] -features/import_export/tasks.py:224: error: Item "None" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] -features/import_export/tasks.py:226: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -features/import_export/tasks.py:227: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -features/import_export/tasks.py:229: error: Argument "default_percentage_allocation" to "_create_multivariate_feature_option" has incompatible type "Any | str"; expected "int | float" [arg-type] -features/import_export/tasks.py:229: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -features/import_export/tasks.py:234: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -features/import_export/tasks.py:240: error: Argument "type" to "_save_feature_state_value_with_type" has incompatible type "bool | str | int | None"; expected "str" [arg-type] -features/feature_segments/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/serializers.py:17: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] -environments/permissions/serializers.py:31: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] -environments/permissions/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/permissions.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/permissions.py:85: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] -environments/permissions/permissions.py:85: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/permissions/permissions.py:85: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/permissions/permissions.py:88: error: "Model" has no attribute "environment" [attr-defined] -environments/permissions/permissions.py:89: error: Incompatible default for argument "admin_actions" (default has type "None", argument has type "Iterable[str]") [assignment] -environments/permissions/permissions.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/permissions/permissions.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/identities/traits/admin.py:3: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/tasks.py:6: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/tasks.py:25: error: Function "builtins.id" is not valid as a type [valid-type] -edge_api/identities/tasks.py:25: note: Perhaps you need "Callable[...]" or a callback protocol? -edge_api/identities/tasks.py:28: error: Incompatible default for argument "changed_by_user_id" (default has type "None", argument has type "int") [assignment] -edge_api/identities/tasks.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/tasks.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/tasks.py:29: error: Incompatible default for argument "changed_by" (default has type "None", argument has type "str") [assignment] -edge_api/identities/tasks.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/tasks.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/tasks.py:30: error: Incompatible default for argument "new_enabled_state" (default has type "None", argument has type "bool") [assignment] -edge_api/identities/tasks.py:30: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/tasks.py:30: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/tasks.py:31: error: Incompatible default for argument "new_value" (default has type "None", argument has type "bool | int | str") [assignment] -edge_api/identities/tasks.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/tasks.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/tasks.py:32: error: Incompatible default for argument "previous_enabled_state" (default has type "None", argument has type "bool") [assignment] -edge_api/identities/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/tasks.py:33: error: Incompatible default for argument "previous_value" (default has type "None", argument has type "bool | int | str") [assignment] -edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/tasks.py:33: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/tasks.py:54: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] -edge_api/identities/tasks.py:64: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] -edge_api/identities/models.py:39: error: Incompatible return value type (got "int | None", expected "int") [return-value] -edge_api/identities/models.py:93: error: Incompatible types in assignment (expression has type "dict[tuple[Any, ...] | str | int, FeatureState]", variable has type "dict[str, FeatureState | FeatureStateModel]") [assignment] -edge_api/identities/models.py:114: error: Argument "key_function" to "get_environment_flags_dict" has incompatible type "Callable[[FeatureState], str]"; expected "Callable[[FeatureState], tuple[Any, ...]]" [arg-type] -edge_api/identities/models.py:114: error: Incompatible return value type (got "str", expected "tuple[Any, ...]") [return-value] -edge_api/identities/models.py:153: error: Argument 1 to "filter" has incompatible type "Callable[[Any], bool]"; expected "Callable[[Any], TypeGuard[FeatureStateModel | None]]" [arg-type] -edge_api/identities/models.py:153: error: Item "None" of "FeatureStateModel | None" has no attribute "featurestate_uuid" [union-attr] -edge_api/identities/models.py:168: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] -edge_api/identities/models.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/models.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/models.py:177: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] -edge_api/identities/models.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/models.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/models.py:207: error: Item "APIKeyUser" of "FFAdminUser | APIKeyUser" has no attribute "id" [union-attr] -edge_api/identities/models.py:229: error: Need type annotation for "changes" (hint: "changes: dict[, ] = ...") [var-annotated] -edge_api/identities/models.py:266: error: Incompatible return value type (got "dict[Any, Any]", expected "IdentityChangeset") [return-value] -edge_api/identities/edge_request_forwarder.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/edge_request_forwarder.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/edge_request_forwarder.py:23: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] -edge_api/identities/edge_request_forwarder.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/edge_request_forwarder.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/edge_request_forwarder.py:24: error: Incompatible default for argument "request_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] -edge_api/identities/edge_request_forwarder.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -edge_api/identities/edge_request_forwarder.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/edge_request_forwarder.py:56: error: Incompatible types in assignment (expression has type "str", variable has type "dict[Any, Any]") [assignment] -edge_api/identities/edge_request_forwarder.py:60: error: Argument 3 to "_get_headers" has incompatible type "dict[Any, Any]"; expected "str" [arg-type] -edge_api/identities/edge_request_forwarder.py:73: error: Argument 2 to "forward_trait_request_sync" has incompatible type "str"; expected "dict[Any, Any]" [arg-type] -custom_auth/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/serializers.py:4: error: Skipping analyzing "djoser.conf": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/serializers.py:5: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/serializers.py:68: error: "InviteLinkValidationMixin" has no attribute "initial_data" [attr-defined] -custom_auth/serializers.py:107: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] -custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_id" (default has type "None", argument has type "str") [assignment] -custom_auth/oauth/github.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -custom_auth/oauth/github.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_secret" (default has type "None", argument has type "str") [assignment] -custom_auth/mfa/trench/responses.py:17: error: Incompatible default for argument "status" (default has type "Literal[400]", argument has type "str") [assignment] -custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "data" [misc] -custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "status" [misc] -custom_auth/mfa/trench/responses.py:22: error: Argument "status" to "__init__" of "Response" has incompatible type "str"; expected "int | None" [arg-type] -custom_auth/mfa/trench/command/remove_backup_code.py:15: error: Argument 1 to "join" of "str" has incompatible type "set[str] | None"; expected "Iterable[str]" [arg-type] -custom_auth/mfa/trench/command/remove_backup_code.py:16: error: Item "None" of "str | None" has no attribute "split" [union-attr] -custom_auth/mfa/trench/command/remove_backup_code.py:25: error: Missing return statement [return] -custom_auth/mfa/trench/command/generate_backup_codes.py:13: error: Incompatible default for argument "quantity" (default has type "object", argument has type "int") [assignment] -custom_auth/mfa/trench/command/generate_backup_codes.py:14: error: Incompatible default for argument "length" (default has type "object", argument has type "int") [assignment] -custom_auth/mfa/trench/command/generate_backup_codes.py:15: error: Incompatible default for argument "allowed_chars" (default has type "object", argument has type "str") [assignment] -custom_auth/mfa/trench/command/create_secret.py:7: error: Argument "length" has incompatible type "object"; expected "int" [arg-type] -custom_auth/mfa/backends/application.py:27: error: Value of type "object" is not indexable [index] -custom_auth/jwt_cookie/signals.py:5: error: Skipping analyzing "corsheaders.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/signals.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/signals.py:8: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/signals.py:33: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] -core/redis_cluster.py:28: error: Skipping analyzing "django_redis.client.default": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/redis_cluster.py:29: error: Skipping analyzing "django_redis.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/redis_cluster.py:30: error: Skipping analyzing "django_redis.pool": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/redis_cluster.py:84: error: Need type annotation for "_clients" (hint: "_clients: dict[, ] = ...") [var-annotated] -core/redis_cluster.py:125: error: Cannot instantiate abstract class "RedisCluster" with abstract attribute "connection_pool" [abstract] -core/middleware/axes.py:1: error: Skipping analyzing "axes.middleware": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/services.py:23: error: "Model" has no attribute "instance" [attr-defined] -audit/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/serializers.py:70: error: Incompatible return value type (got "ReturnDict[Any, Any]", expected "list[dict[str, Any]]") [return-value] -audit/serializers.py:71: error: "Model" has no attribute "get_change_details" [attr-defined] -audit/serializers.py:80: error: Incompatible return value type (got "str | None", expected "str") [return-value] -audit/serializers.py:84: error: "Model" has no attribute "history_type" [attr-defined] -app_analytics/track.py:8: error: Library stubs not installed for "six.moves.urllib.parse" [import-untyped] -app_analytics/track.py:8: note: Hint: "python3 -m pip install types-six" -app_analytics/track.py:9: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/query.py:3: error: Skipping analyzing "apiclient.discovery": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/query.py:5: error: Skipping analyzing "google.oauth2": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/forms.py:19: error: "type[UserChangeForm[Any]]" has no attribute "Meta" [attr-defined] -organisations/chargebee/webhook_handlers.py:132: error: Module has no attribute "utc" [attr-defined] -organisations/chargebee/webhook_handlers.py:171: error: Module has no attribute "utc" [attr-defined] -organisations/chargebee/webhook_handlers.py:180: error: Module has no attribute "utc" [attr-defined] -integrations/slack/slack.py:28: error: Incompatible default for argument "api_token" (default has type "None", argument has type "str") [assignment] -integrations/slack/slack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -integrations/slack/slack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -integrations/slack/slack.py:28: error: Incompatible default for argument "channel_id" (default has type "None", argument has type "str") [assignment] -integrations/launch_darkly/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/grafana/mappers.py:33: error: Cannot determine type of "feature" [has-type] -features/import_export/serializers.py:22: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] -features/import_export/serializers.py:22: note: Superclass: -features/import_export/serializers.py:22: note: def save(self, **kwargs: Any) -> Any -features/import_export/serializers.py:22: note: Subclass: -features/import_export/serializers.py:22: note: def save(self) -> FeatureExport -features/import_export/serializers.py:58: error: Unsupported operand types for < ("int" and "None") [operator] -features/import_export/serializers.py:58: note: Left operand is of type "int | None" -features/import_export/serializers.py:64: error: List item 0 has incompatible type "Callable[[InMemoryUploadedFile], None]"; expected "Callable[[File[Any]], None] | ContextValidator[File[Any]]" [list-item] -features/import_export/serializers.py:64: note: "function" is missing following "ContextValidator" protocol member: -features/import_export/serializers.py:64: note: requires_context -features/import_export/serializers.py:68: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] -features/import_export/serializers.py:68: note: Superclass: -features/import_export/serializers.py:68: note: def save(self, **kwargs: Any) -> Any -features/import_export/serializers.py:68: note: Subclass: -features/import_export/serializers.py:68: note: def save(self, environment_id: int) -> FeatureImport -environments/sdk/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/sdk/views.py:23: error: "HttpRequest" has no attribute "environment" [attr-defined] -environments/sdk/serializers.py:152: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -environments/sdk/serializers.py:192: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[dict[Any, Any]]") [assignment] -environments/sdk/serializers.py:192: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/sdk/serializers.py:192: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -edge_api/identities/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/permissions.py:30: error: Item "AnonymousUser" of "FFAdminUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] -edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] -edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] -edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] -edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] -edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] -edge_api/identities/export.py:41: error: Argument 1 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] -edge_api/identities/export.py:41: error: Argument 3 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] -edge_api/identities/export.py:45: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:45: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:45: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:45: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:47: error: Argument 1 to "export_edge_trait" has incompatible type "int | str | Any | Decimal | bytes | bytearray"; expected "dict[Any, Any]" [arg-type] -edge_api/identities/export.py:47: error: Argument 2 to "export_edge_trait" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] -edge_api/identities/export.py:49: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:49: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:49: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:49: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] -edge_api/identities/export.py:50: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] -edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] -edge_api/identities/export.py:50: note: Possible overload variants: -edge_api/identities/export.py:50: note: def __getitem__(self, SupportsIndex, /) -> int -edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytes -edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] -edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytearray -edge_api/identities/export.py:50: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:51: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] -edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] -edge_api/identities/export.py:51: note: Possible overload variants: -edge_api/identities/export.py:51: note: def __getitem__(self, SupportsIndex, /) -> int -edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytes -edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] -edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytearray -edge_api/identities/export.py:51: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:56: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] -edge_api/identities/export.py:61: error: Argument 1 to "export_edge_feature_state" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] -edge_api/identities/export.py:65: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] -edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] -edge_api/identities/export.py:65: note: Possible overload variants: -edge_api/identities/export.py:65: note: def __getitem__(self, SupportsIndex, /) -> int -edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytes -edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] -edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytearray -edge_api/identities/export.py:65: error: Argument 5 to "export_edge_feature_state" has incompatible type "Any | str"; expected "bool" [arg-type] -edge_api/identities/export.py:65: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:68: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] -edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] -edge_api/identities/export.py:68: note: Possible overload variants: -edge_api/identities/export.py:68: note: def __getitem__(self, SupportsIndex, /) -> int -edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytes -edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] -edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytearray -edge_api/identities/export.py:68: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:74: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] -edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] -edge_api/identities/export.py:74: note: Possible overload variants: -edge_api/identities/export.py:74: note: def __getitem__(self, SupportsIndex, /) -> int -edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytes -edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] -edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytearray -edge_api/identities/export.py:74: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:77: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:78: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:87: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] -edge_api/identities/export.py:90: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] -edge_api/identities/export.py:96: error: Argument 2 to "export_mv_featurestate_value" has incompatible type "str"; expected "int" [arg-type] -edge_api/identities/export.py:117: error: Value expression in dictionary comprehension has incompatible type "UUID"; expected type "str" [misc] -custom_auth/oauth/serializers.py:44: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] -custom_auth/mfa/trench/utils.py:14: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] -custom_auth/mfa/trench/utils.py:29: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] -custom_auth/mfa/trench/utils.py:29: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -custom_auth/mfa/trench/utils.py:32: error: Return type "User? | None" of "check_token" incompatible with return type "bool" in supertype "PasswordResetTokenGenerator" [override] -custom_auth/mfa/trench/utils.py:32: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] -custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -custom_auth/mfa/trench/utils.py:32: error: Argument 2 of "check_token" is incompatible with supertype "PasswordResetTokenGenerator"; supertype defines the argument type as "str | None" [override] -custom_auth/mfa/trench/utils.py:32: note: This violates the Liskov substitution principle -custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -custom_auth/mfa/trench/utils.py:50: error: Signature of "_make_token_with_timestamp" incompatible with supertype "PasswordResetTokenGenerator" [override] -custom_auth/mfa/trench/utils.py:50: note: Superclass: -custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: FFAdminUser, timestamp: int, secret: str | bytes = ...) -> str -custom_auth/mfa/trench/utils.py:50: note: Subclass: -custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: User?, timestamp: int, **kwargs: Any) -> str -custom_auth/mfa/trench/utils.py:50: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] -custom_auth/mfa/trench/utils.py:50: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -custom_auth/mfa/trench/utils.py:57: error: User? has no attribute "pk" [attr-defined] -custom_auth/mfa/trench/utils.py:68: error: Value of type "object" is not indexable [index] -core/apps.py:2: error: Skipping analyzing "simple_history.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/permissions.py:18: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] -audit/permissions.py:18: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] -audit/permissions.py:29: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] -audit/permissions.py:29: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] -app_analytics/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/tasks.py:32: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] -app_analytics/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/tasks.py:71: error: Incompatible type for "enabled_when_evaluated" of "FeatureEvaluationRaw" (got "int | str | bool", expected "bool | Combinable | None") [misc] -app_analytics/tasks.py:117: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] -app_analytics/tasks.py:134: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] -app_analytics/tasks.py:135: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] -app_analytics/tasks.py:142: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] -app_analytics/tasks.py:142: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/tasks.py:142: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/tasks.py:159: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] -app_analytics/tasks.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/tasks.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/tasks.py:176: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] -app_analytics/tasks.py:176: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/tasks.py:176: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/tasks.py:184: error: Incompatible return value type (got "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] -app_analytics/tasks.py:189: error: Incompatible return value type (got "QuerySet[APIUsageRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] -app_analytics/tasks.py:196: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] -app_analytics/tasks.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -app_analytics/tasks.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -app_analytics/tasks.py:204: error: Incompatible return value type (got "QuerySet[FeatureEvaluationBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] -app_analytics/tasks.py:211: error: Incompatible return value type (got "QuerySet[FeatureEvaluationRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] -app_analytics/analytics_db_service.py:17: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] -app_analytics/analytics_db_service.py:17: note: Hint: "python3 -m pip install types-python-dateutil" -app_analytics/analytics_db_service.py:17: note: (or run "mypy --install-types" to install all missing stub packages) -app_analytics/analytics_db_service.py:80: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] -app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "Organisation" [arg-type] -app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] -app_analytics/analytics_db_service.py:93: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] -app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "int" [arg-type] -app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] -app_analytics/analytics_db_service.py:127: error: Incompatible types in assignment (expression has type "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", variable has type "QuerySet[APIUsageBucket, APIUsageBucket]") [assignment] -app_analytics/analytics_db_service.py:146: error: Incompatible return value type (got "dict_values[Any, UsageData]", expected "list[UsageData]") [return-value] -app/pagination.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -app/pagination.py:6: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/signals.py:31: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -organisations/management/commands/createinitialorganisation.py:43: error: Item "None" of "FFAdminUser | None" has no attribute "add_organisation" [union-attr] -integrations/grafana/grafana.py:26: error: Incompatible return value type (got "GrafanaAnnotation", expected "dict[str, Any]") [return-value] -import_export/export.py:264: error: Invalid type comment or annotation [valid-type] -import_export/export.py:264: note: Suggestion: use type[...] instead of type(...) -import_export/export.py:266: error: Incompatible types in assignment (expression has type "None", variable has type "list[str]") [assignment] -import_export/export.py:282: error: Argument 2 to "serialize" has incompatible type "**dict[str, list[Any]]"; expected "str" [arg-type] -features/import_export/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/import_export/permissions.py:13: error: Name "WrappedAPIView" is not defined [name-defined] -features/import_export/permissions.py:24: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] -features/import_export/permissions.py:24: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] -features/import_export/permissions.py:29: error: Name "WrappedAPIView" is not defined [name-defined] -features/import_export/permissions.py:35: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/permissions.py:35: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/permissions.py:40: error: Name "WrappedAPIView" is not defined [name-defined] -features/import_export/permissions.py:47: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/permissions.py:47: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/permissions.py:51: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/import_export/permissions.py:51: note: This violates the Liskov substitution principle -features/import_export/permissions.py:51: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/import_export/permissions.py:58: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] -features/import_export/permissions.py:58: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] -features/import_export/permissions.py:62: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/import_export/permissions.py:62: note: This violates the Liskov substitution principle -features/import_export/permissions.py:62: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/import_export/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] -features/import_export/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] -edge_api/management/commands/migrate_to_edge_v2.py:13: error: Missing return statement [return] -edge_api/identities/serializers.py:103: error: Return type "MultivariateFeatureOptionModel" of "to_internal_value" incompatible with return type "int" in supertype "Field" [override] -edge_api/identities/serializers.py:125: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -edge_api/identities/serializers.py:126: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -edge_api/identities/serializers.py:192: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -edge_api/identities/serializers.py:286: error: Return type "EdgeIdentitySearchData" of "to_internal_value" incompatible with return type "str" in supertype "Field" [override] -edge_api/identities/serializers.py:300: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] -edge_api/identities/serializers.py:303: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] -edge_api/identities/serializers.py:305: error: Argument 1 to "EdgeIdentitySearchData" has incompatible type "**dict[str, str]"; expected "EdgeIdentitySearchType" [arg-type] -custom_auth/oauth/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/mfa/trench/serializers.py:13: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] -custom_auth/mfa/trench/serializers.py:19: error: Variable "custom_auth.mfa.trench.serializers.User" is not valid as a type [valid-type] -custom_auth/mfa/trench/serializers.py:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -custom_auth/mfa/trench/serializers.py:27: error: User? has no attribute "id" [attr-defined] -app_analytics/management/commands/sendapiusagetoinflux.py:6: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] -app_analytics/management/commands/sendapiusagetoinflux.py:7: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/views.py:4: error: Skipping analyzing "common.segments.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -sales_dashboard/views.py:4: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] -sales_dashboard/views.py:303: error: "Never" not callable [misc] -sales_dashboard/views.py:315: error: "Never" not callable [misc] -sales_dashboard/views.py:321: error: "Never" not callable [misc] -sales_dashboard/views.py:327: error: "Never" not callable [misc] -projects/tags/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/permissions/permissions.py:56: error: "Model" has no attribute "organisation" [attr-defined] -organisations/permissions/permissions.py:169: error: "Model" has no attribute "organisation" [attr-defined] -organisations/permissions/permissions.py:193: error: Missing return statement [return] -organisations/permissions/permissions.py:193: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -organisations/permissions/permissions.py:193: note: This violates the Liskov substitution principle -organisations/permissions/permissions.py:193: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -organisations/permissions/permissions.py:204: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] -organisations/permissions/permissions.py:204: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] -organisations/permissions/permissions.py:207: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -organisations/permissions/permissions.py:207: note: This violates the Liskov substitution principle -organisations/permissions/permissions.py:207: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -organisations/permissions/permissions.py:215: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] -organisations/permissions/permissions.py:215: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] -organisations/permissions/permissions.py:220: error: Argument 2 to "has_permission" of "BasePermission" has incompatible type "View"; expected "APIView" [arg-type] -organisations/permissions/permissions.py:224: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] -organisations/permissions/permissions.py:224: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] -metadata/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/permissions.py:11: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/permissions.py:86: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/permissions.py:86: note: This violates the Liskov substitution principle -features/permissions.py:86: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/permissions.py:120: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/permissions.py:120: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/permissions.py:129: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/permissions.py:129: note: This violates the Liskov substitution principle -features/permissions.py:129: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/permissions.py:139: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/permissions.py:139: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/permissions.py:18: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/versioning/permissions.py:18: note: This violates the Liskov substitution principle -features/versioning/permissions.py:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/versioning/permissions.py:34: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:34: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:39: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/versioning/permissions.py:39: note: This violates the Liskov substitution principle -features/versioning/permissions.py:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/versioning/permissions.py:51: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:51: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:64: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/versioning/permissions.py:64: note: This violates the Liskov substitution principle -features/versioning/permissions.py:64: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/versioning/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:73: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:73: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:78: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] -features/versioning/permissions.py:78: note: This violates the Liskov substitution principle -features/versioning/permissions.py:78: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/versioning/permissions.py:81: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:81: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:85: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/versioning/permissions.py:85: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] -features/import_export/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/import_export/views.py:77: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] -features/import_export/views.py:106: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] -features/import_export/views.py:125: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/views.py:125: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/views.py:144: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/import_export/views.py:144: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] -features/feature_segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/feature_segments/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/views.py:6: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/views.py:291: error: Incompatible types in assignment (expression has type "type[Webhook]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] -environments/views.py:293: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] -environments/views.py:306: error: Incompatible types in assignment (expression has type "type[EnvironmentAPIKey]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] -environments/identities/views.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/identities/views.py:12: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/jwt_cookie/views.py:1: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/management/commands/bootstrap.py:18: error: Signature of "create_parser" incompatible with supertype "BaseCommand" [override] -core/management/commands/bootstrap.py:18: note: Superclass: -core/management/commands/bootstrap.py:18: note: def create_parser(self, prog_name: str, subcommand: str, **kwargs: Any) -> CommandParser -core/management/commands/bootstrap.py:18: note: Subclass: -core/management/commands/bootstrap.py:18: note: def create_parser(self, *args: Any, **kwargs: Any) -> ArgumentParser -core/management/commands/bootstrap.py:22: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] -core/management/commands/bootstrap.py:23: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] -core/management/commands/bootstrap.py:24: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] -core/management/commands/bootstrap.py:27: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] -core/management/commands/bootstrap.py:28: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] -core/management/commands/bootstrap.py:29: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] -audit/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -audit/views.py:107: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] -audit/views.py:107: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] -app_analytics/views.py:11: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -conftest.py:8: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -conftest.py:13: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -conftest.py:19: error: Skipping analyzing "moto": module is installed, but missing library stubs or py.typed marker [import-untyped] -conftest.py:26: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] -conftest.py:29: error: Skipping analyzing "xdist": module is installed, but missing library stubs or py.typed marker [import-untyped] -conftest.py:114: error: No return value expected [return-value] -conftest.py:114: error: Argument "json_data" to "MockResponse" has incompatible type "dict[str, str]"; expected "str" [arg-type] -conftest.py:416: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] -conftest.py:439: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] -conftest.py:466: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] -conftest.py:691: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] -conftest.py:701: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] -conftest.py:723: error: Incompatible return value type (got "int", expected "str") [return-value] -conftest.py:1186: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] -conftest.py:1222: error: Need type annotation for "messages" (hint: "messages: list[] = ...") [var-annotated] -conftest.py:1224: error: Return type "None" of "handle" incompatible with return type "bool" in supertype "Handler" [override] -users/views.py:16: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -users/views.py:124: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] -users/views.py:204: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] -users/views.py:204: note: This violates the Liskov substitution principle -users/views.py:204: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -users/views.py:207: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[UserPermissionGroup] | None") [return-value] -projects/permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/permissions.py:74: error: "Model" has no attribute "project" [attr-defined] -projects/permissions.py:106: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] -projects/permissions.py:106: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -projects/permissions.py:106: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -projects/permissions.py:109: error: "Model" has no attribute "project" [attr-defined] -organisations/views.py:12: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] -organisations/views.py:14: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/views.py:302: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] -metadata/urls.py:3: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/github/views.py:143: error: Missing return statement [return] -integrations/github/views.py:143: error: Return type "Response | None" of "create" incompatible with return type "Response" in supertype "CreateModelMixin" [override] -integrations/github/views.py:167: error: Return type "Response | None" of "update" incompatible with return type "Response" in supertype "UpdateModelMixin" [override] -features/views.py:8: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/views.py:17: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/views.py:18: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/views.py:184: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] -features/views.py:184: note: This violates the Liskov substitution principle -features/views.py:184: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/views.py:186: error: Cannot determine type of "_page" [has-type] -features/views.py:189: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[Feature]") [return-value] -features/versioning/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/views.py:86: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] -features/versioning/views.py:86: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] -features/versioning/views.py:91: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] -features/versioning/views.py:91: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] -features/versioning/views.py:127: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] -features/versioning/views.py:127: note: This violates the Liskov substitution principle -features/versioning/views.py:127: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/versioning/views.py:250: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] -features/versioning/views.py:250: note: This violates the Liskov substitution principle -features/versioning/views.py:250: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -features/versioning/views.py:259: error: Argument 1 of "perform_update" is incompatible with supertype "UpdateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] -features/versioning/views.py:259: note: This violates the Liskov substitution principle -features/versioning/views.py:259: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides -environments/identities/traits/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/identities/traits/views.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/identities/traits/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/views.py:6: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -edge_api/identities/views.py:121: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -edge_api/identities/views.py:237: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -edge_api/identities/views.py:266: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] -e2etests/e2e_seed_data.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -e2etests/e2e_seed_data.py:6: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -e2etests/e2e_seed_data.py:139: error: Incompatible type for "name" of "Project" (got "Sequence[str]", expected "str | int | Combinable") [misc] -custom_auth/views.py:6: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -custom_auth/views.py:41: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] -custom_auth/views.py:52: error: Value of type "object" is not indexable [index] -custom_auth/views.py:72: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] -custom_auth/views.py:84: error: "CodeLoginSerializer" has no attribute "user" [attr-defined] -custom_auth/views.py:89: error: Argument "status" to "ErrorResponse" has incompatible type "Literal[401]"; expected "str" [arg-type] -custom_auth/mfa/trench/views/base.py:28: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] -custom_auth/mfa/trench/views/base.py:41: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] -custom_auth/mfa/trench/views/base.py:60: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] -custom_auth/mfa/trench/views/base.py:74: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] -custom_auth/jwt_cookie/authentication.py:15: error: Argument 1 to "get_validated_token" of "JWTAuthentication" has incompatible type "str"; expected "bytes" [arg-type] -custom_auth/jwt_cookie/authentication.py:16: error: Incompatible return value type (got "tuple[AbstractBaseUser, Token]", expected "tuple[FFAdminUser, Token] | None") [return-value] -users/migrations/0007_invite.py:27: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] -segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/views.py:7: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/views.py:8: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/views.py:148: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] -projects/views.py:148: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -projects/views.py:148: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -projects/views.py:156: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] -projects/views.py:168: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] -projects/views.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -projects/views.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -projects/views.py:212: error: Incompatible types in assignment (expression has type "type[UserProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] -projects/views.py:222: error: Incompatible types in assignment (expression has type "type[UserPermissionGroupProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] -projects/migrations/0025_add_change_request_project_permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/migrations/0003_auto_20200216_2050.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/migrations/0010_add_manage_tags_permission.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/migrations/0009_move_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/migrations/0008_add_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/migrations/0001_initial.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -permissions/migrations/0001_initial.py:10: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/launch_darkly/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/launch_darkly/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/launch_darkly/views.py:67: error: Argument "user" to "create_import_request" has incompatible type "AbstractBaseUser | AnonymousUser"; expected "FFAdminUser" [arg-type] -integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/common/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/common/views.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -integrations/common/views.py:26: error: "Request" has no attribute "environment" [attr-defined] -integrations/common/views.py:33: error: "None" has no attribute "objects" [attr-defined] -integrations/common/views.py:35: error: "None" has no attribute "objects" [attr-defined] -integrations/common/views.py:63: error: "None" has no attribute "objects" [attr-defined] -integrations/common/views.py:65: error: "None" has no attribute "objects" [attr-defined] -integrations/common/views.py:92: error: "None" has no attribute "objects" [attr-defined] -integrations/common/views.py:94: error: "None" has no attribute "objects" [attr-defined] -features/urls.py:4: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/views.py:2: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/migrations/0003_add_manage_identities_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/migrations/0002_add_update_feature_state_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0010_auto_20200219_2343.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] -core/migration_helpers.py:16: error: Incompatible default for argument "reverse_sql" (default has type "None", argument has type "str | PathLike[Any]") [assignment] -core/migration_helpers.py:16: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -core/migration_helpers.py:16: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -core/migration_helpers.py:22: error: Argument "reverse_sql" to "PostgresOnlyRunSQL" has incompatible type "str | PathLike[Any]"; expected "str | list[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None]] | tuple[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None], ...] | tuple[()] | None" [arg-type] -core/migration_helpers.py:71: error: "type" has no attribute "permissions" [attr-defined] -core/migration_helpers.py:73: error: "type" has no attribute "objects" [attr-defined] -app/urls.py:46: error: Skipping analyzing "debug_toolbar": module is installed, but missing library stubs or py.typed marker [import-untyped] -api/migrations/0001_initial.py:25: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] -api/migrations/0001_initial.py:34: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] -api/migrations/0001_initial.py:57: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] -api/migrations/0001_initial.py:85: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] -integrations/webhook/views.py:7: error: Incompatible types in assignment (expression has type "type[WebhookConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/webhook/views.py:8: error: Incompatible types in assignment (expression has type "type[WebhookConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/slack/views.py:64: error: Incompatible types in assignment (expression has type "type[SlackEnvironmentSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/slack/views.py:66: error: Incompatible types in assignment (expression has type "type[SlackEnvironment]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/segment/views.py:7: error: Incompatible types in assignment (expression has type "type[SegmentConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/segment/views.py:9: error: Incompatible types in assignment (expression has type "type[SegmentConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/rudderstack/views.py:9: error: Incompatible types in assignment (expression has type "type[RudderstackConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/rudderstack/views.py:11: error: Incompatible types in assignment (expression has type "type[RudderstackConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/new_relic/views.py:7: error: Incompatible types in assignment (expression has type "type[NewRelicConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/new_relic/views.py:8: error: Incompatible types in assignment (expression has type "type[NewRelicConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/mixpanel/views.py:7: error: Incompatible types in assignment (expression has type "type[MixpanelConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/mixpanel/views.py:8: error: Incompatible types in assignment (expression has type "type[MixpanelConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/heap/views.py:7: error: Incompatible types in assignment (expression has type "type[HeapConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/heap/views.py:8: error: Incompatible types in assignment (expression has type "type[HeapConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/grafana/views.py:16: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/grafana/views.py:18: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/grafana/views.py:22: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfigurationSerializer]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/grafana/views.py:24: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfiguration]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/dynatrace/views.py:7: error: Incompatible types in assignment (expression has type "type[DynatraceConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/dynatrace/views.py:9: error: Incompatible types in assignment (expression has type "type[DynatraceConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/datadog/views.py:7: error: Incompatible types in assignment (expression has type "type[DataDogConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/datadog/views.py:8: error: Incompatible types in assignment (expression has type "type[DataDogConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] -integrations/amplitude/views.py:7: error: Incompatible types in assignment (expression has type "type[AmplitudeConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -integrations/amplitude/views.py:9: error: Incompatible types in assignment (expression has type "type[AmplitudeConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] -environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/migrations/0005_add_view_identity_permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/permissions/migrations/0004_add_change_request_permissions.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] -projects/urls.py:5: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/urls.py:7: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] -organisations/urls.py:158: error: Cannot find implementation or library stub for module named "rbac.views" [import-not-found] -environments/urls.py:2: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] -features/versioning/urls.py:3: error: Skipping analyzing "rest_framework_nested.routers": module is installed, but missing library stubs or py.typed marker [import-untyped] -api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] -api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports -api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] -util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "set[int] | set[str] | dict[int, Any] | dict[str, Any] | None" [arg-type] -util/pydantic.py:17: note: def [Model: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[Model] | tuple[type[Model], ...], __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[Model] -util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] -environments/models.py:142: error: Need type annotation for "is_creating" [var-annotated] -environments/serializers.py:87: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:100: error: Need type annotation for "webhook_url" [var-annotated] -environments/models.py:175: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] -environments/models.py:23: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/models.py:447: note: Suggestion: use type[...] instead of type(...) -environments/models.py:502: error: Need type annotation for "environment" [var-annotated] -environments/models.py:102: error: Need type annotation for "allow_client_traits" [var-annotated] -environments/models.py:79: error: Need type annotation for "project" [var-annotated] -environments/models.py:507: error: Need type annotation for "name" [var-annotated] -environments/models.py:93: error: Need type annotation for "api_key" [var-annotated] -environments/models.py:175: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/serializers.py:130: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] -environments/models.py:175: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:292: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:137: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] -organisations/subscriptions/metadata.py:34: error: Unsupported left operand type for + ("None") [operator] -environments/models.py:75: error: Need type annotation for "name" [var-annotated] -organisations/serializers.py:222: error: Need type annotation for "events_list" [var-annotated] -environments/views.py:309: error: Incompatible types in assignment (expression has type "type[Webhook]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] -integrations/lead_tracking/hubspot/services.py:16: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -environments/models.py:77: error: Need type annotation for "created_date" [var-annotated] -environments/models.py:78: error: Need type annotation for "description" [var-annotated] -environments/models.py:246: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:450: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/serializers.py:89: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] -environments/models.py:448: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:450: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:283: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] -organisations/views.py:313: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] -organisations/serializers.py:118: error: Need type annotation for "emails" [var-annotated] -organisations/urls.py:158: error: Cannot find implementation or library stub for module named "licensing.views" [import-not-found] -integrations/lead_tracking/hubspot/services.py:21: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -environments/models.py:109: error: Need type annotation for "banner_text" [var-annotated] -environments/serializers.py:102: error: Cannot determine type of "fields" [has-type] -environments/models.py:123: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] -environments/serializers.py:87: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] -environments/serializers.py:87: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:447: error: Invalid type comment or annotation [valid-type] -environments/serializers.py:130: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] -environments/views.py:324: error: Incompatible types in assignment (expression has type "type[EnvironmentAPIKey]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] -environments/models.py:131: error: Need type annotation for "hide_sensitive_data" [var-annotated] -organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("int" and "None") [operator] -environments/models.py:288: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] -environments/views.py:311: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] -environments/models.py:448: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] -organisations/subscription_info_cache.py:131: error: Incompatible types in assignment (expression has type "int | None", variable has type "float | int | str | Combinable") [assignment] -environments/views.py:10: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/models.py:508: error: Need type annotation for "expires_at" [var-annotated] -environments/models.py:449: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:246: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] -integrations/lead_tracking/hubspot/services.py:16: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -environments/models.py:136: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] -integrations/lead_tracking/hubspot/services.py:21: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] -environments/models.py:292: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] -environments/models.py:246: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] -environments/models.py:449: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -organisations/urls.py:172: error: Cannot find implementation or library stub for module named "rbac.views" [import-not-found] -environments/models.py:448: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:115: error: Need type annotation for "hide_disabled_flags" [var-annotated] -environments/models.py:449: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] -environments/models.py:76: error: Need type annotation for "uuid" [var-annotated] -environments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/models.py:505: error: Need type annotation for "key" [var-annotated] -environments/models.py:292: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True -environments/models.py:450: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] -environments/models.py:66: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] -environments/models.py:509: error: Need type annotation for "active" [var-annotated] -environments/views.py:9: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] -environments/models.py:110: error: Need type annotation for "banner_colour" [var-annotated] -environments/models.py:246: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase -environments/models.py:506: error: Need type annotation for "created_at" [var-annotated] -environments/models.py:99: error: Need type annotation for "webhooks_enabled" [var-annotated] -organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("None" and "int") [operator] -organisations/subscriptions/metadata.py:34: note: Both left and right operands are unions -environments/models.py:105: error: Need type annotation for "updated_at" [var-annotated] -environments/serializers.py:85: error: Incompatible types in assignment (expression has type tuple[str, str, ... <16 more items>], base class "Meta" defined the type as tuple[str, str, ... <15 more items>]) [assignment] -environments/models.py:97: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +../api/edge_api/identities/tasks.py:31: error: Incompatible default for argument "new_value" (default has type "None", argument has type "bool | int | str") [assignment] +../api/edge_api/identities/export.py:74: note: def __getitem__(self, SupportsIndex, /) -> int +../api/core/apps.py:2: error: Skipping analyzing "simple_history.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:60: error: Argument 3 to "_get_headers" has incompatible type "dict[Any, Any]"; expected "str" [arg-type] +../api/projects/permissions.py:74: error: "Model" has no attribute "project" [attr-defined] +../api/integrations/lead_tracking/pipedrive/models.py:45: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +../api/audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] +../api/users/migrations/0007_invite.py:27: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/core/models.py:67: error: Missing return statement [return] +../api/webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] +../api/environments/serializers.py:87: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] +../api/integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +../api/permissions/permissions_calculator.py:103: error: Argument 1 to "reduce" has incompatible type "Callable[[set[Never], set[str]], set[str]]"; expected "Callable[[set[Never], set[str]], set[Never]]" [arg-type] +../api/custom_auth/mfa/trench/serializers.py:19: error: Variable "custom_auth.mfa.trench.serializers.User" is not valid as a type [valid-type] +../api/features/versioning/permissions.py:85: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +../api/environments/models.py:450: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] +../api/features/import_export/serializers.py:22: note: def save(self) -> FeatureExport +../api/features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] +../api/features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] +../api/custom_auth/mfa/trench/command/generate_backup_codes.py:15: error: Incompatible default for argument "allowed_chars" (default has type "object", argument has type "str") [assignment] +../api/features/import_export/views.py:125: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/workflows/core/models.py:407: error: Missing return statement [return] +../api/features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] +../api/environments/models.py:79: error: Need type annotation for "project" [var-annotated] +../api/environments/models.py:93: error: Need type annotation for "api_key" [var-annotated] +../api/app_analytics/tasks.py:204: error: Incompatible return value type (got "QuerySet[FeatureEvaluationBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/organisations/permissions/permissions.py:215: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/environments/models.py:115: error: Need type annotation for "hide_disabled_flags" [var-annotated] +../api/edge_api/identities/export.py:51: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/app_analytics/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +../api/environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +../api/integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +../api/integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] +../api/permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/views.py:313: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +../api/features/multivariate/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/mixpanel/views.py:7: error: Incompatible types in assignment (expression has type "type[MixpanelConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:51: note: Possible overload variants: +../api/integrations/new_relic/views.py:7: error: Incompatible types in assignment (expression has type "type[NewRelicConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:46: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/organisations/permissions/permissions.py:224: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +../api/features/import_export/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/edge_api/identities/models.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +../api/core/management/commands/bootstrap.py:18: error: Signature of "create_parser" incompatible with supertype "BaseCommand" [override] +../api/temp_hubspot.py:3: error: Name "SettingsWrapper" is not defined [name-defined] +../api/features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] +../api/features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/permissions/permissions.py:193: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:175: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] +../api/integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/versioning/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/environments/permissions/migrations/0003_add_manage_identities_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/chargebee/webhook_handlers.py:132: error: Module has no attribute "utc" [attr-defined] +../api/custom_auth/mfa/trench/views/base.py:41: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/integrations/common/wrapper.py:23: error: Unexpected "..." [misc] +../api/organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] +../api/integrations/launch_darkly/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/utils.py:50: error: Signature of "_make_token_with_timestamp" incompatible with supertype "PasswordResetTokenGenerator" [override] +../api/features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] +../api/environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:42: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +../api/permissions/permissions_calculator.py:109: error: "Iterable[str]" has no attribute "union" [attr-defined] +../api/api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:125: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +../api/features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] +../api/environments/models.py:283: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] +../api/users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] +../api/api/migrations/0001_initial.py:34: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] +../api/features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] +../api/app/pagination.py:6: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/serializers.py:68: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +../api/edge_api/identities/export.py:50: note: def __getitem__(self, SupportsIndex, /) -> int +../api/app_analytics/tasks.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] +../api/organisations/permissions/permissions.py:207: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] +../api/features/workflows/core/models.py:224: error: Missing return statement [return] +../api/permissions/migrations/0001_initial.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:51: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/features/import_export/serializers.py:68: note: Superclass: +../api/organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:50: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +../api/integrations/lead_tracking/pipedrive/models.py:46: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/lead_tracker.py:86: error: Unsupported target for indexed assignment ("object") [index] +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +../api/users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] +../api/environments/sdk/serializers.py:192: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/permissions.py:18: note: This violates the Liskov substitution principle +../api/custom_auth/serializers.py:107: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +../api/users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] +../api/environments/models.py:136: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] +../api/sales_dashboard/views.py:321: error: "Never" not callable [misc] +../api/features/import_export/views.py:144: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/urls.py:4: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:97: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +../api/custom_auth/mfa/trench/utils.py:32: note: This violates the Liskov substitution principle +../api/features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] +../api/edge_api/identities/export.py:56: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +../api/edge_api/identities/export.py:65: note: def __getitem__(self, SupportsIndex, /) -> int +../api/features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/heap/views.py:8: error: Incompatible types in assignment (expression has type "type[HeapConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/workflows/core/models.py:403: error: Missing return statement [return] +../api/features/import_export/tasks.py:224: error: Item "bool" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/edge_api/identities/export.py:117: error: Value expression in dictionary comprehension has incompatible type "UUID"; expected type "str" [misc] +../api/features/multivariate/views.py:2: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/serializers.py:222: error: Need type annotation for "events_list" [var-annotated] +../api/integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/models.py:449: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "status" [misc] +../api/core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] +../api/integrations/launch_darkly/views.py:67: error: Argument "user" to "create_import_request" has incompatible type "AbstractBaseUser | AnonymousUser"; expected "FFAdminUser" [arg-type] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +../api/environments/models.py:137: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] +../api/audit/serializers.py:70: error: Incompatible return value type (got "ReturnDict[Any, Any]", expected "list[dict[str, Any]]") [return-value] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +../api/edge_api/identities/export.py:51: note: def __getitem__(self, SupportsIndex, /) -> int +../api/environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +../api/app_analytics/tasks.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/conftest.py:439: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +../api/environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/audit/serializers.py:80: error: Incompatible return value type (got "str | None", expected "str") [return-value] +../api/integrations/common/views.py:94: error: "None" has no attribute "objects" [attr-defined] +../api/edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytearray +../api/features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] +../api/users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] +../api/util/logging.py:45: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/app_analytics/tasks.py:142: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] +../api/app_analytics/tasks.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/tasks.py:189: error: Incompatible return value type (got "QuerySet[APIUsageRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/util/logging.py:42: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] +../api/projects/views.py:7: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/utils.py:50: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +../api/organisations/serializers.py:118: error: Need type annotation for "emails" [var-annotated] +../api/organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] +../api/environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] +../api/environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/conftest.py:723: error: Incompatible return value type (got "int", expected "str") [return-value] +../api/util/logging.py:47: note: Possible overload variants: +../api/features/import_export/permissions.py:40: error: Name "WrappedAPIView" is not defined [name-defined] +../api/app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] +../api/integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/features/versioning/views.py:259: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/environments/models.py:77: error: Need type annotation for "created_date" [var-annotated] +../api/environments/views.py:309: error: Incompatible types in assignment (expression has type "type[Webhook]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +../api/features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/environments/urls.py:2: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] +../api/util/logging.py:37: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/util/logging.py:50: note: def __getitem__(self, SupportsIndex, /) -> object +../api/integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] +../api/projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/environments/models.py:448: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/models.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/serializers.py:22: note: Superclass: +../api/custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/edge_api/identities/utils.py:25: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +../api/features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/models.py:508: error: Need type annotation for "expires_at" [var-annotated] +../api/features/versioning/permissions.py:34: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/app_analytics/management/commands/sendapiusagetoinflux.py:7: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] +../api/features/import_export/serializers.py:58: error: Unsupported operand types for < ("int" and "None") [operator] +../api/features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] +../api/permissions/permissions_calculator.py:158: error: Argument 1 to "get_user_permission_data" has incompatible type "UserEnvironmentPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:45: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:74: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/edge_api/identities/export.py:68: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] +../api/features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:106: error: Return value expected [return-value] +../api/features/import_export/tasks.py:224: error: Item "int" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] +../api/organisations/subscriptions/metadata.py:71: note: return +../api/util/logging.py:49: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/features/import_export/serializers.py:64: note: requires_context +../api/integrations/launch_darkly/serializers.py:14: error: Incompatible types in assignment (expression has type "ListSerializer[Never]", base class "Field" defined the type as "dict[str, str | _StrPromise]") [assignment] +../api/app_analytics/analytics_db_service.py:127: error: Incompatible types in assignment (expression has type "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", variable has type "QuerySet[APIUsageBucket, APIUsageBucket]") [assignment] +../api/environments/models.py:246: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/permissions.py:47: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/environments/sdk/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:18: error: Incompatible types in assignment (expression has type "None", variable has type "Schema") [assignment] +../api/features/models.py:530: error: Unsupported left operand type for < ("None") [operator] +../api/organisations/urls.py:158: error: Cannot find implementation or library stub for module named "licensing.views" [import-not-found] +../api/edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytearray +../api/features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] +../api/integrations/lead_tracking/pipedrive/models.py:101: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +../api/util/logging.py:47: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/import_export/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +../api/core/migration_helpers.py:71: error: "type" has no attribute "permissions" [attr-defined] +../api/environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:49: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/edge_api/identities/permissions.py:30: error: Item "AnonymousUser" of "FFAdminUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/app_analytics/types.py:5: error: Parameter 1 of Literal[...] is invalid [valid-type] +../api/environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "segments_by_ld_key" [call-arg] +../api/segments/views.py:4: error: Skipping analyzing "common.segments.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/webhook/views.py:8: error: Incompatible types in assignment (expression has type "type[WebhookConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/identities/views.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/chargebee/webhook_handlers.py:180: error: Module has no attribute "utc" [attr-defined] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] +../api/features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +../api/custom_auth/mfa/trench/serializers.py:13: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +../api/features/permissions.py:86: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] +../api/util/logging.py:45: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/edge_api/identities/views.py:266: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/audit/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/query.py:3: error: Skipping analyzing "apiclient.discovery": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/subscriptions/metadata.py:34: error: Unsupported left operand type for + ("None") [operator] +../api/users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] +../api/edge_api/identities/views.py:6: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/permissions/permissions.py:220: error: Argument 2 to "has_permission" of "BasePermission" has incompatible type "View"; expected "APIView" [arg-type] +../api/integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +../api/core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +../api/audit/serializers.py:71: error: "Model" has no attribute "get_change_details" [attr-defined] +../api/integrations/lead_tracking/pipedrive/models.py:45: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +../api/integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] +../api/features/import_export/permissions.py:13: error: Name "WrappedAPIView" is not defined [name-defined] +../api/audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/temp_hubspot.py:2: error: Name "Organisation" is not defined [name-defined] +../api/features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/tasks.py:177: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +../api/app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] +../api/organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] +../api/edge_api/identities/export.py:96: error: Argument 2 to "export_mv_featurestate_value" has incompatible type "str"; expected "int" [arg-type] +../api/features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/edge_api/identities/models.py:153: error: Item "None" of "FeatureStateModel | None" has no attribute "featurestate_uuid" [union-attr] +../api/edge_api/identities/tasks.py:30: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/pipedrive/client.py:136: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:90: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/metadata/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/migrations/0001_initial.py:85: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/openapi.py:5: error: Skipping analyzing "drf_yasg.openapi": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:23: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/util/logging.py:47: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/app_analytics/analytics_db_service.py:17: note: (or run "mypy --install-types" to install all missing stub packages) +../api/environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +../api/features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/integrations/github/views.py:143: error: Return type "Response | None" of "create" incompatible with return type "Response" in supertype "CreateModelMixin" [override] +../api/environments/models.py:75: error: Need type annotation for "name" [var-annotated] +../api/integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +../api/edge_api/identities/tasks.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/urls.py:5: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/views.py:125: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/util/logging.py:9: error: Skipping analyzing "gunicorn.instrument.statsd": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/migrations/0003_auto_20200216_2050.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] +../api/core/redis_cluster.py:29: error: Skipping analyzing "django_redis.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/metadata/urls.py:3: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/segments/models.py:182: note: Left operand is of type "int | None" +../api/edge_api/identities/tasks.py:30: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/permissions.py:109: error: "Model" has no attribute "project" [attr-defined] +../api/features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/views.py:91: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +../api/features/import_export/tasks.py:227: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/permissions.py:106: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/integrations/lead_tracking/pipedrive/models.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/admin.py:84: error: Incompatible default for argument "obj" (default has type "None", argument has type "Project") [assignment] +../api/projects/views.py:148: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +../api/permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:89: error: Missing return statement [return] +../api/edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/integrations/lead_tracking/pipedrive/client.py:105: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveLead") [return-value] +../api/custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +../api/features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] +../api/environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] +../api/organisations/permissions/permissions.py:193: note: This violates the Liskov substitution principle +../api/features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/track.py:8: error: Library stubs not installed for "six.moves.urllib.parse" [import-untyped] +../api/environments/models.py:448: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] +../api/core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +../api/features/versioning/views.py:250: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] +../api/environments/models.py:509: error: Need type annotation for "active" [var-annotated] +../api/conftest.py:466: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +../api/integrations/segment/views.py:7: error: Incompatible types in assignment (expression has type "type[SegmentConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +../api/features/import_export/tasks.py:199: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:90: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/conftest.py:114: error: Argument "json_data" to "MockResponse" has incompatible type "dict[str, str]"; expected "str" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:48: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/audit/views.py:107: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +../api/environments/models.py:447: error: Invalid type comment or annotation [valid-type] +../api/conftest.py:1222: error: Need type annotation for "messages" (hint: "messages: list[] = ...") [var-annotated] +../api/features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] +../api/edge_api/identities/export.py:65: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/conftest.py:1224: error: Return type "None" of "handle" incompatible with return type "bool" in supertype "Handler" [override] +../api/environments/serializers.py:102: error: Cannot determine type of "fields" [has-type] +../api/organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("int" and "None") [operator] +../api/features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/services.py:16: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:36: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/organisations/subscription_info_cache.py:131: error: Incompatible types in assignment (expression has type "int | None", variable has type "float | int | str | Combinable") [assignment] +../api/permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:449: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/launch_darkly/services.py:62: error: Argument 1 to "contextmanager" has incompatible type "Callable[[LaunchDarklyImportRequest], None]"; expected "Callable[[LaunchDarklyImportRequest], Iterator[Never]]" [arg-type] +../api/audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] +../api/users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] +../api/integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:90: error: Incompatible default for argument "custom_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +../api/permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] +../api/edge_api/identities/export.py:45: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/slack/slack.py:28: error: Incompatible default for argument "channel_id" (default has type "None", argument has type "str") [assignment] +../api/util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] +../api/integrations/lead_tracking/pipedrive/models.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/views.py:17: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:120: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedrivePerson") [return-value] +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +../api/app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] +../api/util/migrations.py:46: error: Item "UserPermissionGroupOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +../api/features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] +../api/projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] +../api/features/import_export/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/organisations/urls.py:7: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] +../api/edge_api/identities/models.py:229: error: Need type annotation for "changes" (hint: "changes: dict[, ] = ...") [var-annotated] +../api/features/permissions.py:129: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/integrations/lead_tracking/hubspot/services.py:21: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +../api/features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/api/migrations/0001_initial.py:57: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/analytics_db_service.py:80: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +../api/features/models.py:537: error: Unsupported left operand type for > ("None") [operator] +../api/integrations/github/client.py:116: error: Missing return statement [return] +../api/features/views.py:18: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +../api/organisations/subscriptions/metadata.py:71: note: return NotImplemented +../api/users/forms.py:19: error: "type[UserChangeForm[Any]]" has no attribute "Meta" [attr-defined] +../api/util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] +../api/e2etests/e2e_seed_data.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:54: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +../api/edge_api/identities/export.py:49: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/edge_api/identities/edge_request_forwarder.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/serializers.py:87: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/analytics_db_service.py:17: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +../api/edge_api/identities/models.py:207: error: Item "APIKeyUser" of "FFAdminUser | APIKeyUser" has no attribute "id" [union-attr] +../api/features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] +../api/integrations/common/views.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/sdk/serializers.py:192: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/common/views.py:26: error: "Request" has no attribute "environment" [attr-defined] +../api/core/management/commands/bootstrap.py:29: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +../api/util/logging.py:44: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/serializers.py:68: note: Subclass: +../api/environments/models.py:131: error: Need type annotation for "hide_sensitive_data" [var-annotated] +../api/util/logging.py:44: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/versioning/permissions.py:85: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/features/versioning/permissions.py:64: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] +../api/environments/models.py:447: note: Suggestion: use type[...] instead of type(...) +../api/environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +../api/permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +../api/permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +../api/custom_auth/mfa/trench/views/base.py:60: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:72: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +../api/users/views.py:124: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +../api/users/signals.py:31: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +../api/features/views.py:184: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +../api/features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/edge_api/identities/export.py:74: note: Possible overload variants: +../api/custom_auth/jwt_cookie/authentication.py:16: error: Incompatible return value type (got "tuple[AbstractBaseUser, Token]", expected "tuple[FFAdminUser, Token] | None") [return-value] +../api/integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/permissions.py:18: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:73: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:65: error: Argument 5 to "export_edge_feature_state" has incompatible type "Any | str"; expected "bool" [arg-type] +../api/features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +../api/environments/identities/traits/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/edge_api/identities/tasks.py:64: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +../api/integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/views.py:222: error: Incompatible types in assignment (expression has type "type[UserPermissionGroupProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +../api/users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/permissions.py:106: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +../api/features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:78: error: Need type annotation for "description" [var-annotated] +../api/environments/identities/traits/admin.py:3: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/views.py:184: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/util/logging.py:50: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/edge_api/identities/export.py:51: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/features/import_export/tasks.py:229: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] +../api/features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/views.py:324: error: Incompatible types in assignment (expression has type "type[EnvironmentAPIKey]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +../api/environments/permissions/permissions.py:85: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +../api/projects/tags/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:50: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/projects/migrations/0025_add_change_request_project_permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +../api/organisations/permissions/permissions.py:207: note: This violates the Liskov substitution principle +../api/features/import_export/serializers.py:64: note: "function" is missing following "ContextValidator" protocol member: +../api/integrations/lead_tracking/pipedrive/client.py:59: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedrivePerson] [misc] +../api/webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +../api/organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +../api/edge_api/identities/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/grafana/mappers.py:33: error: Cannot determine type of "feature" [has-type] +../api/custom_auth/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/track.py:8: note: Hint: "python3 -m pip install types-six" +../api/integrations/github/views.py:167: error: Return type "Response | None" of "update" incompatible with return type "Response" in supertype "UpdateModelMixin" [override] +../api/permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/mfa/trench/utils.py:29: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/environments/permissions/serializers.py:31: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/custom_auth/mfa/trench/utils.py:68: error: Value of type "object" is not indexable [index] +../api/custom_auth/mfa/trench/utils.py:57: error: User? has no attribute "pk" [attr-defined] +../api/organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] +../api/segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/segments/models.py:370: error: Missing return statement [return] +../api/users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] +../api/edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/edge_api/identities/tasks.py:33: error: Incompatible default for argument "previous_value" (default has type "None", argument has type "bool | int | str") [assignment] +../api/features/import_export/views.py:77: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +../api/util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] +../api/features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/signals.py:8: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] +../api/edge_api/identities/export.py:90: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +../api/features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] +../api/users/views.py:204: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +../api/environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/custom_auth/jwt_cookie/signals.py:5: error: Skipping analyzing "corsheaders.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] +../api/features/import_export/tasks.py:234: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/util/logging.py:38: error: Unsupported left operand type for + ("object") [operator] +../api/features/import_export/permissions.py:29: error: Name "WrappedAPIView" is not defined [name-defined] +../api/features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/pipedrive/models.py:44: error: Incompatible default for argument "owner_id" (default has type "None", argument has type "int") [assignment] +../api/integrations/slack/views.py:64: error: Incompatible types in assignment (expression has type "type[SlackEnvironmentSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: +../api/integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] +../api/integrations/segment/views.py:9: error: Incompatible types in assignment (expression has type "type[SegmentConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +../api/app_analytics/tasks.py:196: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/edge_request_forwarder.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/features/versioning/permissions.py:64: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: User?, timestamp: int, **kwargs: Any) -> str +../api/custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: FFAdminUser, timestamp: int, secret: str | bytes = ...) -> str +../api/integrations/lead_tracking/pipedrive/lead_tracker.py:17: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/tasks.py:159: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/features/versioning/permissions.py:39: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/environments/models.py:66: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/edge_api/identities/serializers.py:192: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/models.py:266: error: Incompatible return value type (got "dict[Any, Any]", expected "IdentityChangeset") [return-value] +../api/integrations/lead_tracking/pipedrive/models.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/common/views.py:33: error: "None" has no attribute "objects" [attr-defined] +../api/edge_api/identities/export.py:78: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/edge_api/identities/models.py:39: error: Incompatible return value type (got "int | None", expected "int") [return-value] +../api/webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +../api/webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] +../api/custom_auth/views.py:84: error: "CodeLoginSerializer" has no attribute "user" [attr-defined] +../api/projects/views.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:50: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/environments/models.py:246: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +../api/features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:29: error: Incompatible default for argument "changed_by" (default has type "None", argument has type "str") [assignment] +../api/features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] +../api/features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/util/logging.py:44: note: Possible overload variants: +../api/features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/permissions/permissions.py:215: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/integrations/common/views.py:65: error: "None" has no attribute "objects" [attr-defined] +../api/integrations/rudderstack/views.py:11: error: Incompatible types in assignment (expression has type "type[RudderstackConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/versioning/permissions.py:18: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/environments/serializers.py:130: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +../api/edge_api/identities/models.py:93: error: Incompatible types in assignment (expression has type "dict[tuple[Any, ...] | str | int, FeatureState]", variable has type "dict[str, FeatureState | FeatureStateModel]") [assignment] +../api/permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/integrations/github/client.py:282: error: Missing return statement [return] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +../api/audit/models.py:29: error: Need type annotation for "project" [var-annotated] +../api/features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] +../api/core/management/commands/bootstrap.py:24: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permissions_calculator.py:165: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] +../api/integrations/launch_darkly/services.py:63: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +../api/features/versioning/permissions.py:39: note: This violates the Liskov substitution principle +../api/integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +../api/util/logging.py:48: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/features/import_export/serializers.py:64: error: List item 0 has incompatible type "Callable[[InMemoryUploadedFile], None]"; expected "Callable[[File[Any]], None] | ContextValidator[File[Any]]" [list-item] +../api/organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +../api/environments/serializers.py:85: error: Incompatible types in assignment (expression has type tuple[str, str, ... <16 more items>], base class "Meta" defined the type as tuple[str, str, ... <15 more items>]) [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:51: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] +../api/features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +../api/integrations/slack/slack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/rudderstack/views.py:9: error: Incompatible types in assignment (expression has type "type[RudderstackConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/environments/permissions/migrations/0004_add_change_request_permissions.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/views.py:16: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/openapi.py:4: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] +../api/features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] +../api/features/import_export/tasks.py:226: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/segments/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/sales_dashboard/views.py:4: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:175: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/serializers.py:125: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/environments/permissions/migrations/0005_add_view_identity_permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/tasks.py:134: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/integrations/lead_tracking/pipedrive/client.py:136: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/permissions/permissions.py:56: error: "Model" has no attribute "organisation" [attr-defined] +../api/features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +../api/edge_api/identities/export.py:61: error: Argument 1 to "export_edge_feature_state" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:448: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:45: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/launch_darkly/client.py:30: error: A function returning TypeVar should receive at least one argument containing the same TypeVar [type-var] +../api/integrations/lead_tracking/pipedrive/models.py:73: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +../api/import_export/export.py:264: error: Invalid type comment or annotation [valid-type] +../api/conftest.py:29: error: Skipping analyzing "xdist": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +../api/organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +../api/features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/tasks.py:229: error: Argument "default_percentage_allocation" to "_create_multivariate_feature_option" has incompatible type "Any | str"; expected "int | float" [arg-type] +../api/features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] +../api/app/pagination.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:74: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/features/versioning/permissions.py:73: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/integrations/grafana/views.py:22: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfigurationSerializer]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] +../api/edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/edge_api/identities/serializers.py:103: error: Return type "MultivariateFeatureOptionModel" of "to_internal_value" incompatible with return type "int" in supertype "Field" [override] +../api/integrations/lead_tracking/pipedrive/client.py:83: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveDealField") [return-value] +../api/features/versioning/views.py:127: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +../api/features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/permissions/permissions.py:207: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/features/import_export/serializers.py:58: note: Left operand is of type "int | None" +../api/features/versioning/permissions.py:51: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +../api/integrations/webhook/views.py:7: error: Incompatible types in assignment (expression has type "type[WebhookConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/versioning/models.py:97: note: Left operand is of type "datetime | None" +../api/organisations/permissions/permissions.py:204: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/features/versioning/views.py:86: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +../api/api/migrations/0001_initial.py:25: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/app_analytics/tasks.py:142: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/permissions/permissions.py:85: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/tasks.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/import_export/export.py:264: note: Suggestion: use type[...] instead of type(...) +../api/features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/permissions.py:78: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/environments/models.py:246: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/permissions.py:29: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/edge_api/identities/utils.py:20: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +../api/custom_auth/views.py:6: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/permissions/permissions.py:85: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] +../api/environments/models.py:142: error: Need type annotation for "is_creating" [var-annotated] +../api/custom_auth/mfa/trench/command/remove_backup_code.py:25: error: Missing return statement [return] +../api/util/logging.py:42: note: def __getitem__(self, SupportsIndex, /) -> object +../api/environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/projects/views.py:148: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] +../api/edge_api/identities/tasks.py:25: error: Function "builtins.id" is not valid as a type [valid-type] +../api/features/versioning/permissions.py:51: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/edge_api/identities/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/oauth/github.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle +../api/permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/views.py:250: note: This violates the Liskov substitution principle +../api/features/import_export/serializers.py:22: note: Subclass: +../api/features/import_export/serializers.py:68: note: def save(self, **kwargs: Any) -> Any +../api/integrations/lead_tracking/pipedrive/models.py:50: error: Incompatible default for argument "visible_to" (default has type "None", argument has type "int") [assignment] +../api/features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +../api/app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "Organisation" [arg-type] +../api/features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] +../api/custom_auth/mfa/trench/responses.py:17: error: Incompatible default for argument "status" (default has type "Literal[400]", argument has type "str") [assignment] +../api/api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] +../api/organisations/views.py:14: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/views.py:52: error: Value of type "object" is not indexable [index] +../api/features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/app_analytics/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +../api/features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] +../api/features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +../api/audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:48: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] +../api/organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +../api/core/management/commands/bootstrap.py:23: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:73: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/management/commands/bootstrap.py:18: note: def create_parser(self, *args: Any, **kwargs: Any) -> ArgumentParser +../api/features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +../api/environments/permissions/permissions.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] +../api/util/logging.py:42: note: Possible overload variants: +../api/webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +../api/features/views.py:8: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/command/remove_backup_code.py:15: error: Argument 1 to "join" of "str" has incompatible type "set[str] | None"; expected "Iterable[str]" [arg-type] +../api/app_analytics/tasks.py:71: error: Incompatible type for "enabled_when_evaluated" of "FeatureEvaluationRaw" (got "int | str | bool", expected "bool | Combinable | None") [misc] +../api/core/management/commands/bootstrap.py:18: note: Subclass: +../api/features/versioning/views.py:259: note: This violates the Liskov substitution principle +../api/core/middleware/axes.py:1: error: Skipping analyzing "axes.middleware": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/migration_helpers.py:16: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/permissions/permissions.py:204: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] +../api/integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] +../api/integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] +../api/permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] +../api/util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] +../api/projects/admin.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/launch_darkly/services.py:787: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +../api/integrations/launch_darkly/services.py:1075: error: Item "Request" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +../api/edge_api/identities/export.py:49: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/util/logging.py:48: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any +../api/custom_auth/jwt_cookie/views.py:1: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:50: note: Possible overload variants: +../api/app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +../api/api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +../api/integrations/github/views.py:143: error: Missing return statement [return] +../api/integrations/datadog/views.py:7: error: Incompatible types in assignment (expression has type "type[DataDogConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/utils.py:32: error: Return type "User? | None" of "check_token" incompatible with return type "bool" in supertype "PasswordResetTokenGenerator" [override] +../api/custom_auth/mfa/trench/utils.py:29: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +../api/core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +../api/organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: +../api/environments/serializers.py:130: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +../api/organisations/chargebee/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:129: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveLeadLabel] [misc] +../api/environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +../api/features/admin.py:6: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] +../api/util/logging.py:46: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +../api/environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] +../api/features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +../api/features/models.py:537: note: Both left and right operands are unions +../api/api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] +../api/environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:47: error: Argument 2 to "export_edge_trait" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] +../api/edge_api/identities/tasks.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/views.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/new_relic/views.py:8: error: Incompatible types in assignment (expression has type "type[NewRelicConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" +../api/audit/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/heap/views.py:7: error: Incompatible types in assignment (expression has type "type[HeapConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/permissions_calculator.py:147: error: Argument 1 to "get_user_permission_data" has incompatible type "UserOrganisationPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:51: error: Incompatible default for argument "was_seen" (default has type "None", argument has type "bool") [assignment] +../api/custom_auth/mfa/trench/serializers.py:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/environments/sdk/serializers.py:192: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[dict[Any, Any]]") [assignment] +../api/integrations/common/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/permissions/permissions.py:169: error: "Model" has no attribute "organisation" [attr-defined] +../api/organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/services.py:1088: error: Need type annotation for "segment_tags_by_ld_tag" (hint: "segment_tags_by_ld_tag: dict[, ] = ...") [var-annotated] +../api/environments/identities/traits/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] +../api/projects/views.py:212: error: Incompatible types in assignment (expression has type "type[UserProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +../api/integrations/amplitude/views.py:7: error: Incompatible types in assignment (expression has type "type[AmplitudeConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytearray +../api/features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] +../api/integrations/datadog/datadog.py:20: error: Incompatible default for argument "session" (default has type "None", argument has type "Session") [assignment] +../api/users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] +../api/core/redis_cluster.py:28: error: Skipping analyzing "django_redis.client.default": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:46: note: def __getitem__(self, SupportsIndex, /) -> object +../api/app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/temp_hubspot.py:20: error: Name "HubspotLead" is not defined [name-defined] +../api/projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytes +../api/integrations/lead_tracking/pipedrive/models.py:72: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/pipedrive/client.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/serializers.py:87: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/environments/models.py:506: error: Need type annotation for "created_at" [var-annotated] +../api/app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] +../api/permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/permissions.py:139: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytes +../api/integrations/datadog/views.py:8: error: Incompatible types in assignment (expression has type "type[DataDogConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/temp_hubspot.py:17: error: Name "OrganisationRole" is not defined [name-defined] +../api/features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +../api/features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] +../api/util/logging.py:49: note: Possible overload variants: +../api/integrations/lead_tracking/pipedrive/lead_tracker.py:82: error: Unsupported target for indexed assignment ("object") [index] +../api/features/versioning/permissions.py:78: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/permissions/migrations/0009_move_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:49: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] +../api/segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/util/logging.py:49: note: def __getitem__(self, SupportsIndex, /) -> object +../api/app_analytics/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permissions_calculator.py:135: error: Argument 1 to "get_user_permission_data" has incompatible type "UserProjectPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:46: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +../api/features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +../api/features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +../api/edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytearray +../api/app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] +../api/permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/serializers.py:4: error: Skipping analyzing "djoser.conf": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/conftest.py:114: error: No return value expected [return-value] +../api/users/models.py:244: error: Missing return statement [return] +../api/util/logging.py:44: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/integrations/lead_tracking/pipedrive/models.py:43: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/models.py:23: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/migrations.py:46: error: Item "UserOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +../api/util/logging.py:45: note: Possible overload variants: +../api/app_analytics/tasks.py:176: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] +../api/features/versioning/permissions.py:64: note: This violates the Liskov substitution principle +../api/sales_dashboard/views.py:303: error: "Never" not callable [misc] +../api/audit/permissions.py:18: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] +../api/projects/admin.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +../api/custom_auth/views.py:89: error: Argument "status" to "ErrorResponse" has incompatible type "Literal[401]"; expected "str" [arg-type] +../api/environments/models.py:99: error: Need type annotation for "webhooks_enabled" [var-annotated] +../api/audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +../api/permissions/migrations/0008_add_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:42: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/models.py:177: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] +../api/core/migration_helpers.py:16: error: Incompatible default for argument "reverse_sql" (default has type "None", argument has type "str | PathLike[Any]") [assignment] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +../api/environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/views.py:156: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] +../api/custom_auth/oauth/github.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:45: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:48: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/migrations/0010_auto_20200219_2343.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:125: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/util/logging.py:36: note: def __getitem__(self, SupportsIndex, /) -> object +../api/users/models.py:142: note: Subclass: +../api/segments/models.py:374: error: Missing return statement [return] +../api/custom_auth/oauth/serializers.py:44: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +../api/environments/models.py:502: error: Need type annotation for "environment" [var-annotated] +../api/environments/models.py:288: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] +../api/integrations/launch_darkly/services.py:615: error: Argument "variation_idx" to "_set_imported_mv_feature_state_values" has incompatible type "int | None"; expected "str | None" [arg-type] +../api/features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +../api/conftest.py:416: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +../api/custom_auth/views.py:72: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +../api/integrations/datadog/datadog.py:20: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +../api/edge_api/identities/tasks.py:32: error: Incompatible default for argument "previous_enabled_state" (default has type "None", argument has type "bool") [assignment] +../api/environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "ld_flag" [call-arg] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "environments_by_ld_environment_key" [call-arg] +../api/permissions/permissions_calculator.py:165: error: Incompatible default for argument "user_permission" (default has type "None", argument has type "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission") [assignment] +../api/util/logging.py:36: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/util/logging.py:46: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/opencensus/querylogger.py:2: error: Skipping analyzing "opencensus.trace": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/utils.py:30: error: Incompatible return value type (got "dict[str, Literal['+', '-', '~']]", expected "FeatureStateChangeDetails") [return-value] +../api/edge_api/identities/tasks.py:33: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +../api/projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +../api/integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/environments/models.py:109: error: Need type annotation for "banner_text" [var-annotated] +../api/integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] +../api/projects/views.py:148: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +../api/custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +../api/custom_auth/mfa/trench/views/base.py:74: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] +../api/environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +../api/integrations/launch_darkly/client.py:56: error: Need type annotation for "response_json" [var-annotated] +../api/features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/users/models.py:142: note: Superclass: +../api/features/views.py:184: note: This violates the Liskov substitution principle +../api/integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] +../api/features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] +../api/environments/models.py:505: error: Need type annotation for "key" [var-annotated] +../api/integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/models.py:450: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/conftest.py:26: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:76: error: Need type annotation for "uuid" [var-annotated] +../api/app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/serializers.py:68: error: "InviteLinkValidationMixin" has no attribute "initial_data" [attr-defined] +../api/features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/util/logging.py:50: note: Possible overload variants: +../api/organisations/chargebee/chargebee.py:143: error: Missing return statement [return] +../api/features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/features/models.py:934: error: Return value expected [return-value] +../api/temp_hubspot.py:9: error: Name "FFAdminUser" is not defined [name-defined] +../api/audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/mixpanel/views.py:8: error: Incompatible types in assignment (expression has type "type[MixpanelConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/permissions/migrations/0010_add_manage_tags_permission.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] +../api/webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] +../api/edge_api/identities/export.py:47: error: Argument 1 to "export_edge_trait" has incompatible type "int | str | Any | Decimal | bytes | bytearray"; expected "dict[Any, Any]" [arg-type] +../api/projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] +../api/app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] +../api/edge_api/identities/views.py:237: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/custom_auth/mfa/trench/command/remove_backup_code.py:16: error: Item "None" of "str | None" has no attribute "split" [union-attr] +../api/features/import_export/views.py:144: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/permissions.py:120: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/core/migration_helpers.py:16: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:99: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/views.py:311: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +../api/users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +../api/custom_auth/mfa/trench/command/generate_backup_codes.py:13: error: Incompatible default for argument "quantity" (default has type "object", argument has type "int") [assignment] +../api/util/logging.py:36: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/environments/models.py:449: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] +../api/features/import_export/permissions.py:62: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/audit/services.py:23: error: "Model" has no attribute "instance" [attr-defined] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +../api/environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] +../api/core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/import_export/permissions.py:24: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/features/versioning/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +../api/features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] +../api/features/import_export/permissions.py:51: note: This violates the Liskov substitution principle +../api/users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] +../api/environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +../api/features/import_export/tasks.py:240: error: Argument "type" to "_save_feature_state_value_with_type" has incompatible type "bool | str | int | None"; expected "str" [arg-type] +../api/features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/permissions.py:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytearray +../api/integrations/launch_darkly/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/serializers.py:303: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +../api/features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/migrations/0001_initial.py:10: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/mfa/trench/utils.py:50: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +../api/audit/serializers.py:84: error: "Model" has no attribute "history_type" [attr-defined] +../api/features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:37: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/edge_api/identities/export.py:65: note: Possible overload variants: +../api/integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] +../api/features/models.py:1114: error: Return value expected [return-value] +../api/app_analytics/track.py:9: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] +../api/util/logging.py:46: note: Possible overload variants: +../api/features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] +../api/features/serializers.py:281: error: Missing return statement [return] +../api/environments/permissions/permissions.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] +../api/environments/permissions/migrations/0002_add_update_feature_state_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permissions_calculator.py:165: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:50: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +../api/organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/migration_helpers.py:73: error: "type" has no attribute "objects" [attr-defined] +../api/features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/models.py:168: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +../api/environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] +../api/environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/sales_dashboard/views.py:315: error: "Never" not callable [misc] +../api/edge_api/identities/models.py:114: error: Incompatible return value type (got "str", expected "tuple[Any, ...]") [return-value] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "feature" [call-arg] +../api/audit/models.py:32: error: Need type annotation for "environment" [var-annotated] +../api/features/versioning/permissions.py:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/launch_darkly/services.py:457: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +../api/features/permissions.py:86: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:36: note: Possible overload variants: +../api/features/import_export/permissions.py:58: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/edge_api/identities/serializers.py:305: error: Argument 1 to "EdgeIdentitySearchData" has incompatible type "**dict[str, str]"; expected "EdgeIdentitySearchType" [arg-type] +../api/features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:45: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/core/management/commands/bootstrap.py:18: note: Superclass: +../api/permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] +../api/environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/grafana/views.py:18: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/services.py:550: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +../api/features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/edge_api/identities/serializers.py:126: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +../api/environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:246: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +../api/users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] +../api/features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] +../api/edge_api/identities/models.py:153: error: Argument 1 to "filter" has incompatible type "Callable[[Any], bool]"; expected "Callable[[Any], TypeGuard[FeatureStateModel | None]]" [arg-type] +../api/users/views.py:204: note: This violates the Liskov substitution principle +../api/app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] +../api/features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/users/emails.py:1: error: Skipping analyzing "djoser": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] +../api/features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +../api/features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/launch_darkly/serializers.py:25: error: Need type annotation for "created_by" [var-annotated] +../api/features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("None" and "int") [operator] +../api/custom_auth/mfa/trench/responses.py:22: error: Argument "status" to "__init__" of "Response" has incompatible type "str"; expected "int | None" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/migration_helpers.py:22: error: Argument "reverse_sql" to "PostgresOnlyRunSQL" has incompatible type "str | PathLike[Any]"; expected "str | list[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None]] | tuple[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None], ...] | tuple[()] | None" [arg-type] +../api/integrations/launch_darkly/services.py:1075: error: Item "None" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +../api/custom_auth/mfa/trench/command/create_secret.py:7: error: Argument "length" has incompatible type "object"; expected "int" [arg-type] +../api/environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "int" [arg-type] +../api/integrations/common/views.py:92: error: "None" has no attribute "objects" [attr-defined] +../api/environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "import_request" [call-arg] +../api/features/import_export/serializers.py:68: note: def save(self, environment_id: int) -> FeatureImport +../api/audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] +../api/edge_api/identities/export.py:49: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] +../api/features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] +../api/conftest.py:1186: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +../api/custom_auth/mfa/trench/utils.py:50: note: Superclass: +../api/integrations/lead_tracking/pipedrive/models.py:125: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/edge_api/identities/tasks.py:30: error: Incompatible default for argument "new_enabled_state" (default has type "None", argument has type "bool") [assignment] +../api/features/views.py:186: error: Cannot determine type of "_page" [has-type] +../api/permissions/permissions_calculator.py:81: error: Invalid type comment or annotation [valid-type] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +../api/integrations/lead_tracking/pipedrive/client.py:137: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/import_export/export.py:266: error: Incompatible types in assignment (expression has type "None", variable has type "list[str]") [assignment] +../api/users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] +../api/environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +../api/features/versioning/views.py:127: note: This violates the Liskov substitution principle +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +../api/features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_id" (default has type "None", argument has type "str") [assignment] +../api/import_export/export.py:282: error: Argument 2 to "serialize" has incompatible type "**dict[str, list[Any]]"; expected "str" [arg-type] +../api/features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] +../api/features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] +../api/app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +../api/features/feature_segments/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:91: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/util/logging.py:42: error: Argument 1 to "strptime" of "datetime" has incompatible type "Any | object"; expected "str" [arg-type] +../api/features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytes +../api/app_analytics/analytics_db_service.py:146: error: Incompatible return value type (got "dict_values[Any, UsageData]", expected "list[UsageData]") [return-value] +../api/util/logging.py:37: note: Possible overload variants: +../api/environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/services.py:5: error: Skipping analyzing "djoser.email": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/tasks.py:25: note: Perhaps you need "Callable[...]" or a callback protocol? +../api/users/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/management/commands/bootstrap.py:27: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:22: error: Incompatible default for argument "schema" (default has type "None", argument has type "Schema") [assignment] +../api/features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +../api/features/versioning/permissions.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:24: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +../api/users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/views.py:106: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +../api/projects/tags/serializers.py:25: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "is_system_tag" [union-attr] +../api/integrations/lead_tracking/pipedrive/client.py:48: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveOrganization] [misc] +../api/integrations/dynatrace/views.py:9: error: Incompatible types in assignment (expression has type "type[DynatraceConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:50: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/util/logging.py:48: note: Possible overload variants: +../api/audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:35: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +../api/environments/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:45: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/audit/views.py:107: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:44: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/permissions/permissions.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] +../api/conftest.py:19: error: Skipping analyzing "moto": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:43: error: Incompatible default for argument "id" (default has type "None", argument has type "str") [assignment] +../api/edge_api/identities/export.py:87: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +../api/app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +../api/features/import_export/permissions.py:47: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/permissions.py:129: note: This violates the Liskov substitution principle +../api/features/models.py:530: note: Both left and right operands are unions +../api/integrations/lead_tracking/pipedrive/client.py:89: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +../api/integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/views.py:12: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +../api/organisations/permissions/permissions.py:193: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/util/logging.py:45: note: def __getitem__(self, SupportsIndex, /) -> object +../api/integrations/lead_tracking/pipedrive/client.py:29: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +../api/environments/models.py:100: error: Need type annotation for "webhook_url" [var-annotated] +../api/features/permissions.py:129: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] +../api/custom_auth/views.py:41: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +../api/integrations/lead_tracking/pipedrive/models.py:50: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/subscriptions/metadata.py:34: note: Both left and right operands are unions +../api/custom_auth/serializers.py:5: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:35: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:72: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +../api/features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/opencensus/querylogger.py:1: error: Skipping analyzing "google.rpc": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:507: error: Need type annotation for "name" [var-annotated] +../api/util/history/custom_simple_history.py:2: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] +../api/integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/tags/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:58: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/organisations/chargebee/webhook_handlers.py:171: error: Module has no attribute "utc" [attr-defined] +../api/features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "data" [misc] +../api/features/import_export/permissions.py:62: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:24: error: Incompatible default for argument "request_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:77: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] +../api/api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] +../api/audit/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/renderers.py:14: error: Cannot override class variable (previously declared on base class "JSONRenderer") with instance variable [misc] +../api/app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] +../api/core/signals.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/permissions.py:78: note: This violates the Liskov substitution principle +../api/users/views.py:207: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[UserPermissionGroup] | None") [return-value] +../api/integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] +../api/integrations/slack/slack.py:28: error: Incompatible default for argument "api_token" (default has type "None", argument has type "str") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/views.py:9: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/permissions.py:11: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/models.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/signals.py:33: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +../api/util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] +../api/integrations/webhook/serializers.py:52: error: Missing return statement [return] +../api/features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/integrations/common/views.py:63: error: "None" has no attribute "objects" [attr-defined] +../api/features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:292: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/conftest.py:691: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +../api/features/versioning/views.py:259: error: Argument 1 of "perform_update" is incompatible with supertype "UpdateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +../api/projects/views.py:8: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/models.py:114: error: Argument "key_function" to "get_environment_flags_dict" has incompatible type "Callable[[FeatureState], str]"; expected "Callable[[FeatureState], tuple[Any, ...]]" [arg-type] +../api/custom_auth/mfa/trench/utils.py:50: note: Subclass: +../api/integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] +../api/edge_api/identities/serializers.py:300: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +../api/app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? +../api/permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] +../api/audit/models.py:39: error: Need type annotation for "log" [var-annotated] +../api/projects/permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] +../api/projects/views.py:168: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +../api/integrations/slack/slack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/client.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/conftest.py:701: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +../api/api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +../api/features/workflows/core/models.py:232: error: Missing return statement [return] +../api/features/models.py:1117: error: Return value expected [return-value] +../api/edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] +../api/environments/models.py:105: error: Need type annotation for "updated_at" [var-annotated] +../api/environments/sdk/serializers.py:152: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] +../api/features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +../api/integrations/lead_tracking/hubspot/services.py:21: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:43: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/views.py:189: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[Feature]") [return-value] +../api/util/logging.py:37: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/client.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/sales_dashboard/views.py:327: error: "Never" not callable [misc] +../api/app_analytics/tasks.py:211: error: Incompatible return value type (got "QuerySet[FeatureEvaluationRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/app_analytics/tasks.py:117: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] +../api/features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] +../api/app_analytics/tasks.py:184: error: Incompatible return value type (got "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/edge_api/identities/serializers.py:286: error: Return type "EdgeIdentitySearchData" of "to_internal_value" incompatible with return type "str" in supertype "Field" [override] +../api/app_analytics/views.py:11: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/redis_cluster.py:84: error: Need type annotation for "_clients" (hint: "_clients: dict[, ] = ...") [var-annotated] +../api/custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_secret" (default has type "None", argument has type "str") [assignment] +../api/custom_auth/mfa/trench/utils.py:14: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +../api/core/redis_cluster.py:125: error: Cannot instantiate abstract class "RedisCluster" with abstract attribute "connection_pool" [abstract] +../api/integrations/lead_tracking/pipedrive/models.py:44: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +../api/environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:48: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/versioning/permissions.py:73: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +../api/integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/edge_api/identities/export.py:68: note: def __getitem__(self, SupportsIndex, /) -> int +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +../api/features/import_export/serializers.py:22: note: def save(self, **kwargs: Any) -> Any +../api/users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] +../api/app_analytics/management/commands/sendapiusagetoinflux.py:6: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] +../api/organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] +../api/util/logging.py:46: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/environments/serializers.py:89: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] +../api/app_analytics/tasks.py:142: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/utils.py:32: error: Argument 2 of "check_token" is incompatible with supertype "PasswordResetTokenGenerator"; supertype defines the argument type as "str | None" [override] +../api/features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] +../api/util/logging.py:38: note: Left operand is of type "Any | object" +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +../api/conftest.py:13: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +../api/environments/sdk/views.py:23: error: "HttpRequest" has no attribute "environment" [attr-defined] +../api/app_analytics/analytics_db_service.py:93: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +../api/features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] +../api/features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] +../api/app_analytics/analytics_db_service.py:17: note: Hint: "python3 -m pip install types-python-dateutil" +../api/e2etests/e2e_seed_data.py:6: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/services.py:992: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +../api/util/logging.py:37: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] +../api/app_analytics/tasks.py:176: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] +../api/core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:91: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/audit/models.py:40: error: Need type annotation for "author" [var-annotated] +../api/app_analytics/tasks.py:176: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/conftest.py:8: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:51: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/util/logging.py:8: error: Skipping analyzing "gunicorn.config": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:41: error: Argument 3 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/app_analytics/tasks.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/models.py:450: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/audit/permissions.py:29: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/serializers.py:22: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +../api/features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +../api/integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] +../api/organisations/permissions/permissions.py:224: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +../api/environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/edge_api/identities/models.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] +../api/permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +../api/edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +../api/features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] +../api/environments/permissions/serializers.py:17: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/app_analytics/tasks.py:32: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/permissions/permissions_calculator.py:103: error: Incompatible return value type (got "set[str]", expected "set[Never]") [return-value] +../api/features/versioning/permissions.py:81: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] +../api/edge_api/identities/export.py:41: error: Argument 1 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/import_export/permissions.py:62: note: This violates the Liskov substitution principle +../api/features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] +../api/environments/models.py:175: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): +../api/environments/models.py:292: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] +../api/permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] +../api/integrations/lead_tracking/pipedrive/client.py:137: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/projects/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/serializers.py:27: error: User? has no attribute "id" [attr-defined] +../api/environments/models.py:123: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] +../api/segments/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] +../api/permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/grafana/views.py:24: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfiguration]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/core/redis_cluster.py:30: error: Skipping analyzing "django_redis.pool": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] +../api/environments/permissions/permissions.py:88: error: "Model" has no attribute "environment" [attr-defined] +../api/edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytes +../api/environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:47: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] +../api/integrations/grafana/grafana.py:26: error: Incompatible return value type (got "GrafanaAnnotation", expected "dict[str, Any]") [return-value] +../api/integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/command/generate_backup_codes.py:14: error: Incompatible default for argument "length" (default has type "object", argument has type "int") [assignment] +../api/features/versioning/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +../api/features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/views.py:10: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] +../api/projects/permissions.py:106: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/urls.py:172: error: Cannot find implementation or library stub for module named "rbac.views" [import-not-found] +../api/core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:924: error: Return value expected [return-value] +../api/core/management/commands/bootstrap.py:18: note: def create_parser(self, prog_name: str, subcommand: str, **kwargs: Any) -> CommandParser +../api/app_analytics/query.py:5: error: Skipping analyzing "google.oauth2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app/routers.py:101: error: Missing return statement [return] +../api/users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/features/versioning/permissions.py:34: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/util/logging.py:44: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/jwt_cookie/authentication.py:15: error: Argument 1 to "get_validated_token" of "JWTAuthentication" has incompatible type "str"; expected "bytes" [arg-type] +../api/features/versioning/views.py:250: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +../api/integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/client.py:136: error: Incompatible default for argument "data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/edge_api/identities/tasks.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/views.py:91: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:49: error: Incompatible default for argument "expected_close_date" (default has type "None", argument has type "date") [assignment] +../api/app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] +../api/edge_api/identities/edge_request_forwarder.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +../api/edge_api/identities/tasks.py:28: error: Incompatible default for argument "changed_by_user_id" (default has type "None", argument has type "int") [assignment] +../api/features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/integrations/grafana/views.py:16: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/features/feature_segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:137: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/edge_request_forwarder.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/slack/views.py:66: error: Incompatible types in assignment (expression has type "type[SlackEnvironment]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +../api/features/import_export/permissions.py:51: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/custom_auth/oauth/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:110: error: Need type annotation for "banner_colour" [var-annotated] +../api/users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:49: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/app_analytics/tasks.py:135: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +../api/integrations/lead_tracking/hubspot/services.py:16: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] +../api/integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +../api/environments/identities/traits/views.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/permissions.py:120: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/users/views.py:204: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:91: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +../api/features/permissions.py:139: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/features/versioning/permissions.py:81: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/custom_auth/mfa/trench/views/base.py:28: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +../api/edge_api/management/commands/migrate_to_edge_v2.py:13: error: Missing return statement [return] +../api/edge_api/identities/edge_request_forwarder.py:56: error: Incompatible types in assignment (expression has type "str", variable has type "dict[Any, Any]") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:99: error: Incompatible default for argument "key" (default has type "None", argument has type "str") [assignment] +../api/features/versioning/views.py:86: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +../api/features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/feature_segments/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +../api/features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] +../api/users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] +../api/integrations/dynatrace/views.py:7: error: Incompatible types in assignment (expression has type "type[DynatraceConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:68: note: Possible overload variants: +../api/edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytes +../api/integrations/amplitude/views.py:9: error: Incompatible types in assignment (expression has type "type[AmplitudeConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] +../api/integrations/lead_tracking/pipedrive/client.py:72: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveOrganizationField") [return-value] +../api/edge_api/identities/views.py:121: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] +../api/api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app/urls.py:46: error: Skipping analyzing "debug_toolbar": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] +../api/segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/permissions/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +../api/e2etests/e2e_seed_data.py:139: error: Incompatible type for "name" of "Project" (got "Sequence[str]", expected "str | int | Combinable") [misc] +../api/features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] +../api/features/versioning/views.py:127: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +../api/features/import_export/tasks.py:224: error: Item "None" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/edge_api/identities/export.py:65: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/environments/models.py:102: error: Need type annotation for "allow_client_traits" [var-annotated] +../api/permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:68: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/integrations/lead_tracking/pipedrive/models.py:47: error: Incompatible default for argument "organization_id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/tasks.py:6: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/management/commands/createinitialorganisation.py:43: error: Item "None" of "FFAdminUser | None" has no attribute "add_organisation" [union-attr] +../api/features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/integrations/common/views.py:35: error: "None" has no attribute "objects" [attr-defined] +../api/permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +../api/util/logging.py:47: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/core/management/commands/bootstrap.py:28: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +../api/organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] +../api/features/versioning/urls.py:3: error: Skipping analyzing "rest_framework_nested.routers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] +../api/integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +../api/features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +../api/edge_api/identities/tasks.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/permissions/permissions.py:89: error: Incompatible default for argument "admin_actions" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:292: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] +../api/core/management/commands/bootstrap.py:22: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +../api/environments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/backends/application.py:27: error: Value of type "object" is not indexable [index] +../api/core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +../api/environments/identities/views.py:12: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:99: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] +../api/features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:48: error: Incompatible default for argument "value" (default has type "None", argument has type "PipedriveValue") [assignment] +../api/audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/edge_request_forwarder.py:73: error: Argument 2 to "forward_trait_request_sync" has incompatible type "str"; expected "dict[Any, Any]" [arg-type] +../api/integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +../api/integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +../api/features/permissions.py:86: note: This violates the Liskov substitution principle +../api/custom_auth/mfa/trench/utils.py:32: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +../api/organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/organisations/permissions/permissions.py:193: error: Missing return statement [return] +../api/integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] From 2e79ae826390b62247de6a5fa6b024da6649985b Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:54:01 +0000 Subject: [PATCH 19/51] Filter out mypy failures for site packages --- api/scripts/mypy_check.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index da0c6a532e00..0752a6522445 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -46,8 +46,8 @@ def main() -> None: with open(baseline_path, "r") as f: baseline = set(line.strip() for line in f if line.strip()) - # Detect new errors and remove information line - current_errors = set(current_output) + # Detect new errors and remove information line filtering out third party packages + current_errors = {line for line in current_output if "site-packages" not in line} new_errors = current_errors - baseline pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" removal = None From 003c067a5db86aef0d4ea09fe01551ec400652c2 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 16:03:09 +0000 Subject: [PATCH 20/51] Add errors to baseline --- api/scripts/mypy_baseline.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 12348018aad0..e602bf3bef36 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -1525,3 +1525,8 @@ ../api/integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True ../api/edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True ../api/features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/pydantic.py:17: note: Possible overload variants: +../api/util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "IncEx | None" [arg-type] +../api/util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] +../api/util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] +../api/util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] From 57f674d6a556c3e29b60c66efb69bf515c306918 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 16:05:09 +0000 Subject: [PATCH 21/51] Update baseline and revert changes to util model type ignores --- api/scripts/mypy_baseline.txt | 713 ++++++++++++++++++++++++++++++++++ api/util/mappers/sdk.py | 2 +- api/util/pydantic.py | 2 +- 3 files changed, 715 insertions(+), 2 deletions(-) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index e602bf3bef36..45bb017ac7b8 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -1530,3 +1530,716 @@ ../api/util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] ../api/util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] ../api/util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] +environments/models.py:115: error: Need type annotation for "hide_disabled_flags" [var-annotated] +features/models.py:537: error: Unsupported left operand type for > ("None") [operator] +environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] +permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] +environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] +organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("int" and "None") [operator] +permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:292: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] +users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:34: note: Both left and right operands are unions +app/settings/common.py:931: error: Module has no attribute "util" [attr-defined] +integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/chargebee/chargebee.py:143: error: Missing return statement [return] +users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any +environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] +environments/models.py:447: note: Suggestion: use type[...] instead of type(...) +users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] +environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +app/settings/common.py:956: error: Module has no attribute "util" [attr-defined] +environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] +api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] +environments/models.py:66: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] +integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] +environments/models.py:136: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] +integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] +app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] +features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] +permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] +app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:85: error: Incompatible types in assignment (expression has type tuple[str, str, ... <16 more items>], base class "Meta" defined the type as tuple[str, str, ... <15 more items>]) [assignment] +integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] +features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] +features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] +users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] +organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: +features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] +audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] +organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] +integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] +features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] +permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] +environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] +integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] +features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/models.py:102: error: Need type annotation for "allow_client_traits" [var-annotated] +environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +features/workflows/core/models.py:403: error: Missing return statement [return] +features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] +permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +segments/models.py:370: error: Missing return statement [return] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +features/workflows/core/models.py:407: error: Missing return statement [return] +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] +core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] +app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] +integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] +features/multivariate/models.py:89: error: Missing return statement [return] +environments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] +audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] +features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] +environments/models.py:283: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] +users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] +features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +organisations/task_helpers.py:6: note: Hint: "python3 -m pip install types-python-dateutil" +integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] +app/settings/common.py:1150: error: Module has no attribute "util" [attr-defined] +environments/models.py:75: error: Need type annotation for "name" [var-annotated] +features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] +features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] +environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] +util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] +core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] +app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] +integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] +features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] +features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] +features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] +features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] +api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] +users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +environments/serializers.py:87: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +segments/models.py:182: note: Left operand is of type "int | None" +environments/models.py:448: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] +audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] +environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] +features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] +webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] +environments/models.py:110: error: Need type annotation for "banner_colour" [var-annotated] +integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] +organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] +features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] +projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] +permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +features/serializers.py:281: error: Missing return statement [return] +core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] +users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +users/models.py:244: error: Missing return statement [return] +features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] +organisations/task_helpers.py:6: note: (or run "mypy --install-types" to install all missing stub packages) +integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] +app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:77: error: Need type annotation for "created_date" [var-annotated] +features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] +app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] +environments/models.py:246: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:71: note: return NotImplemented +permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] +features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] +api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] +environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] +integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +features/workflows/core/models.py:232: error: Missing return statement [return] +features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +environments/models.py:507: error: Need type annotation for "name" [var-annotated] +projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] +features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] +permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] +custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] +permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] +features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] +integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/serializers.py:222: error: Need type annotation for "events_list" [var-annotated] +webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] +organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("None" and "int") [operator] +permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +environments/models.py:449: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/models.py:97: note: Left operand is of type "datetime | None" +core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +environments/models.py:79: error: Need type annotation for "project" [var-annotated] +users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +environments/models.py:137: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] +sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] +app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/webhook/serializers.py:52: error: Missing return statement [return] +api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] +integrations/common/wrapper.py:23: error: Unexpected "..." [misc] +permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] +permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +core/models.py:67: error: Missing return statement [return] +features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] +environments/models.py:246: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:1247: error: Module has no attribute "util" [attr-defined] +environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] +integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] +environments/models.py:449: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] +features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] +audit/models.py:40: error: Need type annotation for "author" [var-annotated] +features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +users/models.py:142: note: Superclass: +organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +environments/models.py:450: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:23: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:123: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] +features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:142: note: Subclass: +integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] +integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:131: error: Need type annotation for "hide_sensitive_data" [var-annotated] +app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? +users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:78: error: Need type annotation for "description" [var-annotated] +features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +environments/serializers.py:102: error: Cannot determine type of "fields" [has-type] +features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] +environments/models.py:449: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] +app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] +features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] +features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +environments/models.py:93: error: Need type annotation for "api_key" [var-annotated] +users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] +features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/subscription_info_cache.py:131: error: Incompatible types in assignment (expression has type "int | None", variable has type "float | int | str | Combinable") [assignment] +organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] +core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] +app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] +organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): +segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] +features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] +api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:537: note: Both left and right operands are unions +features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:87: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] +segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] +integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] +integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] +features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" +integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] +users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] +integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/github/client.py:282: error: Missing return statement [return] +features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] +features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] +app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] +environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +app/settings/common.py:947: error: Module has no attribute "util" [attr-defined] +custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] +integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] +integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] +features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] +features/models.py:934: error: Return value expected [return-value] +environments/models.py:100: error: Need type annotation for "webhook_url" [var-annotated] +environments/models.py:246: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +app/settings/common.py:1297: error: Module has no attribute "util" [attr-defined] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:288: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] +util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] +environments/serializers.py:87: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +environments/models.py:99: error: Need type annotation for "webhooks_enabled" [var-annotated] +segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] +app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] +sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] +api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] +organisations/subscriptions/metadata.py:34: error: Unsupported left operand type for + ("None") [operator] +permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] +permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] +features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] +projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] +integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] +audit/models.py:29: error: Need type annotation for "project" [var-annotated] +environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:448: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] +permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:1117: error: Return value expected [return-value] +util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] +features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] +users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] +users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] +app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:530: error: Unsupported left operand type for < ("None") [operator] +permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +environments/models.py:448: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] +features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] +environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] +audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] +features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +environments/models.py:175: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] +api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] +api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:175: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] +features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:505: error: Need type annotation for "key" [var-annotated] +features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +environments/models.py:292: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] +features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] +features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] +audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] +environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:1114: error: Return value expected [return-value] +users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] +organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:142: error: Need type annotation for "is_creating" [var-annotated] +environments/serializers.py:130: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] +features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] +features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +environments/models.py:175: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +environments/models.py:447: error: Invalid type comment or annotation [valid-type] +environments/models.py:509: error: Need type annotation for "active" [var-annotated] +users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] +integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +audit/models.py:106: error: Return value expected [return-value] +features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] +features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] +integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app/settings/common.py:952: error: Module has no attribute "util" [attr-defined] +features/models.py:530: note: Both left and right operands are unions +projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: +integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] +environments/serializers.py:130: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:506: error: Need type annotation for "created_at" [var-annotated] +core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] +features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] +environments/serializers.py:89: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] +users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] +features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +organisations/subscriptions/metadata.py:71: note: return +api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] +integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] +organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle +permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] +integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] +app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] +environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/models.py:105: error: Need type annotation for "updated_at" [var-annotated] +integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:224: error: Missing return statement [return] +environments/models.py:292: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] +features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] +features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] +features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] +permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +audit/models.py:39: error: Need type annotation for "log" [var-annotated] +features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +environments/models.py:502: error: Need type annotation for "environment" [var-annotated] +permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] +sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] +permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] +features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] +app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] +api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] +segments/models.py:374: error: Missing return statement [return] +integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] +features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] +environments/models.py:76: error: Need type annotation for "uuid" [var-annotated] +util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] +features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] +app/settings/common.py:961: error: Module has no attribute "util" [attr-defined] +features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +organisations/serializers.py:118: error: Need type annotation for "emails" [var-annotated] +audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] +permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] +environments/models.py:450: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] +custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] +environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +app/routers.py:101: error: Missing return statement [return] +webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] +segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +environments/models.py:450: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] +features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +integrations/github/client.py:116: error: Missing return statement [return] +features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] +environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:924: error: Return value expected [return-value] +core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +environments/models.py:246: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +audit/models.py:32: error: Need type annotation for "environment" [var-annotated] +environments/models.py:23: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] +webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] +users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] +features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +environments/models.py:109: error: Need type annotation for "banner_text" [var-annotated] +features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +environments/models.py:508: error: Need type annotation for "expires_at" [var-annotated] +webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] +api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:97: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] +features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] diff --git a/api/util/mappers/sdk.py b/api/util/mappers/sdk.py index 01edf12dfba0..2bc9c4a0ff61 100644 --- a/api/util/mappers/sdk.py +++ b/api/util/mappers/sdk.py @@ -48,5 +48,5 @@ def map_environment_to_sdk_document(environment: "Environment") -> SDKDocument: ] return engine_environment.model_dump( - exclude=SDK_DOCUMENT_EXCLUDE, # type: ignore + exclude=SDK_DOCUMENT_EXCLUDE, ) diff --git a/api/util/pydantic.py b/api/util/pydantic.py index 759992f8fcd3..d526c76ee95b 100644 --- a/api/util/pydantic.py +++ b/api/util/pydantic.py @@ -14,7 +14,7 @@ def exclude_model_fields( for field_name, field in model_cls.model_fields.items() if field_name not in exclude_fields } - return create_model( # type: ignore + return create_model( model_cls.__name__, __config__=model_cls.model_config, **fields, From 57bab417a08f49abe0d6286c6d4f47c963516bbe Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Thu, 5 Dec 2024 20:06:55 +0000 Subject: [PATCH 22/51] Remove command from script output --- api/scripts/mypy_check.py | 1 - 1 file changed, 1 deletion(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index 0752a6522445..c4f16d5e6f38 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -33,7 +33,6 @@ def main() -> None: # Mypy failed in some other way other than listing failing file lines if result.returncode != 1: - print(command) print( f"Error running mypy with return code {result.returncode} and error:", result.stderr, From 8895a11ba4bde7bcc70fe3397de5213c292e17da Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 9 Dec 2024 19:50:22 +0000 Subject: [PATCH 23/51] Add baseline updating to mypy check script --- api/scripts/mypy_check.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index c4f16d5e6f38..f06d76420c6f 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -51,6 +51,13 @@ def main() -> None: pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" removal = None + now_acceptable = baseline - current_errors + if now_acceptable: + print("Baseline errors in scripts/mypy_baseline.txt are now acceptable") + print("Remove these errors and commit baseline changes to the branch") + print(now_acceptable) + sys.exit(1) + for error in new_errors: has_match = re.match(pattern, error) if has_match: From 408e9adce26c859257e34cdcc76cb26dfab4bb51 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 9 Dec 2024 19:59:41 +0000 Subject: [PATCH 24/51] Try setting up mypy check for CI --- .pre-commit-config.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2e566682aa98..85c6d317ef7d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,8 +48,9 @@ repos: hooks: - id: mypy-check name: mypy check + additional_dependencies: ['poetry'] entry: bash -c "cd api && poetry run python scripts/mypy_check.py $(git diff --name-only --cached -- '*.py')" - language: system + language: python types: [python] ci: From c9b44d45621626d63c78def66de89424cba522a3 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 9 Dec 2024 20:04:31 +0000 Subject: [PATCH 25/51] Revert now acceptable check since mypy doesn't generate errors for every module --- api/scripts/mypy_check.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index f06d76420c6f..c4f16d5e6f38 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -51,13 +51,6 @@ def main() -> None: pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" removal = None - now_acceptable = baseline - current_errors - if now_acceptable: - print("Baseline errors in scripts/mypy_baseline.txt are now acceptable") - print("Remove these errors and commit baseline changes to the branch") - print(now_acceptable) - sys.exit(1) - for error in new_errors: has_match = re.match(pattern, error) if has_match: From 20388f8091fcda4f8eff6c4e280ef379c104b348 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:41:05 +0000 Subject: [PATCH 26/51] Add mypy type checking to pre-commit --- .pre-commit-config.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 19bff8a0202a..cbd8af446a47 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,12 @@ repos: + - repo: local + hooks: + - id: mypy-check + name: mypy check + entry: bash -c "cd api && poetry run python scripts/mypy_check.py" + language: system + types: [python] + - repo: https://github.com/PyCQA/isort rev: 5.13.2 hooks: From fb7de2b345331a289921b2e77b1175eadd8baaad Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:42:02 +0000 Subject: [PATCH 27/51] Add mypy to pyproject and update necessary dependencies --- api/poetry.lock | 3210 +++++++++++++++++++++++++------------------- api/pyproject.toml | 6 +- 2 files changed, 1840 insertions(+), 1376 deletions(-) diff --git a/api/poetry.lock b/api/poetry.lock index 85b3b132af1a..7092666e9d86 100644 --- a/api/poetry.lock +++ b/api/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "annotated-types" -version = "0.6.0" +version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" optional = false python-versions = ">=3.8" files = [ - {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, - {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] [[package]] @@ -24,13 +24,13 @@ files = [ [[package]] name = "argcomplete" -version = "3.1.2" +version = "3.5.2" description = "Bash tab completion for argparse" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "argcomplete-3.1.2-py3-none-any.whl", hash = "sha256:d97c036d12a752d1079f190bc1521c545b941fda89ad85d15afa909b4d1b9a99"}, - {file = "argcomplete-3.1.2.tar.gz", hash = "sha256:d5d1e5efd41435260b8f85673b74ea2e883affcbec9f4230c582689e8e78251b"}, + {file = "argcomplete-3.5.2-py3-none-any.whl", hash = "sha256:036d020d79048a5d525bc63880d7a4b8d1668566b8a76daf1144c0bbe0f63472"}, + {file = "argcomplete-3.5.2.tar.gz", hash = "sha256:23146ed7ac4403b70bd6026402468942ceba34a6732255b9edf5b7354f68a6bb"}, ] [package.extras] @@ -67,32 +67,33 @@ wrapt = {version = ">=1.14,<2", markers = "python_version >= \"3.11\""} [[package]] name = "async-timeout" -version = "4.0.3" +version = "5.0.1" description = "Timeout context manager for asyncio programs" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, + {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, + {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, ] [[package]] name = "attrs" -version = "23.1.0" +version = "24.3.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, + {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] -cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] -tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "autopep8" @@ -110,39 +111,40 @@ pycodestyle = ">=2.10.0" [[package]] name = "azure-core" -version = "1.28.0" +version = "1.32.0" description = "Microsoft Azure Core Library for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "azure-core-1.28.0.zip", hash = "sha256:e9eefc66fc1fde56dab6f04d4e5d12c60754d5a9fa49bdcfd8534fc96ed936bd"}, - {file = "azure_core-1.28.0-py3-none-any.whl", hash = "sha256:dec36dfc8eb0b052a853f30c07437effec2f9e3e1fc8f703d9bdaa5cfc0043d9"}, + {file = "azure_core-1.32.0-py3-none-any.whl", hash = "sha256:eac191a0efb23bfa83fddf321b27b122b4ec847befa3091fa736a5c32c50d7b4"}, + {file = "azure_core-1.32.0.tar.gz", hash = "sha256:22b3c35d6b2dae14990f6c1be2912bf23ffe50b220e708a28ab1bb92b1c730e5"}, ] [package.dependencies] -requests = ">=2.18.4" +requests = ">=2.21.0" six = ">=1.11.0" -typing-extensions = ">=4.3.0" +typing-extensions = ">=4.6.0" [package.extras] aio = ["aiohttp (>=3.0)"] [[package]] name = "azure-identity" -version = "1.16.1" +version = "1.19.0" description = "Microsoft Azure Identity Library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "azure-identity-1.16.1.tar.gz", hash = "sha256:6d93f04468f240d59246d8afde3091494a5040d4f141cad0f49fc0c399d0d91e"}, - {file = "azure_identity-1.16.1-py3-none-any.whl", hash = "sha256:8fb07c25642cd4ac422559a8b50d3e77f73dcc2bbfaba419d06d6c9d7cff6726"}, + {file = "azure_identity-1.19.0-py3-none-any.whl", hash = "sha256:e3f6558c181692d7509f09de10cca527c7dce426776454fb97df512a46527e81"}, + {file = "azure_identity-1.19.0.tar.gz", hash = "sha256:500144dc18197d7019b81501165d4fa92225f03778f17d7ca8a2a180129a9c83"}, ] [package.dependencies] -azure-core = ">=1.23.0" +azure-core = ">=1.31.0" cryptography = ">=2.5" -msal = ">=1.24.0" -msal-extensions = ">=0.3.0" +msal = ">=1.30.0" +msal-extensions = ">=1.2.0" +typing-extensions = ">=4.0.0" [[package]] name = "backoff" @@ -201,32 +203,458 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "boto3" -version = "1.28.78" +version = "1.28.85" description = "The AWS SDK for Python" optional = false python-versions = ">= 3.7" files = [ - {file = "boto3-1.28.78-py3-none-any.whl", hash = "sha256:ff8df4bb5aeb69acc64959a74b31042bfc52d64ca77dbe845a72c8062c48d179"}, - {file = "boto3-1.28.78.tar.gz", hash = "sha256:aa970b1571321846543a6e615848352fe7621f1cb96b4454e919421924af95f7"}, + {file = "boto3-1.28.85-py3-none-any.whl", hash = "sha256:1fb7e7ba32a6701990168eb7a08e1fb624ae48130784dfab25904ed47deabb31"}, + {file = "boto3-1.28.85.tar.gz", hash = "sha256:96b4cb2708933cef7dbe1177df37ef0593839942978784147aade0e49511eb2b"}, ] [package.dependencies] -botocore = ">=1.31.78,<1.32.0" +botocore = ">=1.31.85,<1.32.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.7.0,<0.8.0" [package.extras] crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] +[[package]] +name = "boto3-stubs" +version = "1.35.82" +description = "Type annotations for boto3 1.35.82 generated with mypy-boto3-builder 8.6.3" +optional = false +python-versions = ">=3.8" +files = [ + {file = "boto3_stubs-1.35.82-py3-none-any.whl", hash = "sha256:c6fdac66202938bb2fe568d0c5287d9838ef161f4a2efeb584d8bb92c0a83c79"}, + {file = "boto3_stubs-1.35.82.tar.gz", hash = "sha256:2184a11bf011df3a079f7d28164838022601265a4a257d07e966d7c32cdb6ea1"}, +] + +[package.dependencies] +botocore-stubs = "*" +types-s3transfer = "*" +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} + +[package.extras] +accessanalyzer = ["mypy-boto3-accessanalyzer (>=1.35.0,<1.36.0)"] +account = ["mypy-boto3-account (>=1.35.0,<1.36.0)"] +acm = ["mypy-boto3-acm (>=1.35.0,<1.36.0)"] +acm-pca = ["mypy-boto3-acm-pca (>=1.35.0,<1.36.0)"] +all = ["mypy-boto3-accessanalyzer (>=1.35.0,<1.36.0)", "mypy-boto3-account (>=1.35.0,<1.36.0)", "mypy-boto3-acm (>=1.35.0,<1.36.0)", "mypy-boto3-acm-pca (>=1.35.0,<1.36.0)", "mypy-boto3-amp (>=1.35.0,<1.36.0)", "mypy-boto3-amplify (>=1.35.0,<1.36.0)", "mypy-boto3-amplifybackend (>=1.35.0,<1.36.0)", "mypy-boto3-amplifyuibuilder (>=1.35.0,<1.36.0)", "mypy-boto3-apigateway (>=1.35.0,<1.36.0)", "mypy-boto3-apigatewaymanagementapi (>=1.35.0,<1.36.0)", "mypy-boto3-apigatewayv2 (>=1.35.0,<1.36.0)", "mypy-boto3-appconfig (>=1.35.0,<1.36.0)", "mypy-boto3-appconfigdata (>=1.35.0,<1.36.0)", "mypy-boto3-appfabric (>=1.35.0,<1.36.0)", "mypy-boto3-appflow (>=1.35.0,<1.36.0)", "mypy-boto3-appintegrations (>=1.35.0,<1.36.0)", "mypy-boto3-application-autoscaling (>=1.35.0,<1.36.0)", "mypy-boto3-application-insights (>=1.35.0,<1.36.0)", "mypy-boto3-application-signals (>=1.35.0,<1.36.0)", "mypy-boto3-applicationcostprofiler (>=1.35.0,<1.36.0)", "mypy-boto3-appmesh (>=1.35.0,<1.36.0)", "mypy-boto3-apprunner (>=1.35.0,<1.36.0)", "mypy-boto3-appstream (>=1.35.0,<1.36.0)", "mypy-boto3-appsync (>=1.35.0,<1.36.0)", "mypy-boto3-apptest (>=1.35.0,<1.36.0)", "mypy-boto3-arc-zonal-shift (>=1.35.0,<1.36.0)", "mypy-boto3-artifact (>=1.35.0,<1.36.0)", "mypy-boto3-athena (>=1.35.0,<1.36.0)", "mypy-boto3-auditmanager (>=1.35.0,<1.36.0)", "mypy-boto3-autoscaling (>=1.35.0,<1.36.0)", "mypy-boto3-autoscaling-plans (>=1.35.0,<1.36.0)", "mypy-boto3-b2bi (>=1.35.0,<1.36.0)", "mypy-boto3-backup (>=1.35.0,<1.36.0)", "mypy-boto3-backup-gateway (>=1.35.0,<1.36.0)", "mypy-boto3-batch (>=1.35.0,<1.36.0)", "mypy-boto3-bcm-data-exports (>=1.35.0,<1.36.0)", "mypy-boto3-bcm-pricing-calculator (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-agent (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-agent-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-data-automation (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-data-automation-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-bedrock-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-billing (>=1.35.0,<1.36.0)", "mypy-boto3-billingconductor (>=1.35.0,<1.36.0)", "mypy-boto3-braket (>=1.35.0,<1.36.0)", "mypy-boto3-budgets (>=1.35.0,<1.36.0)", "mypy-boto3-ce (>=1.35.0,<1.36.0)", "mypy-boto3-chatbot (>=1.35.0,<1.36.0)", "mypy-boto3-chime (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-identity (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-media-pipelines (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-meetings (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-messaging (>=1.35.0,<1.36.0)", "mypy-boto3-chime-sdk-voice (>=1.35.0,<1.36.0)", "mypy-boto3-cleanrooms (>=1.35.0,<1.36.0)", "mypy-boto3-cleanroomsml (>=1.35.0,<1.36.0)", "mypy-boto3-cloud9 (>=1.35.0,<1.36.0)", "mypy-boto3-cloudcontrol (>=1.35.0,<1.36.0)", "mypy-boto3-clouddirectory (>=1.35.0,<1.36.0)", "mypy-boto3-cloudformation (>=1.35.0,<1.36.0)", "mypy-boto3-cloudfront (>=1.35.0,<1.36.0)", "mypy-boto3-cloudfront-keyvaluestore (>=1.35.0,<1.36.0)", "mypy-boto3-cloudhsm (>=1.35.0,<1.36.0)", "mypy-boto3-cloudhsmv2 (>=1.35.0,<1.36.0)", "mypy-boto3-cloudsearch (>=1.35.0,<1.36.0)", "mypy-boto3-cloudsearchdomain (>=1.35.0,<1.36.0)", "mypy-boto3-cloudtrail (>=1.35.0,<1.36.0)", "mypy-boto3-cloudtrail-data (>=1.35.0,<1.36.0)", "mypy-boto3-cloudwatch (>=1.35.0,<1.36.0)", "mypy-boto3-codeartifact (>=1.35.0,<1.36.0)", "mypy-boto3-codebuild (>=1.35.0,<1.36.0)", "mypy-boto3-codecatalyst (>=1.35.0,<1.36.0)", "mypy-boto3-codecommit (>=1.35.0,<1.36.0)", "mypy-boto3-codeconnections (>=1.35.0,<1.36.0)", "mypy-boto3-codedeploy (>=1.35.0,<1.36.0)", "mypy-boto3-codeguru-reviewer (>=1.35.0,<1.36.0)", "mypy-boto3-codeguru-security (>=1.35.0,<1.36.0)", "mypy-boto3-codeguruprofiler (>=1.35.0,<1.36.0)", "mypy-boto3-codepipeline (>=1.35.0,<1.36.0)", "mypy-boto3-codestar-connections (>=1.35.0,<1.36.0)", "mypy-boto3-codestar-notifications (>=1.35.0,<1.36.0)", "mypy-boto3-cognito-identity (>=1.35.0,<1.36.0)", "mypy-boto3-cognito-idp (>=1.35.0,<1.36.0)", "mypy-boto3-cognito-sync (>=1.35.0,<1.36.0)", "mypy-boto3-comprehend (>=1.35.0,<1.36.0)", "mypy-boto3-comprehendmedical (>=1.35.0,<1.36.0)", "mypy-boto3-compute-optimizer (>=1.35.0,<1.36.0)", "mypy-boto3-config (>=1.35.0,<1.36.0)", "mypy-boto3-connect (>=1.35.0,<1.36.0)", "mypy-boto3-connect-contact-lens (>=1.35.0,<1.36.0)", "mypy-boto3-connectcampaigns (>=1.35.0,<1.36.0)", "mypy-boto3-connectcampaignsv2 (>=1.35.0,<1.36.0)", "mypy-boto3-connectcases (>=1.35.0,<1.36.0)", "mypy-boto3-connectparticipant (>=1.35.0,<1.36.0)", "mypy-boto3-controlcatalog (>=1.35.0,<1.36.0)", "mypy-boto3-controltower (>=1.35.0,<1.36.0)", "mypy-boto3-cost-optimization-hub (>=1.35.0,<1.36.0)", "mypy-boto3-cur (>=1.35.0,<1.36.0)", "mypy-boto3-customer-profiles (>=1.35.0,<1.36.0)", "mypy-boto3-databrew (>=1.35.0,<1.36.0)", "mypy-boto3-dataexchange (>=1.35.0,<1.36.0)", "mypy-boto3-datapipeline (>=1.35.0,<1.36.0)", "mypy-boto3-datasync (>=1.35.0,<1.36.0)", "mypy-boto3-datazone (>=1.35.0,<1.36.0)", "mypy-boto3-dax (>=1.35.0,<1.36.0)", "mypy-boto3-deadline (>=1.35.0,<1.36.0)", "mypy-boto3-detective (>=1.35.0,<1.36.0)", "mypy-boto3-devicefarm (>=1.35.0,<1.36.0)", "mypy-boto3-devops-guru (>=1.35.0,<1.36.0)", "mypy-boto3-directconnect (>=1.35.0,<1.36.0)", "mypy-boto3-discovery (>=1.35.0,<1.36.0)", "mypy-boto3-dlm (>=1.35.0,<1.36.0)", "mypy-boto3-dms (>=1.35.0,<1.36.0)", "mypy-boto3-docdb (>=1.35.0,<1.36.0)", "mypy-boto3-docdb-elastic (>=1.35.0,<1.36.0)", "mypy-boto3-drs (>=1.35.0,<1.36.0)", "mypy-boto3-ds (>=1.35.0,<1.36.0)", "mypy-boto3-ds-data (>=1.35.0,<1.36.0)", "mypy-boto3-dsql (>=1.35.0,<1.36.0)", "mypy-boto3-dynamodb (>=1.35.0,<1.36.0)", "mypy-boto3-dynamodbstreams (>=1.35.0,<1.36.0)", "mypy-boto3-ebs (>=1.35.0,<1.36.0)", "mypy-boto3-ec2 (>=1.35.0,<1.36.0)", "mypy-boto3-ec2-instance-connect (>=1.35.0,<1.36.0)", "mypy-boto3-ecr (>=1.35.0,<1.36.0)", "mypy-boto3-ecr-public (>=1.35.0,<1.36.0)", "mypy-boto3-ecs (>=1.35.0,<1.36.0)", "mypy-boto3-efs (>=1.35.0,<1.36.0)", "mypy-boto3-eks (>=1.35.0,<1.36.0)", "mypy-boto3-eks-auth (>=1.35.0,<1.36.0)", "mypy-boto3-elastic-inference (>=1.35.0,<1.36.0)", "mypy-boto3-elasticache (>=1.35.0,<1.36.0)", "mypy-boto3-elasticbeanstalk (>=1.35.0,<1.36.0)", "mypy-boto3-elastictranscoder (>=1.35.0,<1.36.0)", "mypy-boto3-elb (>=1.35.0,<1.36.0)", "mypy-boto3-elbv2 (>=1.35.0,<1.36.0)", "mypy-boto3-emr (>=1.35.0,<1.36.0)", "mypy-boto3-emr-containers (>=1.35.0,<1.36.0)", "mypy-boto3-emr-serverless (>=1.35.0,<1.36.0)", "mypy-boto3-entityresolution (>=1.35.0,<1.36.0)", "mypy-boto3-es (>=1.35.0,<1.36.0)", "mypy-boto3-events (>=1.35.0,<1.36.0)", "mypy-boto3-evidently (>=1.35.0,<1.36.0)", "mypy-boto3-finspace (>=1.35.0,<1.36.0)", "mypy-boto3-finspace-data (>=1.35.0,<1.36.0)", "mypy-boto3-firehose (>=1.35.0,<1.36.0)", "mypy-boto3-fis (>=1.35.0,<1.36.0)", "mypy-boto3-fms (>=1.35.0,<1.36.0)", "mypy-boto3-forecast (>=1.35.0,<1.36.0)", "mypy-boto3-forecastquery (>=1.35.0,<1.36.0)", "mypy-boto3-frauddetector (>=1.35.0,<1.36.0)", "mypy-boto3-freetier (>=1.35.0,<1.36.0)", "mypy-boto3-fsx (>=1.35.0,<1.36.0)", "mypy-boto3-gamelift (>=1.35.0,<1.36.0)", "mypy-boto3-geo-maps (>=1.35.0,<1.36.0)", "mypy-boto3-geo-places (>=1.35.0,<1.36.0)", "mypy-boto3-geo-routes (>=1.35.0,<1.36.0)", "mypy-boto3-glacier (>=1.35.0,<1.36.0)", "mypy-boto3-globalaccelerator (>=1.35.0,<1.36.0)", "mypy-boto3-glue (>=1.35.0,<1.36.0)", "mypy-boto3-grafana (>=1.35.0,<1.36.0)", "mypy-boto3-greengrass (>=1.35.0,<1.36.0)", "mypy-boto3-greengrassv2 (>=1.35.0,<1.36.0)", "mypy-boto3-groundstation (>=1.35.0,<1.36.0)", "mypy-boto3-guardduty (>=1.35.0,<1.36.0)", "mypy-boto3-health (>=1.35.0,<1.36.0)", "mypy-boto3-healthlake (>=1.35.0,<1.36.0)", "mypy-boto3-iam (>=1.35.0,<1.36.0)", "mypy-boto3-identitystore (>=1.35.0,<1.36.0)", "mypy-boto3-imagebuilder (>=1.35.0,<1.36.0)", "mypy-boto3-importexport (>=1.35.0,<1.36.0)", "mypy-boto3-inspector (>=1.35.0,<1.36.0)", "mypy-boto3-inspector-scan (>=1.35.0,<1.36.0)", "mypy-boto3-inspector2 (>=1.35.0,<1.36.0)", "mypy-boto3-internetmonitor (>=1.35.0,<1.36.0)", "mypy-boto3-invoicing (>=1.35.0,<1.36.0)", "mypy-boto3-iot (>=1.35.0,<1.36.0)", "mypy-boto3-iot-data (>=1.35.0,<1.36.0)", "mypy-boto3-iot-jobs-data (>=1.35.0,<1.36.0)", "mypy-boto3-iot1click-devices (>=1.35.0,<1.36.0)", "mypy-boto3-iot1click-projects (>=1.35.0,<1.36.0)", "mypy-boto3-iotanalytics (>=1.35.0,<1.36.0)", "mypy-boto3-iotdeviceadvisor (>=1.35.0,<1.36.0)", "mypy-boto3-iotevents (>=1.35.0,<1.36.0)", "mypy-boto3-iotevents-data (>=1.35.0,<1.36.0)", "mypy-boto3-iotfleethub (>=1.35.0,<1.36.0)", "mypy-boto3-iotfleetwise (>=1.35.0,<1.36.0)", "mypy-boto3-iotsecuretunneling (>=1.35.0,<1.36.0)", "mypy-boto3-iotsitewise (>=1.35.0,<1.36.0)", "mypy-boto3-iotthingsgraph (>=1.35.0,<1.36.0)", "mypy-boto3-iottwinmaker (>=1.35.0,<1.36.0)", "mypy-boto3-iotwireless (>=1.35.0,<1.36.0)", "mypy-boto3-ivs (>=1.35.0,<1.36.0)", "mypy-boto3-ivs-realtime (>=1.35.0,<1.36.0)", "mypy-boto3-ivschat (>=1.35.0,<1.36.0)", "mypy-boto3-kafka (>=1.35.0,<1.36.0)", "mypy-boto3-kafkaconnect (>=1.35.0,<1.36.0)", "mypy-boto3-kendra (>=1.35.0,<1.36.0)", "mypy-boto3-kendra-ranking (>=1.35.0,<1.36.0)", "mypy-boto3-keyspaces (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-archived-media (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-media (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-signaling (>=1.35.0,<1.36.0)", "mypy-boto3-kinesis-video-webrtc-storage (>=1.35.0,<1.36.0)", "mypy-boto3-kinesisanalytics (>=1.35.0,<1.36.0)", "mypy-boto3-kinesisanalyticsv2 (>=1.35.0,<1.36.0)", "mypy-boto3-kinesisvideo (>=1.35.0,<1.36.0)", "mypy-boto3-kms (>=1.35.0,<1.36.0)", "mypy-boto3-lakeformation (>=1.35.0,<1.36.0)", "mypy-boto3-lambda (>=1.35.0,<1.36.0)", "mypy-boto3-launch-wizard (>=1.35.0,<1.36.0)", "mypy-boto3-lex-models (>=1.35.0,<1.36.0)", "mypy-boto3-lex-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-lexv2-models (>=1.35.0,<1.36.0)", "mypy-boto3-lexv2-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-license-manager (>=1.35.0,<1.36.0)", "mypy-boto3-license-manager-linux-subscriptions (>=1.35.0,<1.36.0)", "mypy-boto3-license-manager-user-subscriptions (>=1.35.0,<1.36.0)", "mypy-boto3-lightsail (>=1.35.0,<1.36.0)", "mypy-boto3-location (>=1.35.0,<1.36.0)", "mypy-boto3-logs (>=1.35.0,<1.36.0)", "mypy-boto3-lookoutequipment (>=1.35.0,<1.36.0)", "mypy-boto3-lookoutmetrics (>=1.35.0,<1.36.0)", "mypy-boto3-lookoutvision (>=1.35.0,<1.36.0)", "mypy-boto3-m2 (>=1.35.0,<1.36.0)", "mypy-boto3-machinelearning (>=1.35.0,<1.36.0)", "mypy-boto3-macie2 (>=1.35.0,<1.36.0)", "mypy-boto3-mailmanager (>=1.35.0,<1.36.0)", "mypy-boto3-managedblockchain (>=1.35.0,<1.36.0)", "mypy-boto3-managedblockchain-query (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-agreement (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-catalog (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-deployment (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-entitlement (>=1.35.0,<1.36.0)", "mypy-boto3-marketplace-reporting (>=1.35.0,<1.36.0)", "mypy-boto3-marketplacecommerceanalytics (>=1.35.0,<1.36.0)", "mypy-boto3-mediaconnect (>=1.35.0,<1.36.0)", "mypy-boto3-mediaconvert (>=1.35.0,<1.36.0)", "mypy-boto3-medialive (>=1.35.0,<1.36.0)", "mypy-boto3-mediapackage (>=1.35.0,<1.36.0)", "mypy-boto3-mediapackage-vod (>=1.35.0,<1.36.0)", "mypy-boto3-mediapackagev2 (>=1.35.0,<1.36.0)", "mypy-boto3-mediastore (>=1.35.0,<1.36.0)", "mypy-boto3-mediastore-data (>=1.35.0,<1.36.0)", "mypy-boto3-mediatailor (>=1.35.0,<1.36.0)", "mypy-boto3-medical-imaging (>=1.35.0,<1.36.0)", "mypy-boto3-memorydb (>=1.35.0,<1.36.0)", "mypy-boto3-meteringmarketplace (>=1.35.0,<1.36.0)", "mypy-boto3-mgh (>=1.35.0,<1.36.0)", "mypy-boto3-mgn (>=1.35.0,<1.36.0)", "mypy-boto3-migration-hub-refactor-spaces (>=1.35.0,<1.36.0)", "mypy-boto3-migrationhub-config (>=1.35.0,<1.36.0)", "mypy-boto3-migrationhuborchestrator (>=1.35.0,<1.36.0)", "mypy-boto3-migrationhubstrategy (>=1.35.0,<1.36.0)", "mypy-boto3-mq (>=1.35.0,<1.36.0)", "mypy-boto3-mturk (>=1.35.0,<1.36.0)", "mypy-boto3-mwaa (>=1.35.0,<1.36.0)", "mypy-boto3-neptune (>=1.35.0,<1.36.0)", "mypy-boto3-neptune-graph (>=1.35.0,<1.36.0)", "mypy-boto3-neptunedata (>=1.35.0,<1.36.0)", "mypy-boto3-network-firewall (>=1.35.0,<1.36.0)", "mypy-boto3-networkflowmonitor (>=1.35.0,<1.36.0)", "mypy-boto3-networkmanager (>=1.35.0,<1.36.0)", "mypy-boto3-networkmonitor (>=1.35.0,<1.36.0)", "mypy-boto3-notifications (>=1.35.0,<1.36.0)", "mypy-boto3-notificationscontacts (>=1.35.0,<1.36.0)", "mypy-boto3-oam (>=1.35.0,<1.36.0)", "mypy-boto3-observabilityadmin (>=1.35.0,<1.36.0)", "mypy-boto3-omics (>=1.35.0,<1.36.0)", "mypy-boto3-opensearch (>=1.35.0,<1.36.0)", "mypy-boto3-opensearchserverless (>=1.35.0,<1.36.0)", "mypy-boto3-opsworks (>=1.35.0,<1.36.0)", "mypy-boto3-opsworkscm (>=1.35.0,<1.36.0)", "mypy-boto3-organizations (>=1.35.0,<1.36.0)", "mypy-boto3-osis (>=1.35.0,<1.36.0)", "mypy-boto3-outposts (>=1.35.0,<1.36.0)", "mypy-boto3-panorama (>=1.35.0,<1.36.0)", "mypy-boto3-partnercentral-selling (>=1.35.0,<1.36.0)", "mypy-boto3-payment-cryptography (>=1.35.0,<1.36.0)", "mypy-boto3-payment-cryptography-data (>=1.35.0,<1.36.0)", "mypy-boto3-pca-connector-ad (>=1.35.0,<1.36.0)", "mypy-boto3-pca-connector-scep (>=1.35.0,<1.36.0)", "mypy-boto3-pcs (>=1.35.0,<1.36.0)", "mypy-boto3-personalize (>=1.35.0,<1.36.0)", "mypy-boto3-personalize-events (>=1.35.0,<1.36.0)", "mypy-boto3-personalize-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-pi (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint-email (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint-sms-voice (>=1.35.0,<1.36.0)", "mypy-boto3-pinpoint-sms-voice-v2 (>=1.35.0,<1.36.0)", "mypy-boto3-pipes (>=1.35.0,<1.36.0)", "mypy-boto3-polly (>=1.35.0,<1.36.0)", "mypy-boto3-pricing (>=1.35.0,<1.36.0)", "mypy-boto3-privatenetworks (>=1.35.0,<1.36.0)", "mypy-boto3-proton (>=1.35.0,<1.36.0)", "mypy-boto3-qapps (>=1.35.0,<1.36.0)", "mypy-boto3-qbusiness (>=1.35.0,<1.36.0)", "mypy-boto3-qconnect (>=1.35.0,<1.36.0)", "mypy-boto3-qldb (>=1.35.0,<1.36.0)", "mypy-boto3-qldb-session (>=1.35.0,<1.36.0)", "mypy-boto3-quicksight (>=1.35.0,<1.36.0)", "mypy-boto3-ram (>=1.35.0,<1.36.0)", "mypy-boto3-rbin (>=1.35.0,<1.36.0)", "mypy-boto3-rds (>=1.35.0,<1.36.0)", "mypy-boto3-rds-data (>=1.35.0,<1.36.0)", "mypy-boto3-redshift (>=1.35.0,<1.36.0)", "mypy-boto3-redshift-data (>=1.35.0,<1.36.0)", "mypy-boto3-redshift-serverless (>=1.35.0,<1.36.0)", "mypy-boto3-rekognition (>=1.35.0,<1.36.0)", "mypy-boto3-repostspace (>=1.35.0,<1.36.0)", "mypy-boto3-resiliencehub (>=1.35.0,<1.36.0)", "mypy-boto3-resource-explorer-2 (>=1.35.0,<1.36.0)", "mypy-boto3-resource-groups (>=1.35.0,<1.36.0)", "mypy-boto3-resourcegroupstaggingapi (>=1.35.0,<1.36.0)", "mypy-boto3-robomaker (>=1.35.0,<1.36.0)", "mypy-boto3-rolesanywhere (>=1.35.0,<1.36.0)", "mypy-boto3-route53 (>=1.35.0,<1.36.0)", "mypy-boto3-route53-recovery-cluster (>=1.35.0,<1.36.0)", "mypy-boto3-route53-recovery-control-config (>=1.35.0,<1.36.0)", "mypy-boto3-route53-recovery-readiness (>=1.35.0,<1.36.0)", "mypy-boto3-route53domains (>=1.35.0,<1.36.0)", "mypy-boto3-route53profiles (>=1.35.0,<1.36.0)", "mypy-boto3-route53resolver (>=1.35.0,<1.36.0)", "mypy-boto3-rum (>=1.35.0,<1.36.0)", "mypy-boto3-s3 (>=1.35.0,<1.36.0)", "mypy-boto3-s3control (>=1.35.0,<1.36.0)", "mypy-boto3-s3outposts (>=1.35.0,<1.36.0)", "mypy-boto3-s3tables (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-a2i-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-edge (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-featurestore-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-geospatial (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-metrics (>=1.35.0,<1.36.0)", "mypy-boto3-sagemaker-runtime (>=1.35.0,<1.36.0)", "mypy-boto3-savingsplans (>=1.35.0,<1.36.0)", "mypy-boto3-scheduler (>=1.35.0,<1.36.0)", "mypy-boto3-schemas (>=1.35.0,<1.36.0)", "mypy-boto3-sdb (>=1.35.0,<1.36.0)", "mypy-boto3-secretsmanager (>=1.35.0,<1.36.0)", "mypy-boto3-security-ir (>=1.35.0,<1.36.0)", "mypy-boto3-securityhub (>=1.35.0,<1.36.0)", "mypy-boto3-securitylake (>=1.35.0,<1.36.0)", "mypy-boto3-serverlessrepo (>=1.35.0,<1.36.0)", "mypy-boto3-service-quotas (>=1.35.0,<1.36.0)", "mypy-boto3-servicecatalog (>=1.35.0,<1.36.0)", "mypy-boto3-servicecatalog-appregistry (>=1.35.0,<1.36.0)", "mypy-boto3-servicediscovery (>=1.35.0,<1.36.0)", "mypy-boto3-ses (>=1.35.0,<1.36.0)", "mypy-boto3-sesv2 (>=1.35.0,<1.36.0)", "mypy-boto3-shield (>=1.35.0,<1.36.0)", "mypy-boto3-signer (>=1.35.0,<1.36.0)", "mypy-boto3-simspaceweaver (>=1.35.0,<1.36.0)", "mypy-boto3-sms (>=1.35.0,<1.36.0)", "mypy-boto3-sms-voice (>=1.35.0,<1.36.0)", "mypy-boto3-snow-device-management (>=1.35.0,<1.36.0)", "mypy-boto3-snowball (>=1.35.0,<1.36.0)", "mypy-boto3-sns (>=1.35.0,<1.36.0)", "mypy-boto3-socialmessaging (>=1.35.0,<1.36.0)", "mypy-boto3-sqs (>=1.35.0,<1.36.0)", "mypy-boto3-ssm (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-contacts (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-incidents (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-quicksetup (>=1.35.0,<1.36.0)", "mypy-boto3-ssm-sap (>=1.35.0,<1.36.0)", "mypy-boto3-sso (>=1.35.0,<1.36.0)", "mypy-boto3-sso-admin (>=1.35.0,<1.36.0)", "mypy-boto3-sso-oidc (>=1.35.0,<1.36.0)", "mypy-boto3-stepfunctions (>=1.35.0,<1.36.0)", "mypy-boto3-storagegateway (>=1.35.0,<1.36.0)", "mypy-boto3-sts (>=1.35.0,<1.36.0)", "mypy-boto3-supplychain (>=1.35.0,<1.36.0)", "mypy-boto3-support (>=1.35.0,<1.36.0)", "mypy-boto3-support-app (>=1.35.0,<1.36.0)", "mypy-boto3-swf (>=1.35.0,<1.36.0)", "mypy-boto3-synthetics (>=1.35.0,<1.36.0)", "mypy-boto3-taxsettings (>=1.35.0,<1.36.0)", "mypy-boto3-textract (>=1.35.0,<1.36.0)", "mypy-boto3-timestream-influxdb (>=1.35.0,<1.36.0)", "mypy-boto3-timestream-query (>=1.35.0,<1.36.0)", "mypy-boto3-timestream-write (>=1.35.0,<1.36.0)", "mypy-boto3-tnb (>=1.35.0,<1.36.0)", "mypy-boto3-transcribe (>=1.35.0,<1.36.0)", "mypy-boto3-transfer (>=1.35.0,<1.36.0)", "mypy-boto3-translate (>=1.35.0,<1.36.0)", "mypy-boto3-trustedadvisor (>=1.35.0,<1.36.0)", "mypy-boto3-verifiedpermissions (>=1.35.0,<1.36.0)", "mypy-boto3-voice-id (>=1.35.0,<1.36.0)", "mypy-boto3-vpc-lattice (>=1.35.0,<1.36.0)", "mypy-boto3-waf (>=1.35.0,<1.36.0)", "mypy-boto3-waf-regional (>=1.35.0,<1.36.0)", "mypy-boto3-wafv2 (>=1.35.0,<1.36.0)", "mypy-boto3-wellarchitected (>=1.35.0,<1.36.0)", "mypy-boto3-wisdom (>=1.35.0,<1.36.0)", "mypy-boto3-workdocs (>=1.35.0,<1.36.0)", "mypy-boto3-workmail (>=1.35.0,<1.36.0)", "mypy-boto3-workmailmessageflow (>=1.35.0,<1.36.0)", "mypy-boto3-workspaces (>=1.35.0,<1.36.0)", "mypy-boto3-workspaces-thin-client (>=1.35.0,<1.36.0)", "mypy-boto3-workspaces-web (>=1.35.0,<1.36.0)", "mypy-boto3-xray (>=1.35.0,<1.36.0)"] +amp = ["mypy-boto3-amp (>=1.35.0,<1.36.0)"] +amplify = ["mypy-boto3-amplify (>=1.35.0,<1.36.0)"] +amplifybackend = ["mypy-boto3-amplifybackend (>=1.35.0,<1.36.0)"] +amplifyuibuilder = ["mypy-boto3-amplifyuibuilder (>=1.35.0,<1.36.0)"] +apigateway = ["mypy-boto3-apigateway (>=1.35.0,<1.36.0)"] +apigatewaymanagementapi = ["mypy-boto3-apigatewaymanagementapi (>=1.35.0,<1.36.0)"] +apigatewayv2 = ["mypy-boto3-apigatewayv2 (>=1.35.0,<1.36.0)"] +appconfig = ["mypy-boto3-appconfig (>=1.35.0,<1.36.0)"] +appconfigdata = ["mypy-boto3-appconfigdata (>=1.35.0,<1.36.0)"] +appfabric = ["mypy-boto3-appfabric (>=1.35.0,<1.36.0)"] +appflow = ["mypy-boto3-appflow (>=1.35.0,<1.36.0)"] +appintegrations = ["mypy-boto3-appintegrations (>=1.35.0,<1.36.0)"] +application-autoscaling = ["mypy-boto3-application-autoscaling (>=1.35.0,<1.36.0)"] +application-insights = ["mypy-boto3-application-insights (>=1.35.0,<1.36.0)"] +application-signals = ["mypy-boto3-application-signals (>=1.35.0,<1.36.0)"] +applicationcostprofiler = ["mypy-boto3-applicationcostprofiler (>=1.35.0,<1.36.0)"] +appmesh = ["mypy-boto3-appmesh (>=1.35.0,<1.36.0)"] +apprunner = ["mypy-boto3-apprunner (>=1.35.0,<1.36.0)"] +appstream = ["mypy-boto3-appstream (>=1.35.0,<1.36.0)"] +appsync = ["mypy-boto3-appsync (>=1.35.0,<1.36.0)"] +apptest = ["mypy-boto3-apptest (>=1.35.0,<1.36.0)"] +arc-zonal-shift = ["mypy-boto3-arc-zonal-shift (>=1.35.0,<1.36.0)"] +artifact = ["mypy-boto3-artifact (>=1.35.0,<1.36.0)"] +athena = ["mypy-boto3-athena (>=1.35.0,<1.36.0)"] +auditmanager = ["mypy-boto3-auditmanager (>=1.35.0,<1.36.0)"] +autoscaling = ["mypy-boto3-autoscaling (>=1.35.0,<1.36.0)"] +autoscaling-plans = ["mypy-boto3-autoscaling-plans (>=1.35.0,<1.36.0)"] +b2bi = ["mypy-boto3-b2bi (>=1.35.0,<1.36.0)"] +backup = ["mypy-boto3-backup (>=1.35.0,<1.36.0)"] +backup-gateway = ["mypy-boto3-backup-gateway (>=1.35.0,<1.36.0)"] +batch = ["mypy-boto3-batch (>=1.35.0,<1.36.0)"] +bcm-data-exports = ["mypy-boto3-bcm-data-exports (>=1.35.0,<1.36.0)"] +bcm-pricing-calculator = ["mypy-boto3-bcm-pricing-calculator (>=1.35.0,<1.36.0)"] +bedrock = ["mypy-boto3-bedrock (>=1.35.0,<1.36.0)"] +bedrock-agent = ["mypy-boto3-bedrock-agent (>=1.35.0,<1.36.0)"] +bedrock-agent-runtime = ["mypy-boto3-bedrock-agent-runtime (>=1.35.0,<1.36.0)"] +bedrock-data-automation = ["mypy-boto3-bedrock-data-automation (>=1.35.0,<1.36.0)"] +bedrock-data-automation-runtime = ["mypy-boto3-bedrock-data-automation-runtime (>=1.35.0,<1.36.0)"] +bedrock-runtime = ["mypy-boto3-bedrock-runtime (>=1.35.0,<1.36.0)"] +billing = ["mypy-boto3-billing (>=1.35.0,<1.36.0)"] +billingconductor = ["mypy-boto3-billingconductor (>=1.35.0,<1.36.0)"] +boto3 = ["boto3 (==1.35.82)"] +braket = ["mypy-boto3-braket (>=1.35.0,<1.36.0)"] +budgets = ["mypy-boto3-budgets (>=1.35.0,<1.36.0)"] +ce = ["mypy-boto3-ce (>=1.35.0,<1.36.0)"] +chatbot = ["mypy-boto3-chatbot (>=1.35.0,<1.36.0)"] +chime = ["mypy-boto3-chime (>=1.35.0,<1.36.0)"] +chime-sdk-identity = ["mypy-boto3-chime-sdk-identity (>=1.35.0,<1.36.0)"] +chime-sdk-media-pipelines = ["mypy-boto3-chime-sdk-media-pipelines (>=1.35.0,<1.36.0)"] +chime-sdk-meetings = ["mypy-boto3-chime-sdk-meetings (>=1.35.0,<1.36.0)"] +chime-sdk-messaging = ["mypy-boto3-chime-sdk-messaging (>=1.35.0,<1.36.0)"] +chime-sdk-voice = ["mypy-boto3-chime-sdk-voice (>=1.35.0,<1.36.0)"] +cleanrooms = ["mypy-boto3-cleanrooms (>=1.35.0,<1.36.0)"] +cleanroomsml = ["mypy-boto3-cleanroomsml (>=1.35.0,<1.36.0)"] +cloud9 = ["mypy-boto3-cloud9 (>=1.35.0,<1.36.0)"] +cloudcontrol = ["mypy-boto3-cloudcontrol (>=1.35.0,<1.36.0)"] +clouddirectory = ["mypy-boto3-clouddirectory (>=1.35.0,<1.36.0)"] +cloudformation = ["mypy-boto3-cloudformation (>=1.35.0,<1.36.0)"] +cloudfront = ["mypy-boto3-cloudfront (>=1.35.0,<1.36.0)"] +cloudfront-keyvaluestore = ["mypy-boto3-cloudfront-keyvaluestore (>=1.35.0,<1.36.0)"] +cloudhsm = ["mypy-boto3-cloudhsm (>=1.35.0,<1.36.0)"] +cloudhsmv2 = ["mypy-boto3-cloudhsmv2 (>=1.35.0,<1.36.0)"] +cloudsearch = ["mypy-boto3-cloudsearch (>=1.35.0,<1.36.0)"] +cloudsearchdomain = ["mypy-boto3-cloudsearchdomain (>=1.35.0,<1.36.0)"] +cloudtrail = ["mypy-boto3-cloudtrail (>=1.35.0,<1.36.0)"] +cloudtrail-data = ["mypy-boto3-cloudtrail-data (>=1.35.0,<1.36.0)"] +cloudwatch = ["mypy-boto3-cloudwatch (>=1.35.0,<1.36.0)"] +codeartifact = ["mypy-boto3-codeartifact (>=1.35.0,<1.36.0)"] +codebuild = ["mypy-boto3-codebuild (>=1.35.0,<1.36.0)"] +codecatalyst = ["mypy-boto3-codecatalyst (>=1.35.0,<1.36.0)"] +codecommit = ["mypy-boto3-codecommit (>=1.35.0,<1.36.0)"] +codeconnections = ["mypy-boto3-codeconnections (>=1.35.0,<1.36.0)"] +codedeploy = ["mypy-boto3-codedeploy (>=1.35.0,<1.36.0)"] +codeguru-reviewer = ["mypy-boto3-codeguru-reviewer (>=1.35.0,<1.36.0)"] +codeguru-security = ["mypy-boto3-codeguru-security (>=1.35.0,<1.36.0)"] +codeguruprofiler = ["mypy-boto3-codeguruprofiler (>=1.35.0,<1.36.0)"] +codepipeline = ["mypy-boto3-codepipeline (>=1.35.0,<1.36.0)"] +codestar-connections = ["mypy-boto3-codestar-connections (>=1.35.0,<1.36.0)"] +codestar-notifications = ["mypy-boto3-codestar-notifications (>=1.35.0,<1.36.0)"] +cognito-identity = ["mypy-boto3-cognito-identity (>=1.35.0,<1.36.0)"] +cognito-idp = ["mypy-boto3-cognito-idp (>=1.35.0,<1.36.0)"] +cognito-sync = ["mypy-boto3-cognito-sync (>=1.35.0,<1.36.0)"] +comprehend = ["mypy-boto3-comprehend (>=1.35.0,<1.36.0)"] +comprehendmedical = ["mypy-boto3-comprehendmedical (>=1.35.0,<1.36.0)"] +compute-optimizer = ["mypy-boto3-compute-optimizer (>=1.35.0,<1.36.0)"] +config = ["mypy-boto3-config (>=1.35.0,<1.36.0)"] +connect = ["mypy-boto3-connect (>=1.35.0,<1.36.0)"] +connect-contact-lens = ["mypy-boto3-connect-contact-lens (>=1.35.0,<1.36.0)"] +connectcampaigns = ["mypy-boto3-connectcampaigns (>=1.35.0,<1.36.0)"] +connectcampaignsv2 = ["mypy-boto3-connectcampaignsv2 (>=1.35.0,<1.36.0)"] +connectcases = ["mypy-boto3-connectcases (>=1.35.0,<1.36.0)"] +connectparticipant = ["mypy-boto3-connectparticipant (>=1.35.0,<1.36.0)"] +controlcatalog = ["mypy-boto3-controlcatalog (>=1.35.0,<1.36.0)"] +controltower = ["mypy-boto3-controltower (>=1.35.0,<1.36.0)"] +cost-optimization-hub = ["mypy-boto3-cost-optimization-hub (>=1.35.0,<1.36.0)"] +cur = ["mypy-boto3-cur (>=1.35.0,<1.36.0)"] +customer-profiles = ["mypy-boto3-customer-profiles (>=1.35.0,<1.36.0)"] +databrew = ["mypy-boto3-databrew (>=1.35.0,<1.36.0)"] +dataexchange = ["mypy-boto3-dataexchange (>=1.35.0,<1.36.0)"] +datapipeline = ["mypy-boto3-datapipeline (>=1.35.0,<1.36.0)"] +datasync = ["mypy-boto3-datasync (>=1.35.0,<1.36.0)"] +datazone = ["mypy-boto3-datazone (>=1.35.0,<1.36.0)"] +dax = ["mypy-boto3-dax (>=1.35.0,<1.36.0)"] +deadline = ["mypy-boto3-deadline (>=1.35.0,<1.36.0)"] +detective = ["mypy-boto3-detective (>=1.35.0,<1.36.0)"] +devicefarm = ["mypy-boto3-devicefarm (>=1.35.0,<1.36.0)"] +devops-guru = ["mypy-boto3-devops-guru (>=1.35.0,<1.36.0)"] +directconnect = ["mypy-boto3-directconnect (>=1.35.0,<1.36.0)"] +discovery = ["mypy-boto3-discovery (>=1.35.0,<1.36.0)"] +dlm = ["mypy-boto3-dlm (>=1.35.0,<1.36.0)"] +dms = ["mypy-boto3-dms (>=1.35.0,<1.36.0)"] +docdb = ["mypy-boto3-docdb (>=1.35.0,<1.36.0)"] +docdb-elastic = ["mypy-boto3-docdb-elastic (>=1.35.0,<1.36.0)"] +drs = ["mypy-boto3-drs (>=1.35.0,<1.36.0)"] +ds = ["mypy-boto3-ds (>=1.35.0,<1.36.0)"] +ds-data = ["mypy-boto3-ds-data (>=1.35.0,<1.36.0)"] +dsql = ["mypy-boto3-dsql (>=1.35.0,<1.36.0)"] +dynamodb = ["mypy-boto3-dynamodb (>=1.35.0,<1.36.0)"] +dynamodbstreams = ["mypy-boto3-dynamodbstreams (>=1.35.0,<1.36.0)"] +ebs = ["mypy-boto3-ebs (>=1.35.0,<1.36.0)"] +ec2 = ["mypy-boto3-ec2 (>=1.35.0,<1.36.0)"] +ec2-instance-connect = ["mypy-boto3-ec2-instance-connect (>=1.35.0,<1.36.0)"] +ecr = ["mypy-boto3-ecr (>=1.35.0,<1.36.0)"] +ecr-public = ["mypy-boto3-ecr-public (>=1.35.0,<1.36.0)"] +ecs = ["mypy-boto3-ecs (>=1.35.0,<1.36.0)"] +efs = ["mypy-boto3-efs (>=1.35.0,<1.36.0)"] +eks = ["mypy-boto3-eks (>=1.35.0,<1.36.0)"] +eks-auth = ["mypy-boto3-eks-auth (>=1.35.0,<1.36.0)"] +elastic-inference = ["mypy-boto3-elastic-inference (>=1.35.0,<1.36.0)"] +elasticache = ["mypy-boto3-elasticache (>=1.35.0,<1.36.0)"] +elasticbeanstalk = ["mypy-boto3-elasticbeanstalk (>=1.35.0,<1.36.0)"] +elastictranscoder = ["mypy-boto3-elastictranscoder (>=1.35.0,<1.36.0)"] +elb = ["mypy-boto3-elb (>=1.35.0,<1.36.0)"] +elbv2 = ["mypy-boto3-elbv2 (>=1.35.0,<1.36.0)"] +emr = ["mypy-boto3-emr (>=1.35.0,<1.36.0)"] +emr-containers = ["mypy-boto3-emr-containers (>=1.35.0,<1.36.0)"] +emr-serverless = ["mypy-boto3-emr-serverless (>=1.35.0,<1.36.0)"] +entityresolution = ["mypy-boto3-entityresolution (>=1.35.0,<1.36.0)"] +es = ["mypy-boto3-es (>=1.35.0,<1.36.0)"] +essential = ["mypy-boto3-cloudformation (>=1.35.0,<1.36.0)", "mypy-boto3-dynamodb (>=1.35.0,<1.36.0)", "mypy-boto3-ec2 (>=1.35.0,<1.36.0)", "mypy-boto3-lambda (>=1.35.0,<1.36.0)", "mypy-boto3-rds (>=1.35.0,<1.36.0)", "mypy-boto3-s3 (>=1.35.0,<1.36.0)", "mypy-boto3-sqs (>=1.35.0,<1.36.0)"] +events = ["mypy-boto3-events (>=1.35.0,<1.36.0)"] +evidently = ["mypy-boto3-evidently (>=1.35.0,<1.36.0)"] +finspace = ["mypy-boto3-finspace (>=1.35.0,<1.36.0)"] +finspace-data = ["mypy-boto3-finspace-data (>=1.35.0,<1.36.0)"] +firehose = ["mypy-boto3-firehose (>=1.35.0,<1.36.0)"] +fis = ["mypy-boto3-fis (>=1.35.0,<1.36.0)"] +fms = ["mypy-boto3-fms (>=1.35.0,<1.36.0)"] +forecast = ["mypy-boto3-forecast (>=1.35.0,<1.36.0)"] +forecastquery = ["mypy-boto3-forecastquery (>=1.35.0,<1.36.0)"] +frauddetector = ["mypy-boto3-frauddetector (>=1.35.0,<1.36.0)"] +freetier = ["mypy-boto3-freetier (>=1.35.0,<1.36.0)"] +fsx = ["mypy-boto3-fsx (>=1.35.0,<1.36.0)"] +full = ["boto3-stubs-full (>=1.35.0,<1.36.0)"] +gamelift = ["mypy-boto3-gamelift (>=1.35.0,<1.36.0)"] +geo-maps = ["mypy-boto3-geo-maps (>=1.35.0,<1.36.0)"] +geo-places = ["mypy-boto3-geo-places (>=1.35.0,<1.36.0)"] +geo-routes = ["mypy-boto3-geo-routes (>=1.35.0,<1.36.0)"] +glacier = ["mypy-boto3-glacier (>=1.35.0,<1.36.0)"] +globalaccelerator = ["mypy-boto3-globalaccelerator (>=1.35.0,<1.36.0)"] +glue = ["mypy-boto3-glue (>=1.35.0,<1.36.0)"] +grafana = ["mypy-boto3-grafana (>=1.35.0,<1.36.0)"] +greengrass = ["mypy-boto3-greengrass (>=1.35.0,<1.36.0)"] +greengrassv2 = ["mypy-boto3-greengrassv2 (>=1.35.0,<1.36.0)"] +groundstation = ["mypy-boto3-groundstation (>=1.35.0,<1.36.0)"] +guardduty = ["mypy-boto3-guardduty (>=1.35.0,<1.36.0)"] +health = ["mypy-boto3-health (>=1.35.0,<1.36.0)"] +healthlake = ["mypy-boto3-healthlake (>=1.35.0,<1.36.0)"] +iam = ["mypy-boto3-iam (>=1.35.0,<1.36.0)"] +identitystore = ["mypy-boto3-identitystore (>=1.35.0,<1.36.0)"] +imagebuilder = ["mypy-boto3-imagebuilder (>=1.35.0,<1.36.0)"] +importexport = ["mypy-boto3-importexport (>=1.35.0,<1.36.0)"] +inspector = ["mypy-boto3-inspector (>=1.35.0,<1.36.0)"] +inspector-scan = ["mypy-boto3-inspector-scan (>=1.35.0,<1.36.0)"] +inspector2 = ["mypy-boto3-inspector2 (>=1.35.0,<1.36.0)"] +internetmonitor = ["mypy-boto3-internetmonitor (>=1.35.0,<1.36.0)"] +invoicing = ["mypy-boto3-invoicing (>=1.35.0,<1.36.0)"] +iot = ["mypy-boto3-iot (>=1.35.0,<1.36.0)"] +iot-data = ["mypy-boto3-iot-data (>=1.35.0,<1.36.0)"] +iot-jobs-data = ["mypy-boto3-iot-jobs-data (>=1.35.0,<1.36.0)"] +iot1click-devices = ["mypy-boto3-iot1click-devices (>=1.35.0,<1.36.0)"] +iot1click-projects = ["mypy-boto3-iot1click-projects (>=1.35.0,<1.36.0)"] +iotanalytics = ["mypy-boto3-iotanalytics (>=1.35.0,<1.36.0)"] +iotdeviceadvisor = ["mypy-boto3-iotdeviceadvisor (>=1.35.0,<1.36.0)"] +iotevents = ["mypy-boto3-iotevents (>=1.35.0,<1.36.0)"] +iotevents-data = ["mypy-boto3-iotevents-data (>=1.35.0,<1.36.0)"] +iotfleethub = ["mypy-boto3-iotfleethub (>=1.35.0,<1.36.0)"] +iotfleetwise = ["mypy-boto3-iotfleetwise (>=1.35.0,<1.36.0)"] +iotsecuretunneling = ["mypy-boto3-iotsecuretunneling (>=1.35.0,<1.36.0)"] +iotsitewise = ["mypy-boto3-iotsitewise (>=1.35.0,<1.36.0)"] +iotthingsgraph = ["mypy-boto3-iotthingsgraph (>=1.35.0,<1.36.0)"] +iottwinmaker = ["mypy-boto3-iottwinmaker (>=1.35.0,<1.36.0)"] +iotwireless = ["mypy-boto3-iotwireless (>=1.35.0,<1.36.0)"] +ivs = ["mypy-boto3-ivs (>=1.35.0,<1.36.0)"] +ivs-realtime = ["mypy-boto3-ivs-realtime (>=1.35.0,<1.36.0)"] +ivschat = ["mypy-boto3-ivschat (>=1.35.0,<1.36.0)"] +kafka = ["mypy-boto3-kafka (>=1.35.0,<1.36.0)"] +kafkaconnect = ["mypy-boto3-kafkaconnect (>=1.35.0,<1.36.0)"] +kendra = ["mypy-boto3-kendra (>=1.35.0,<1.36.0)"] +kendra-ranking = ["mypy-boto3-kendra-ranking (>=1.35.0,<1.36.0)"] +keyspaces = ["mypy-boto3-keyspaces (>=1.35.0,<1.36.0)"] +kinesis = ["mypy-boto3-kinesis (>=1.35.0,<1.36.0)"] +kinesis-video-archived-media = ["mypy-boto3-kinesis-video-archived-media (>=1.35.0,<1.36.0)"] +kinesis-video-media = ["mypy-boto3-kinesis-video-media (>=1.35.0,<1.36.0)"] +kinesis-video-signaling = ["mypy-boto3-kinesis-video-signaling (>=1.35.0,<1.36.0)"] +kinesis-video-webrtc-storage = ["mypy-boto3-kinesis-video-webrtc-storage (>=1.35.0,<1.36.0)"] +kinesisanalytics = ["mypy-boto3-kinesisanalytics (>=1.35.0,<1.36.0)"] +kinesisanalyticsv2 = ["mypy-boto3-kinesisanalyticsv2 (>=1.35.0,<1.36.0)"] +kinesisvideo = ["mypy-boto3-kinesisvideo (>=1.35.0,<1.36.0)"] +kms = ["mypy-boto3-kms (>=1.35.0,<1.36.0)"] +lakeformation = ["mypy-boto3-lakeformation (>=1.35.0,<1.36.0)"] +lambda = ["mypy-boto3-lambda (>=1.35.0,<1.36.0)"] +launch-wizard = ["mypy-boto3-launch-wizard (>=1.35.0,<1.36.0)"] +lex-models = ["mypy-boto3-lex-models (>=1.35.0,<1.36.0)"] +lex-runtime = ["mypy-boto3-lex-runtime (>=1.35.0,<1.36.0)"] +lexv2-models = ["mypy-boto3-lexv2-models (>=1.35.0,<1.36.0)"] +lexv2-runtime = ["mypy-boto3-lexv2-runtime (>=1.35.0,<1.36.0)"] +license-manager = ["mypy-boto3-license-manager (>=1.35.0,<1.36.0)"] +license-manager-linux-subscriptions = ["mypy-boto3-license-manager-linux-subscriptions (>=1.35.0,<1.36.0)"] +license-manager-user-subscriptions = ["mypy-boto3-license-manager-user-subscriptions (>=1.35.0,<1.36.0)"] +lightsail = ["mypy-boto3-lightsail (>=1.35.0,<1.36.0)"] +location = ["mypy-boto3-location (>=1.35.0,<1.36.0)"] +logs = ["mypy-boto3-logs (>=1.35.0,<1.36.0)"] +lookoutequipment = ["mypy-boto3-lookoutequipment (>=1.35.0,<1.36.0)"] +lookoutmetrics = ["mypy-boto3-lookoutmetrics (>=1.35.0,<1.36.0)"] +lookoutvision = ["mypy-boto3-lookoutvision (>=1.35.0,<1.36.0)"] +m2 = ["mypy-boto3-m2 (>=1.35.0,<1.36.0)"] +machinelearning = ["mypy-boto3-machinelearning (>=1.35.0,<1.36.0)"] +macie2 = ["mypy-boto3-macie2 (>=1.35.0,<1.36.0)"] +mailmanager = ["mypy-boto3-mailmanager (>=1.35.0,<1.36.0)"] +managedblockchain = ["mypy-boto3-managedblockchain (>=1.35.0,<1.36.0)"] +managedblockchain-query = ["mypy-boto3-managedblockchain-query (>=1.35.0,<1.36.0)"] +marketplace-agreement = ["mypy-boto3-marketplace-agreement (>=1.35.0,<1.36.0)"] +marketplace-catalog = ["mypy-boto3-marketplace-catalog (>=1.35.0,<1.36.0)"] +marketplace-deployment = ["mypy-boto3-marketplace-deployment (>=1.35.0,<1.36.0)"] +marketplace-entitlement = ["mypy-boto3-marketplace-entitlement (>=1.35.0,<1.36.0)"] +marketplace-reporting = ["mypy-boto3-marketplace-reporting (>=1.35.0,<1.36.0)"] +marketplacecommerceanalytics = ["mypy-boto3-marketplacecommerceanalytics (>=1.35.0,<1.36.0)"] +mediaconnect = ["mypy-boto3-mediaconnect (>=1.35.0,<1.36.0)"] +mediaconvert = ["mypy-boto3-mediaconvert (>=1.35.0,<1.36.0)"] +medialive = ["mypy-boto3-medialive (>=1.35.0,<1.36.0)"] +mediapackage = ["mypy-boto3-mediapackage (>=1.35.0,<1.36.0)"] +mediapackage-vod = ["mypy-boto3-mediapackage-vod (>=1.35.0,<1.36.0)"] +mediapackagev2 = ["mypy-boto3-mediapackagev2 (>=1.35.0,<1.36.0)"] +mediastore = ["mypy-boto3-mediastore (>=1.35.0,<1.36.0)"] +mediastore-data = ["mypy-boto3-mediastore-data (>=1.35.0,<1.36.0)"] +mediatailor = ["mypy-boto3-mediatailor (>=1.35.0,<1.36.0)"] +medical-imaging = ["mypy-boto3-medical-imaging (>=1.35.0,<1.36.0)"] +memorydb = ["mypy-boto3-memorydb (>=1.35.0,<1.36.0)"] +meteringmarketplace = ["mypy-boto3-meteringmarketplace (>=1.35.0,<1.36.0)"] +mgh = ["mypy-boto3-mgh (>=1.35.0,<1.36.0)"] +mgn = ["mypy-boto3-mgn (>=1.35.0,<1.36.0)"] +migration-hub-refactor-spaces = ["mypy-boto3-migration-hub-refactor-spaces (>=1.35.0,<1.36.0)"] +migrationhub-config = ["mypy-boto3-migrationhub-config (>=1.35.0,<1.36.0)"] +migrationhuborchestrator = ["mypy-boto3-migrationhuborchestrator (>=1.35.0,<1.36.0)"] +migrationhubstrategy = ["mypy-boto3-migrationhubstrategy (>=1.35.0,<1.36.0)"] +mq = ["mypy-boto3-mq (>=1.35.0,<1.36.0)"] +mturk = ["mypy-boto3-mturk (>=1.35.0,<1.36.0)"] +mwaa = ["mypy-boto3-mwaa (>=1.35.0,<1.36.0)"] +neptune = ["mypy-boto3-neptune (>=1.35.0,<1.36.0)"] +neptune-graph = ["mypy-boto3-neptune-graph (>=1.35.0,<1.36.0)"] +neptunedata = ["mypy-boto3-neptunedata (>=1.35.0,<1.36.0)"] +network-firewall = ["mypy-boto3-network-firewall (>=1.35.0,<1.36.0)"] +networkflowmonitor = ["mypy-boto3-networkflowmonitor (>=1.35.0,<1.36.0)"] +networkmanager = ["mypy-boto3-networkmanager (>=1.35.0,<1.36.0)"] +networkmonitor = ["mypy-boto3-networkmonitor (>=1.35.0,<1.36.0)"] +notifications = ["mypy-boto3-notifications (>=1.35.0,<1.36.0)"] +notificationscontacts = ["mypy-boto3-notificationscontacts (>=1.35.0,<1.36.0)"] +oam = ["mypy-boto3-oam (>=1.35.0,<1.36.0)"] +observabilityadmin = ["mypy-boto3-observabilityadmin (>=1.35.0,<1.36.0)"] +omics = ["mypy-boto3-omics (>=1.35.0,<1.36.0)"] +opensearch = ["mypy-boto3-opensearch (>=1.35.0,<1.36.0)"] +opensearchserverless = ["mypy-boto3-opensearchserverless (>=1.35.0,<1.36.0)"] +opsworks = ["mypy-boto3-opsworks (>=1.35.0,<1.36.0)"] +opsworkscm = ["mypy-boto3-opsworkscm (>=1.35.0,<1.36.0)"] +organizations = ["mypy-boto3-organizations (>=1.35.0,<1.36.0)"] +osis = ["mypy-boto3-osis (>=1.35.0,<1.36.0)"] +outposts = ["mypy-boto3-outposts (>=1.35.0,<1.36.0)"] +panorama = ["mypy-boto3-panorama (>=1.35.0,<1.36.0)"] +partnercentral-selling = ["mypy-boto3-partnercentral-selling (>=1.35.0,<1.36.0)"] +payment-cryptography = ["mypy-boto3-payment-cryptography (>=1.35.0,<1.36.0)"] +payment-cryptography-data = ["mypy-boto3-payment-cryptography-data (>=1.35.0,<1.36.0)"] +pca-connector-ad = ["mypy-boto3-pca-connector-ad (>=1.35.0,<1.36.0)"] +pca-connector-scep = ["mypy-boto3-pca-connector-scep (>=1.35.0,<1.36.0)"] +pcs = ["mypy-boto3-pcs (>=1.35.0,<1.36.0)"] +personalize = ["mypy-boto3-personalize (>=1.35.0,<1.36.0)"] +personalize-events = ["mypy-boto3-personalize-events (>=1.35.0,<1.36.0)"] +personalize-runtime = ["mypy-boto3-personalize-runtime (>=1.35.0,<1.36.0)"] +pi = ["mypy-boto3-pi (>=1.35.0,<1.36.0)"] +pinpoint = ["mypy-boto3-pinpoint (>=1.35.0,<1.36.0)"] +pinpoint-email = ["mypy-boto3-pinpoint-email (>=1.35.0,<1.36.0)"] +pinpoint-sms-voice = ["mypy-boto3-pinpoint-sms-voice (>=1.35.0,<1.36.0)"] +pinpoint-sms-voice-v2 = ["mypy-boto3-pinpoint-sms-voice-v2 (>=1.35.0,<1.36.0)"] +pipes = ["mypy-boto3-pipes (>=1.35.0,<1.36.0)"] +polly = ["mypy-boto3-polly (>=1.35.0,<1.36.0)"] +pricing = ["mypy-boto3-pricing (>=1.35.0,<1.36.0)"] +privatenetworks = ["mypy-boto3-privatenetworks (>=1.35.0,<1.36.0)"] +proton = ["mypy-boto3-proton (>=1.35.0,<1.36.0)"] +qapps = ["mypy-boto3-qapps (>=1.35.0,<1.36.0)"] +qbusiness = ["mypy-boto3-qbusiness (>=1.35.0,<1.36.0)"] +qconnect = ["mypy-boto3-qconnect (>=1.35.0,<1.36.0)"] +qldb = ["mypy-boto3-qldb (>=1.35.0,<1.36.0)"] +qldb-session = ["mypy-boto3-qldb-session (>=1.35.0,<1.36.0)"] +quicksight = ["mypy-boto3-quicksight (>=1.35.0,<1.36.0)"] +ram = ["mypy-boto3-ram (>=1.35.0,<1.36.0)"] +rbin = ["mypy-boto3-rbin (>=1.35.0,<1.36.0)"] +rds = ["mypy-boto3-rds (>=1.35.0,<1.36.0)"] +rds-data = ["mypy-boto3-rds-data (>=1.35.0,<1.36.0)"] +redshift = ["mypy-boto3-redshift (>=1.35.0,<1.36.0)"] +redshift-data = ["mypy-boto3-redshift-data (>=1.35.0,<1.36.0)"] +redshift-serverless = ["mypy-boto3-redshift-serverless (>=1.35.0,<1.36.0)"] +rekognition = ["mypy-boto3-rekognition (>=1.35.0,<1.36.0)"] +repostspace = ["mypy-boto3-repostspace (>=1.35.0,<1.36.0)"] +resiliencehub = ["mypy-boto3-resiliencehub (>=1.35.0,<1.36.0)"] +resource-explorer-2 = ["mypy-boto3-resource-explorer-2 (>=1.35.0,<1.36.0)"] +resource-groups = ["mypy-boto3-resource-groups (>=1.35.0,<1.36.0)"] +resourcegroupstaggingapi = ["mypy-boto3-resourcegroupstaggingapi (>=1.35.0,<1.36.0)"] +robomaker = ["mypy-boto3-robomaker (>=1.35.0,<1.36.0)"] +rolesanywhere = ["mypy-boto3-rolesanywhere (>=1.35.0,<1.36.0)"] +route53 = ["mypy-boto3-route53 (>=1.35.0,<1.36.0)"] +route53-recovery-cluster = ["mypy-boto3-route53-recovery-cluster (>=1.35.0,<1.36.0)"] +route53-recovery-control-config = ["mypy-boto3-route53-recovery-control-config (>=1.35.0,<1.36.0)"] +route53-recovery-readiness = ["mypy-boto3-route53-recovery-readiness (>=1.35.0,<1.36.0)"] +route53domains = ["mypy-boto3-route53domains (>=1.35.0,<1.36.0)"] +route53profiles = ["mypy-boto3-route53profiles (>=1.35.0,<1.36.0)"] +route53resolver = ["mypy-boto3-route53resolver (>=1.35.0,<1.36.0)"] +rum = ["mypy-boto3-rum (>=1.35.0,<1.36.0)"] +s3 = ["mypy-boto3-s3 (>=1.35.0,<1.36.0)"] +s3control = ["mypy-boto3-s3control (>=1.35.0,<1.36.0)"] +s3outposts = ["mypy-boto3-s3outposts (>=1.35.0,<1.36.0)"] +s3tables = ["mypy-boto3-s3tables (>=1.35.0,<1.36.0)"] +sagemaker = ["mypy-boto3-sagemaker (>=1.35.0,<1.36.0)"] +sagemaker-a2i-runtime = ["mypy-boto3-sagemaker-a2i-runtime (>=1.35.0,<1.36.0)"] +sagemaker-edge = ["mypy-boto3-sagemaker-edge (>=1.35.0,<1.36.0)"] +sagemaker-featurestore-runtime = ["mypy-boto3-sagemaker-featurestore-runtime (>=1.35.0,<1.36.0)"] +sagemaker-geospatial = ["mypy-boto3-sagemaker-geospatial (>=1.35.0,<1.36.0)"] +sagemaker-metrics = ["mypy-boto3-sagemaker-metrics (>=1.35.0,<1.36.0)"] +sagemaker-runtime = ["mypy-boto3-sagemaker-runtime (>=1.35.0,<1.36.0)"] +savingsplans = ["mypy-boto3-savingsplans (>=1.35.0,<1.36.0)"] +scheduler = ["mypy-boto3-scheduler (>=1.35.0,<1.36.0)"] +schemas = ["mypy-boto3-schemas (>=1.35.0,<1.36.0)"] +sdb = ["mypy-boto3-sdb (>=1.35.0,<1.36.0)"] +secretsmanager = ["mypy-boto3-secretsmanager (>=1.35.0,<1.36.0)"] +security-ir = ["mypy-boto3-security-ir (>=1.35.0,<1.36.0)"] +securityhub = ["mypy-boto3-securityhub (>=1.35.0,<1.36.0)"] +securitylake = ["mypy-boto3-securitylake (>=1.35.0,<1.36.0)"] +serverlessrepo = ["mypy-boto3-serverlessrepo (>=1.35.0,<1.36.0)"] +service-quotas = ["mypy-boto3-service-quotas (>=1.35.0,<1.36.0)"] +servicecatalog = ["mypy-boto3-servicecatalog (>=1.35.0,<1.36.0)"] +servicecatalog-appregistry = ["mypy-boto3-servicecatalog-appregistry (>=1.35.0,<1.36.0)"] +servicediscovery = ["mypy-boto3-servicediscovery (>=1.35.0,<1.36.0)"] +ses = ["mypy-boto3-ses (>=1.35.0,<1.36.0)"] +sesv2 = ["mypy-boto3-sesv2 (>=1.35.0,<1.36.0)"] +shield = ["mypy-boto3-shield (>=1.35.0,<1.36.0)"] +signer = ["mypy-boto3-signer (>=1.35.0,<1.36.0)"] +simspaceweaver = ["mypy-boto3-simspaceweaver (>=1.35.0,<1.36.0)"] +sms = ["mypy-boto3-sms (>=1.35.0,<1.36.0)"] +sms-voice = ["mypy-boto3-sms-voice (>=1.35.0,<1.36.0)"] +snow-device-management = ["mypy-boto3-snow-device-management (>=1.35.0,<1.36.0)"] +snowball = ["mypy-boto3-snowball (>=1.35.0,<1.36.0)"] +sns = ["mypy-boto3-sns (>=1.35.0,<1.36.0)"] +socialmessaging = ["mypy-boto3-socialmessaging (>=1.35.0,<1.36.0)"] +sqs = ["mypy-boto3-sqs (>=1.35.0,<1.36.0)"] +ssm = ["mypy-boto3-ssm (>=1.35.0,<1.36.0)"] +ssm-contacts = ["mypy-boto3-ssm-contacts (>=1.35.0,<1.36.0)"] +ssm-incidents = ["mypy-boto3-ssm-incidents (>=1.35.0,<1.36.0)"] +ssm-quicksetup = ["mypy-boto3-ssm-quicksetup (>=1.35.0,<1.36.0)"] +ssm-sap = ["mypy-boto3-ssm-sap (>=1.35.0,<1.36.0)"] +sso = ["mypy-boto3-sso (>=1.35.0,<1.36.0)"] +sso-admin = ["mypy-boto3-sso-admin (>=1.35.0,<1.36.0)"] +sso-oidc = ["mypy-boto3-sso-oidc (>=1.35.0,<1.36.0)"] +stepfunctions = ["mypy-boto3-stepfunctions (>=1.35.0,<1.36.0)"] +storagegateway = ["mypy-boto3-storagegateway (>=1.35.0,<1.36.0)"] +sts = ["mypy-boto3-sts (>=1.35.0,<1.36.0)"] +supplychain = ["mypy-boto3-supplychain (>=1.35.0,<1.36.0)"] +support = ["mypy-boto3-support (>=1.35.0,<1.36.0)"] +support-app = ["mypy-boto3-support-app (>=1.35.0,<1.36.0)"] +swf = ["mypy-boto3-swf (>=1.35.0,<1.36.0)"] +synthetics = ["mypy-boto3-synthetics (>=1.35.0,<1.36.0)"] +taxsettings = ["mypy-boto3-taxsettings (>=1.35.0,<1.36.0)"] +textract = ["mypy-boto3-textract (>=1.35.0,<1.36.0)"] +timestream-influxdb = ["mypy-boto3-timestream-influxdb (>=1.35.0,<1.36.0)"] +timestream-query = ["mypy-boto3-timestream-query (>=1.35.0,<1.36.0)"] +timestream-write = ["mypy-boto3-timestream-write (>=1.35.0,<1.36.0)"] +tnb = ["mypy-boto3-tnb (>=1.35.0,<1.36.0)"] +transcribe = ["mypy-boto3-transcribe (>=1.35.0,<1.36.0)"] +transfer = ["mypy-boto3-transfer (>=1.35.0,<1.36.0)"] +translate = ["mypy-boto3-translate (>=1.35.0,<1.36.0)"] +trustedadvisor = ["mypy-boto3-trustedadvisor (>=1.35.0,<1.36.0)"] +verifiedpermissions = ["mypy-boto3-verifiedpermissions (>=1.35.0,<1.36.0)"] +voice-id = ["mypy-boto3-voice-id (>=1.35.0,<1.36.0)"] +vpc-lattice = ["mypy-boto3-vpc-lattice (>=1.35.0,<1.36.0)"] +waf = ["mypy-boto3-waf (>=1.35.0,<1.36.0)"] +waf-regional = ["mypy-boto3-waf-regional (>=1.35.0,<1.36.0)"] +wafv2 = ["mypy-boto3-wafv2 (>=1.35.0,<1.36.0)"] +wellarchitected = ["mypy-boto3-wellarchitected (>=1.35.0,<1.36.0)"] +wisdom = ["mypy-boto3-wisdom (>=1.35.0,<1.36.0)"] +workdocs = ["mypy-boto3-workdocs (>=1.35.0,<1.36.0)"] +workmail = ["mypy-boto3-workmail (>=1.35.0,<1.36.0)"] +workmailmessageflow = ["mypy-boto3-workmailmessageflow (>=1.35.0,<1.36.0)"] +workspaces = ["mypy-boto3-workspaces (>=1.35.0,<1.36.0)"] +workspaces-thin-client = ["mypy-boto3-workspaces-thin-client (>=1.35.0,<1.36.0)"] +workspaces-web = ["mypy-boto3-workspaces-web (>=1.35.0,<1.36.0)"] +xray = ["mypy-boto3-xray (>=1.35.0,<1.36.0)"] + [[package]] name = "botocore" -version = "1.31.78" +version = "1.31.85" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">= 3.7" files = [ - {file = "botocore-1.31.78-py3-none-any.whl", hash = "sha256:a9ca8deeb3f47a10a25637859fee8d81cac2db37ace819d24471279e44879547"}, - {file = "botocore-1.31.78.tar.gz", hash = "sha256:320c70bc412157813c2cf60217a592b4b345f8e97e4bf3b1ce49b6be69ed8965"}, + {file = "botocore-1.31.85-py3-none-any.whl", hash = "sha256:b8f35d65f2b45af50c36fc25cc1844d6bd61d38d2148b2ef133b8f10e198555d"}, + {file = "botocore-1.31.85.tar.gz", hash = "sha256:ce58e688222df73ec5691f934be1a2122a52c9d11d3037b586b3fff16ed6d25f"}, ] [package.dependencies] @@ -235,101 +663,121 @@ python-dateutil = ">=2.1,<3.0.0" urllib3 = {version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""} [package.extras] -crt = ["awscrt (==0.16.26)"] +crt = ["awscrt (==0.19.12)"] + +[[package]] +name = "botocore-stubs" +version = "1.35.82" +description = "Type annotations and code completion for botocore" +optional = false +python-versions = ">=3.8" +files = [ + {file = "botocore_stubs-1.35.82-py3-none-any.whl", hash = "sha256:16883fc15998c9246114cd86e0fa74f57623ddd21464046fa0add0e9b85beef9"}, + {file = "botocore_stubs-1.35.82.tar.gz", hash = "sha256:4c365e6cdcad1cfb7e97affc0c6e6a4d04750db22931f2dbc71fcd89bcd28f82"}, +] + +[package.dependencies] +types-awscrt = "*" + +[package.extras] +botocore = ["botocore"] [[package]] name = "cachetools" -version = "5.3.1" +version = "5.5.0" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, - {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, ] [[package]] name = "certifi" -version = "2024.7.4" +version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] name = "cffi" -version = "1.15.1" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -348,12 +796,12 @@ files = [ [[package]] name = "chargebee" -version = "2.37.1" +version = "2.47.2" description = "Python wrapper for the ChargeBee Subscription Billing API" optional = false python-versions = "*" files = [ - {file = "chargebee-2.37.1.tar.gz", hash = "sha256:14e53268dc434fe1d065fd5067e69e99f045dbd84a762016fb9c9d7734b740ce"}, + {file = "chargebee-2.47.2.tar.gz", hash = "sha256:49a0a639e37c98fa879e9d324b3930de128a56f2bedaea0346a9f39c29afea5a"}, ] [package.dependencies] @@ -361,97 +809,127 @@ requests = "*" [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] name = "click" -version = "8.1.6" +version = "8.1.7" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, - {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -501,63 +979,73 @@ jinja2 = "*" [[package]] name = "coverage" -version = "7.4.4" +version = "7.6.9" description = "Code coverage measurement for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "coverage-7.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2"}, - {file = "coverage-7.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf"}, - {file = "coverage-7.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8"}, - {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562"}, - {file = "coverage-7.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2"}, - {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7"}, - {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87"}, - {file = "coverage-7.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c"}, - {file = "coverage-7.4.4-cp310-cp310-win32.whl", hash = "sha256:598825b51b81c808cb6f078dcb972f96af96b078faa47af7dfcdf282835baa8d"}, - {file = "coverage-7.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:09ef9199ed6653989ebbcaacc9b62b514bb63ea2f90256e71fea3ed74bd8ff6f"}, - {file = "coverage-7.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0f9f50e7ef2a71e2fae92774c99170eb8304e3fdf9c8c3c7ae9bab3e7229c5cf"}, - {file = "coverage-7.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:623512f8ba53c422fcfb2ce68362c97945095b864cda94a92edbaf5994201083"}, - {file = "coverage-7.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0513b9508b93da4e1716744ef6ebc507aff016ba115ffe8ecff744d1322a7b63"}, - {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40209e141059b9370a2657c9b15607815359ab3ef9918f0196b6fccce8d3230f"}, - {file = "coverage-7.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a2b2b78c78293782fd3767d53e6474582f62443d0504b1554370bde86cc8227"}, - {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:73bfb9c09951125d06ee473bed216e2c3742f530fc5acc1383883125de76d9cd"}, - {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f384c3cc76aeedce208643697fb3e8437604b512255de6d18dae3f27655a384"}, - {file = "coverage-7.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:54eb8d1bf7cacfbf2a3186019bcf01d11c666bd495ed18717162f7eb1e9dd00b"}, - {file = "coverage-7.4.4-cp311-cp311-win32.whl", hash = "sha256:cac99918c7bba15302a2d81f0312c08054a3359eaa1929c7e4b26ebe41e9b286"}, - {file = "coverage-7.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:b14706df8b2de49869ae03a5ccbc211f4041750cd4a66f698df89d44f4bd30ec"}, - {file = "coverage-7.4.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:201bef2eea65e0e9c56343115ba3814e896afe6d36ffd37bab783261db430f76"}, - {file = "coverage-7.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41c9c5f3de16b903b610d09650e5e27adbfa7f500302718c9ffd1c12cf9d6818"}, - {file = "coverage-7.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d898fe162d26929b5960e4e138651f7427048e72c853607f2b200909794ed978"}, - {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ea79bb50e805cd6ac058dfa3b5c8f6c040cb87fe83de10845857f5535d1db70"}, - {file = "coverage-7.4.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce4b94265ca988c3f8e479e741693d143026632672e3ff924f25fab50518dd51"}, - {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:00838a35b882694afda09f85e469c96367daa3f3f2b097d846a7216993d37f4c"}, - {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fdfafb32984684eb03c2d83e1e51f64f0906b11e64482df3c5db936ce3839d48"}, - {file = "coverage-7.4.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:69eb372f7e2ece89f14751fbcbe470295d73ed41ecd37ca36ed2eb47512a6ab9"}, - {file = "coverage-7.4.4-cp312-cp312-win32.whl", hash = "sha256:137eb07173141545e07403cca94ab625cc1cc6bc4c1e97b6e3846270e7e1fea0"}, - {file = "coverage-7.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:d71eec7d83298f1af3326ce0ff1d0ea83c7cb98f72b577097f9083b20bdaf05e"}, - {file = "coverage-7.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384"}, - {file = "coverage-7.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1"}, - {file = "coverage-7.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a"}, - {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409"}, - {file = "coverage-7.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e"}, - {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd"}, - {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7"}, - {file = "coverage-7.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c"}, - {file = "coverage-7.4.4-cp38-cp38-win32.whl", hash = "sha256:dfa8fe35a0bb90382837b238fff375de15f0dcdb9ae68ff85f7a63649c98527e"}, - {file = "coverage-7.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:b2991665420a803495e0b90a79233c1433d6ed77ef282e8e152a324bbbc5e0c8"}, - {file = "coverage-7.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d"}, - {file = "coverage-7.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357"}, - {file = "coverage-7.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e"}, - {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e"}, - {file = "coverage-7.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4"}, - {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec"}, - {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd"}, - {file = "coverage-7.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade"}, - {file = "coverage-7.4.4-cp39-cp39-win32.whl", hash = "sha256:d89d7b2974cae412400e88f35d86af72208e1ede1a541954af5d944a8ba46c57"}, - {file = "coverage-7.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:9ca28a302acb19b6af89e90f33ee3e1906961f94b54ea37de6737b7ca9d8827c"}, - {file = "coverage-7.4.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677"}, - {file = "coverage-7.4.4.tar.gz", hash = "sha256:c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49"}, + {file = "coverage-7.6.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85d9636f72e8991a1706b2b55b06c27545448baf9f6dbf51c4004609aacd7dcb"}, + {file = "coverage-7.6.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:608a7fd78c67bee8936378299a6cb9f5149bb80238c7a566fc3e6717a4e68710"}, + {file = "coverage-7.6.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96d636c77af18b5cb664ddf12dab9b15a0cfe9c0bde715da38698c8cea748bfa"}, + {file = "coverage-7.6.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d75cded8a3cff93da9edc31446872d2997e327921d8eed86641efafd350e1df1"}, + {file = "coverage-7.6.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7b15f589593110ae767ce997775d645b47e5cbbf54fd322f8ebea6277466cec"}, + {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:44349150f6811b44b25574839b39ae35291f6496eb795b7366fef3bd3cf112d3"}, + {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d891c136b5b310d0e702e186d70cd16d1119ea8927347045124cb286b29297e5"}, + {file = "coverage-7.6.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:db1dab894cc139f67822a92910466531de5ea6034ddfd2b11c0d4c6257168073"}, + {file = "coverage-7.6.9-cp310-cp310-win32.whl", hash = "sha256:41ff7b0da5af71a51b53f501a3bac65fb0ec311ebed1632e58fc6107f03b9198"}, + {file = "coverage-7.6.9-cp310-cp310-win_amd64.whl", hash = "sha256:35371f8438028fdccfaf3570b31d98e8d9eda8bb1d6ab9473f5a390969e98717"}, + {file = "coverage-7.6.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:932fc826442132dde42ee52cf66d941f581c685a6313feebed358411238f60f9"}, + {file = "coverage-7.6.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:085161be5f3b30fd9b3e7b9a8c301f935c8313dcf928a07b116324abea2c1c2c"}, + {file = "coverage-7.6.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ccc660a77e1c2bf24ddbce969af9447a9474790160cfb23de6be4fa88e3951c7"}, + {file = "coverage-7.6.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c69e42c892c018cd3c8d90da61d845f50a8243062b19d228189b0224150018a9"}, + {file = "coverage-7.6.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0824a28ec542a0be22f60c6ac36d679e0e262e5353203bea81d44ee81fe9c6d4"}, + {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4401ae5fc52ad8d26d2a5d8a7428b0f0c72431683f8e63e42e70606374c311a1"}, + {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:98caba4476a6c8d59ec1eb00c7dd862ba9beca34085642d46ed503cc2d440d4b"}, + {file = "coverage-7.6.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ee5defd1733fd6ec08b168bd4f5387d5b322f45ca9e0e6c817ea6c4cd36313e3"}, + {file = "coverage-7.6.9-cp311-cp311-win32.whl", hash = "sha256:f2d1ec60d6d256bdf298cb86b78dd715980828f50c46701abc3b0a2b3f8a0dc0"}, + {file = "coverage-7.6.9-cp311-cp311-win_amd64.whl", hash = "sha256:0d59fd927b1f04de57a2ba0137166d31c1a6dd9e764ad4af552912d70428c92b"}, + {file = "coverage-7.6.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99e266ae0b5d15f1ca8d278a668df6f51cc4b854513daab5cae695ed7b721cf8"}, + {file = "coverage-7.6.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9901d36492009a0a9b94b20e52ebfc8453bf49bb2b27bca2c9706f8b4f5a554a"}, + {file = "coverage-7.6.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abd3e72dd5b97e3af4246cdada7738ef0e608168de952b837b8dd7e90341f015"}, + {file = "coverage-7.6.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff74026a461eb0660366fb01c650c1d00f833a086b336bdad7ab00cc952072b3"}, + {file = "coverage-7.6.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65dad5a248823a4996724a88eb51d4b31587aa7aa428562dbe459c684e5787ae"}, + {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22be16571504c9ccea919fcedb459d5ab20d41172056206eb2994e2ff06118a4"}, + {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f957943bc718b87144ecaee70762bc2bc3f1a7a53c7b861103546d3a403f0a6"}, + {file = "coverage-7.6.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ae1387db4aecb1f485fb70a6c0148c6cdaebb6038f1d40089b1fc84a5db556f"}, + {file = "coverage-7.6.9-cp312-cp312-win32.whl", hash = "sha256:1a330812d9cc7ac2182586f6d41b4d0fadf9be9049f350e0efb275c8ee8eb692"}, + {file = "coverage-7.6.9-cp312-cp312-win_amd64.whl", hash = "sha256:b12c6b18269ca471eedd41c1b6a1065b2f7827508edb9a7ed5555e9a56dcfc97"}, + {file = "coverage-7.6.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:899b8cd4781c400454f2f64f7776a5d87bbd7b3e7f7bda0cb18f857bb1334664"}, + {file = "coverage-7.6.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:61f70dc68bd36810972e55bbbe83674ea073dd1dcc121040a08cdf3416c5349c"}, + {file = "coverage-7.6.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a289d23d4c46f1a82d5db4abeb40b9b5be91731ee19a379d15790e53031c014"}, + {file = "coverage-7.6.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e216d8044a356fc0337c7a2a0536d6de07888d7bcda76febcb8adc50bdbbd00"}, + {file = "coverage-7.6.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c026eb44f744acaa2bda7493dad903aa5bf5fc4f2554293a798d5606710055d"}, + {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e77363e8425325384f9d49272c54045bbed2f478e9dd698dbc65dbc37860eb0a"}, + {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:777abfab476cf83b5177b84d7486497e034eb9eaea0d746ce0c1268c71652077"}, + {file = "coverage-7.6.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:447af20e25fdbe16f26e84eb714ba21d98868705cb138252d28bc400381f6ffb"}, + {file = "coverage-7.6.9-cp313-cp313-win32.whl", hash = "sha256:d872ec5aeb086cbea771c573600d47944eea2dcba8be5f3ee649bfe3cb8dc9ba"}, + {file = "coverage-7.6.9-cp313-cp313-win_amd64.whl", hash = "sha256:fd1213c86e48dfdc5a0cc676551db467495a95a662d2396ecd58e719191446e1"}, + {file = "coverage-7.6.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9e7484d286cd5a43744e5f47b0b3fb457865baf07bafc6bee91896364e1419"}, + {file = "coverage-7.6.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e5ea1cf0872ee455c03e5674b5bca5e3e68e159379c1af0903e89f5eba9ccc3a"}, + {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d10e07aa2b91835d6abec555ec8b2733347956991901eea6ffac295f83a30e4"}, + {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13a9e2d3ee855db3dd6ea1ba5203316a1b1fd8eaeffc37c5b54987e61e4194ae"}, + {file = "coverage-7.6.9-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c38bf15a40ccf5619fa2fe8f26106c7e8e080d7760aeccb3722664c8656b030"}, + {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d5275455b3e4627c8e7154feaf7ee0743c2e7af82f6e3b561967b1cca755a0be"}, + {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8f8770dfc6e2c6a2d4569f411015c8d751c980d17a14b0530da2d7f27ffdd88e"}, + {file = "coverage-7.6.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8d2dfa71665a29b153a9681edb1c8d9c1ea50dfc2375fb4dac99ea7e21a0bcd9"}, + {file = "coverage-7.6.9-cp313-cp313t-win32.whl", hash = "sha256:5e6b86b5847a016d0fbd31ffe1001b63355ed309651851295315031ea7eb5a9b"}, + {file = "coverage-7.6.9-cp313-cp313t-win_amd64.whl", hash = "sha256:97ddc94d46088304772d21b060041c97fc16bdda13c6c7f9d8fcd8d5ae0d8611"}, + {file = "coverage-7.6.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:adb697c0bd35100dc690de83154627fbab1f4f3c0386df266dded865fc50a902"}, + {file = "coverage-7.6.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:be57b6d56e49c2739cdf776839a92330e933dd5e5d929966fbbd380c77f060be"}, + {file = "coverage-7.6.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1592791f8204ae9166de22ba7e6705fa4ebd02936c09436a1bb85aabca3e599"}, + {file = "coverage-7.6.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e12ae8cc979cf83d258acb5e1f1cf2f3f83524d1564a49d20b8bec14b637f08"}, + {file = "coverage-7.6.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb5555cff66c4d3d6213a296b360f9e1a8e323e74e0426b6c10ed7f4d021e464"}, + {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9389a429e0e5142e69d5bf4a435dd688c14478a19bb901735cdf75e57b13845"}, + {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:592ac539812e9b46046620341498caf09ca21023c41c893e1eb9dbda00a70cbf"}, + {file = "coverage-7.6.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a27801adef24cc30871da98a105f77995e13a25a505a0161911f6aafbd66e678"}, + {file = "coverage-7.6.9-cp39-cp39-win32.whl", hash = "sha256:8e3c3e38930cfb729cb8137d7f055e5a473ddaf1217966aa6238c88bd9fd50e6"}, + {file = "coverage-7.6.9-cp39-cp39-win_amd64.whl", hash = "sha256:e28bf44afa2b187cc9f41749138a64435bf340adfcacb5b2290c070ce99839d4"}, + {file = "coverage-7.6.9-pp39.pp310-none-any.whl", hash = "sha256:f3ca78518bc6bc92828cd11867b121891d75cae4ea9e908d72030609b996db1b"}, + {file = "coverage-7.6.9.tar.gz", hash = "sha256:4a8d8977b0c6ef5aeadcb644da9e69ae0dcfe66ec7f368c89c72e058bd71164d"}, ] [package.extras] @@ -565,62 +1053,62 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "43.0.3" +version = "44.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false -python-versions = ">=3.7" -files = [ - {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, - {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, - {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, - {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, - {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, - {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, - {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, - {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, - {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, - {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, - {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, +python-versions = "!=3.9.0,!=3.9.1,>=3.7" +files = [ + {file = "cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123"}, + {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092"}, + {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f"}, + {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"}, + {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"}, + {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"}, + {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"}, + {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"}, + {file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"}, + {file = "cryptography-44.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:abc998e0c0eee3c8a1904221d3f67dcfa76422b23620173e28c11d3e626c21bd"}, + {file = "cryptography-44.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:660cb7312a08bc38be15b696462fa7cc7cd85c3ed9c576e81f4dc4d8b2b31591"}, + {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7"}, + {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc"}, + {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"}, + {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"}, + {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"}, + {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"}, + {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"}, + {file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"}, + {file = "cryptography-44.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:708ee5f1bafe76d041b53a4f95eb28cdeb8d18da17e597d46d7833ee59b97ede"}, + {file = "cryptography-44.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37d76e6863da3774cd9db5b409a9ecfd2c71c981c38788d3fcfaf177f447b731"}, + {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4"}, + {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756"}, + {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c"}, + {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa"}, + {file = "cryptography-44.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:62901fb618f74d7d81bf408c8719e9ec14d863086efe4185afd07c352aee1d2c"}, + {file = "cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02"}, ] [package.dependencies] cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} [package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0)"] +docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"] +nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2)"] +pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"] +sdist = ["build (>=1.0.0)"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi (>=2024)", "cryptography-vectors (==44.0.0)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"] test-randomorder = ["pytest-randomly"] [[package]] name = "datamodel-code-generator" -version = "0.25.8" +version = "0.25.9" description = "Datamodel Code Generator" optional = false python-versions = "<4.0,>=3.7" files = [ - {file = "datamodel_code_generator-0.25.8-py3-none-any.whl", hash = "sha256:f9b216efad84d8dcb517273d2728875b6052b7e8dc4e5c13a597441cef236f6e"}, - {file = "datamodel_code_generator-0.25.8.tar.gz", hash = "sha256:b7838122b8133dae6e46f36a1cf25c0ccc66745da057988f490d00ab71121de7"}, + {file = "datamodel_code_generator-0.25.9-py3-none-any.whl", hash = "sha256:9e0324233123d6e39a35bc0004771956935889a974aacfd7a0651de11d2219a9"}, + {file = "datamodel_code_generator-0.25.9.tar.gz", hash = "sha256:65ca9807d8edbd88a7f7931c10f4bc1c08bd9bbc5bb0508418a2b6a16590eb65"}, ] [package.dependencies] @@ -656,20 +1144,20 @@ files = [ [[package]] name = "deprecated" -version = "1.2.14" +version = "1.2.15" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, + {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, + {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, ] [package.dependencies] wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools", "sphinx (<2)", "tox"] [[package]] name = "deprecation" @@ -687,13 +1175,13 @@ packaging = "*" [[package]] name = "dill" -version = "0.3.8" +version = "0.3.9" description = "serialize all of Python" optional = false python-versions = ">=3.8" files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, + {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, + {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, ] [package.extras] @@ -843,13 +1331,13 @@ Django = ">=2.2" [[package]] name = "django-health-check" -version = "3.18.2" +version = "3.18.3" description = "Run checks on services like databases, queue servers, celery processes, etc." optional = false python-versions = ">=3.8" files = [ - {file = "django_health_check-3.18.2-py2.py3-none-any.whl", hash = "sha256:16f9c9186236cbc2858fa0d0ecc3566ba2ad2b72683e5678d0d58eb9e8bbba1a"}, - {file = "django_health_check-3.18.2.tar.gz", hash = "sha256:21235120f8d756fa75ba430d0b0dbb04620fbd7bfac92ed6a0b911915ba38918"}, + {file = "django_health_check-3.18.3-py2.py3-none-any.whl", hash = "sha256:f5f58762b80bdf7b12fad724761993d6e83540f97e2c95c42978f187e452fa07"}, + {file = "django_health_check-3.18.3.tar.gz", hash = "sha256:18b75daca4551c69a43f804f9e41e23f5f5fb9efd06cf6a313b3d5031bb87bd0"}, ] [package.dependencies] @@ -861,23 +1349,26 @@ test = ["boto3", "celery", "django-storages", "pytest", "pytest-cov", "pytest-dj [[package]] name = "django-ipware" -version = "5.0.0" +version = "7.0.1" description = "A Django application to retrieve user's IP address" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "django-ipware-5.0.0.tar.gz", hash = "sha256:4fa5607ee85e12ee5e158bc7569ff1e134fb1579681aa1ff3f0ed04be21be153"}, - {file = "django_ipware-5.0.0-py2.py3-none-any.whl", hash = "sha256:80b52a3f571a371519cc552798f1015b934dd5dd7738bfad87e101e861bd21b8"}, + {file = "django-ipware-7.0.1.tar.gz", hash = "sha256:d9ec43d2bf7cdf216fed8d494a084deb5761a54860a53b2e74346a4f384cff47"}, + {file = "django_ipware-7.0.1-py2.py3-none-any.whl", hash = "sha256:db16bbee920f661ae7f678e4270460c85850f03c6761a4eaeb489bdc91f64709"}, ] +[package.dependencies] +python-ipware = ">=2.0.3" + [[package]] name = "django-lifecycle" -version = "1.0.0" +version = "1.0.2" description = "Declarative model lifecycle hooks." optional = false python-versions = "*" files = [ - {file = "django-lifecycle-1.0.0.tar.gz", hash = "sha256:136c48e65d439cc34a6cb9a10d6d17611a9a5223f8249ee9c190ca5c7a67e9c1"}, + {file = "django-lifecycle-1.0.2.tar.gz", hash = "sha256:c5cb6127d15f5fa59a083f22accae189527a94b16057c56537e762ac4f3044c3"}, ] [package.dependencies] @@ -912,13 +1403,13 @@ files = [ [[package]] name = "django-python3-ldap" -version = "0.15.6" +version = "0.15.8" description = "Django LDAP user authentication backend for Python 3." optional = false python-versions = "*" files = [ - {file = "django-python3-ldap-0.15.6.tar.gz", hash = "sha256:780ac3a2d20de17857990dd0a1bdb8f899855a59725c23638fd07f349439f588"}, - {file = "django_python3_ldap-0.15.6-py3-none-any.whl", hash = "sha256:04f59c25d76265e8f112d0563928877c5b08fa3422c4afea34912f02473e7fcb"}, + {file = "django_python3_ldap-0.15.8-py3-none-any.whl", hash = "sha256:bfd91dcb446c2cca33da195ed14d29513b2aba06f1d8ac2ef83009fa5826b518"}, + {file = "django_python3_ldap-0.15.8.tar.gz", hash = "sha256:5ca7800d02a3f25b1fd270a71ecf63cde4384c73b1982908e5e7aad6e37ea5ec"}, ] [package.dependencies] @@ -946,13 +1437,13 @@ hiredis = ["redis[hiredis] (>=3,!=4.0.0,!=4.0.1)"] [[package]] name = "django-ses" -version = "3.5.0" -description = "A Django email backend for Amazon's Simple Email Service" +version = "3.5.2" +description = "A Django email backend for Amazon's Simple Email Service (SES)" optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.8,<4.0" files = [ - {file = "django_ses-3.5.0-py3-none-any.whl", hash = "sha256:3522fe531155eb06bb015b3b36324c059194450633b33f9bd5bc9d1328822fe2"}, - {file = "django_ses-3.5.0.tar.gz", hash = "sha256:dc1644f50608fbf3a64f085a371c61d56d68eba3c5efa69651f13dc3ba05049d"}, + {file = "django_ses-3.5.2-py3-none-any.whl", hash = "sha256:90c68cc6ca3467893faa8499981c81ba8ff2bd3f3acb08c06423a4142d6a0fc6"}, + {file = "django_ses-3.5.2.tar.gz", hash = "sha256:b6d94689bc15de02a11e84f05a5bf4a7895688e570c6f07c21698094debc6ced"}, ] [package.dependencies] @@ -1016,6 +1507,44 @@ google = ["google-cloud-storage (>=1.15.0)"] libcloud = ["apache-libcloud"] sftp = ["paramiko"] +[[package]] +name = "django-stubs" +version = "5.1.1" +description = "Mypy stubs for Django" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_stubs-5.1.1-py3-none-any.whl", hash = "sha256:c4dc64260bd72e6d32b9e536e8dd0d9247922f0271f82d1d5132a18f24b388ac"}, + {file = "django_stubs-5.1.1.tar.gz", hash = "sha256:126d354bbdff4906c4e93e6361197f6fbfb6231c3df6def85a291dae6f9f577b"}, +] + +[package.dependencies] +asgiref = "*" +django = "*" +django-stubs-ext = ">=5.1.1" +types-PyYAML = "*" +typing-extensions = ">=4.11.0" + +[package.extras] +compatible-mypy = ["mypy (>=1.12,<1.14)"] +oracle = ["oracledb"] +redis = ["redis"] + +[[package]] +name = "django-stubs-ext" +version = "5.1.1" +description = "Monkey-patching and extensions for django-stubs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_stubs_ext-5.1.1-py3-none-any.whl", hash = "sha256:3907f99e178c93323e2ce908aef8352adb8c047605161f8d9e5e7b4efb5a6a9c"}, + {file = "django_stubs_ext-5.1.1.tar.gz", hash = "sha256:db7364e4f50ae7e5360993dbd58a3a57ea4b2e7e5bab0fbd525ccdb3e7975d1c"}, +] + +[package.dependencies] +django = "*" +typing-extensions = "*" + [[package]] name = "django-templated-mail" version = "1.1.1" @@ -1124,15 +1653,38 @@ lint = ["flake8", "isort", "pep8"] python-jose = ["python-jose (==3.3.0)"] test = ["cryptography", "freezegun", "pytest", "pytest-cov", "pytest-django", "pytest-xdist", "tox"] +[[package]] +name = "djangorestframework-stubs" +version = "3.14.5" +description = "PEP-484 stubs for django-rest-framework" +optional = false +python-versions = ">=3.8" +files = [ + {file = "djangorestframework-stubs-3.14.5.tar.gz", hash = "sha256:5dd6f638aa5291fb7863e6166128a6ed20bf4986e2fc5cf334e6afc841797a09"}, + {file = "djangorestframework_stubs-3.14.5-py3-none-any.whl", hash = "sha256:43d788fd50cda49b922cd411e59c5b8cdc3f3de49c02febae12ce42139f0269b"}, +] + +[package.dependencies] +django-stubs = ">=4.2.7" +requests = ">=2.0.0" +types-PyYAML = ">=5.4.3" +types-requests = ">=0.1.12" +typing-extensions = ">=3.10.0" + +[package.extras] +compatible-mypy = ["django-stubs[compatible-mypy]", "mypy (>=1.7.0,<1.8.0)"] +coreapi = ["coreapi (>=2.0.0)"] +markdown = ["types-Markdown (>=0.1.5)"] + [[package]] name = "djoser" -version = "2.2.2" +version = "2.2.3" description = "REST implementation of Django authentication system." optional = false -python-versions = ">=3.8,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "djoser-2.2.2-py3-none-any.whl", hash = "sha256:efb91ad61e4d5b8d664db029b5947df9d34078289ef2680a1ab665e047144b74"}, - {file = "djoser-2.2.2.tar.gz", hash = "sha256:9deb831a1c8781ceff325699e1407b4e1be8b4588e87071621d88ba31c09349f"}, + {file = "djoser-2.2.3-py3-none-any.whl", hash = "sha256:1325e5c1ee3233560e3737fc8fe2ab4b014c5adb98a01682f30ef250aaabafba"}, + {file = "djoser-2.2.3.tar.gz", hash = "sha256:28545bfb15096dd26e0d74b49b4dd267c0a8d5f9d562225ecc60c83289799131"}, ] [package.dependencies] @@ -1147,21 +1699,21 @@ webauthn = ["webauthn (<1.0)"] [[package]] name = "dnspython" -version = "2.6.1" +version = "2.7.0" description = "DNS toolkit" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, - {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, + {file = "dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86"}, + {file = "dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1"}, ] [package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] -dnssec = ["cryptography (>=41)"] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "hypercorn (>=0.16.0)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "quart-trio (>=0.11.0)", "sphinx (>=7.2.0)", "sphinx-rtd-theme (>=2.0.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=43)"] doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] -doq = ["aioquic (>=0.9.25)"] -idna = ["idna (>=3.6)"] +doq = ["aioquic (>=1.0.0)"] +idna = ["idna (>=3.7)"] trio = ["trio (>=0.23)"] wmi = ["wmi (>=1.5.1)"] @@ -1192,13 +1744,13 @@ files = [ [[package]] name = "drf-yasg" -version = "1.21.7" +version = "1.21.8" description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." optional = false python-versions = ">=3.6" files = [ - {file = "drf-yasg-1.21.7.tar.gz", hash = "sha256:4c3b93068b3dfca6969ab111155e4dd6f7b2d680b98778de8fd460b7837bdb0d"}, - {file = "drf_yasg-1.21.7-py3-none-any.whl", hash = "sha256:f85642072c35e684356475781b7ecf5d218fff2c6185c040664dd49f0a4be181"}, + {file = "drf-yasg-1.21.8.tar.gz", hash = "sha256:cbb7f81c3d140f2207392b4bc5dde65384eeb58e1b7eea1a6d641dec2f7352a9"}, + {file = "drf_yasg-1.21.8-py3-none-any.whl", hash = "sha256:a410b235e7cc2c0f6b9d4f671e8efe6f2d27cba398fbd16064e16ef814998444"}, ] [package.dependencies] @@ -1216,27 +1768,27 @@ validation = ["swagger-spec-validator (>=2.1.0)"] [[package]] name = "elementpath" -version = "4.1.5" +version = "4.6.0" description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "elementpath-4.1.5-py3-none-any.whl", hash = "sha256:2ac1a2fb31eb22bbbf817f8cf6752f844513216263f0e3892c8e79782fe4bb55"}, - {file = "elementpath-4.1.5.tar.gz", hash = "sha256:c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"}, + {file = "elementpath-4.6.0-py3-none-any.whl", hash = "sha256:e578677f19ccc6ff374c4477c687c547ecbaf7b478d98abb951b7b4b45260a17"}, + {file = "elementpath-4.6.0.tar.gz", hash = "sha256:ba46bf07f66774927727ade55022b6c435fac06b2523cb3cd7689a1884d33468"}, ] [package.extras] -dev = ["Sphinx", "coverage", "flake8", "lxml", "lxml-stubs", "memory-profiler", "memray", "mypy", "tox", "xmlschema (>=2.0.0)"] +dev = ["Sphinx", "coverage", "flake8", "lxml", "lxml-stubs", "memory-profiler", "memray", "mypy", "tox", "xmlschema (>=3.3.2)"] [[package]] name = "email-validator" -version = "2.0.0.post2" +version = "2.2.0" description = "A robust email address syntax and deliverability validation library." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "email_validator-2.0.0.post2-py3-none-any.whl", hash = "sha256:2466ba57cda361fb7309fd3d5a225723c788ca4bbad32a0ebd5373b99730285c"}, - {file = "email_validator-2.0.0.post2.tar.gz", hash = "sha256:1ff6e86044200c56ae23595695c54e9614f4a9551e0e393614f764860b3d7900"}, + {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, + {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, ] [package.dependencies] @@ -1311,19 +1863,19 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "flagsmith" -version = "3.6.0" +version = "3.8.0" description = "Flagsmith Python SDK" optional = false -python-versions = ">=3.8.1,<4" +python-versions = "<4,>=3.8.1" files = [ - {file = "flagsmith-3.6.0.tar.gz", hash = "sha256:b189bea8def2a01f2fc2c53a71dcf917ed088a68d8478f7aed4575c488782632"}, + {file = "flagsmith-3.8.0.tar.gz", hash = "sha256:0ed401d32978632e9ea156418f7e479bdae8bd879354164d667721ece972d878"}, ] [package.dependencies] flagsmith-flag-engine = ">=5.1.0,<6.0.0" -pytz = ">=2023.4,<2024.0" -requests = ">=2.27.1,<3.0.0" -requests-futures = ">=1.0.0,<2.0.0" +pydantic = ">=2,<3" +requests = ">=2.32.3,<3.0.0" +requests-futures = ">=1.0.1,<2.0.0" sseclient-py = ">=1.8.0,<2.0.0" [[package]] @@ -1342,7 +1894,7 @@ django-multiselectfield = "0.1.12" type = "git" url = "https://github.com/flagsmith/flagsmith-auth-controller" reference = "v0.1.3" -resolved_reference = "303954ba54fd2f402c75806b3b9ba7f2d42aa426" +resolved_reference = "b1d3a01edf90c9fb11c4e57aae40206c4ed67a4c" [[package]] name = "flagsmith-common" @@ -1425,13 +1977,13 @@ resolved_reference = "1424d95cbadd18dfc57debbdf0ea2d3d13ea1446" [[package]] name = "freezegun" -version = "1.2.2" +version = "1.5.1" description = "Let your Python tests travel through time" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "freezegun-1.2.2-py3-none-any.whl", hash = "sha256:ea1b963b993cb9ea195adbd893a48d573fda951b0da64f60883d7e988b606c9f"}, - {file = "freezegun-1.2.2.tar.gz", hash = "sha256:cd22d1ba06941384410cd967d8a99d5ae2442f57dfafeff2fda5de8dc5c05446"}, + {file = "freezegun-1.5.1-py3-none-any.whl", hash = "sha256:bf111d7138a8abe55ab48a71755673dbaa4ab87f4cff5634a4442dfec34c15f1"}, + {file = "freezegun-1.5.1.tar.gz", hash = "sha256:b29dedfcda6d5e8e083ce71b2b542753ad48cfec44037b3fc79702e2980a89e9"}, ] [package.dependencies] @@ -1439,32 +1991,35 @@ python-dateutil = ">=2.7" [[package]] name = "genson" -version = "1.2.2" +version = "1.3.0" description = "GenSON is a powerful, user-friendly JSON Schema generator." optional = false python-versions = "*" files = [ - {file = "genson-1.2.2.tar.gz", hash = "sha256:8caf69aa10af7aee0e1a1351d1d06801f4696e005f06cedef438635384346a16"}, + {file = "genson-1.3.0-py3-none-any.whl", hash = "sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7"}, + {file = "genson-1.3.0.tar.gz", hash = "sha256:e02db9ac2e3fd29e65b5286f7135762e2cd8a986537c075b06fc5f1517308e37"}, ] [[package]] name = "google-api-core" -version = "2.11.1" +version = "2.24.0" description = "Google API client core library" optional = false python-versions = ">=3.7" files = [ - {file = "google-api-core-2.11.1.tar.gz", hash = "sha256:25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a"}, - {file = "google_api_core-2.11.1-py3-none-any.whl", hash = "sha256:d92a5a92dc36dd4f4b9ee4e55528a90e432b059f93aee6ad857f9de8cc7ae94a"}, + {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, + {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, ] [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" googleapis-common-protos = ">=1.56.2,<2.0.dev0" -protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" +proto-plus = ">=1.22.3,<2.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" requests = ">=2.18.0,<3.0.0.dev0" [package.extras] +async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] @@ -1490,374 +2045,116 @@ uritemplate = ">=3.0.0,<4dev" [[package]] name = "google-auth" -version = "2.22.0" +version = "2.37.0" description = "Google Authentication Library" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "google-auth-2.22.0.tar.gz", hash = "sha256:164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce"}, - {file = "google_auth-2.22.0-py2.py3-none-any.whl", hash = "sha256:d61d1b40897407b574da67da1a833bdc10d5a11642566e506565d1b1a46ba873"}, + {file = "google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0"}, + {file = "google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00"}, ] [package.dependencies] cachetools = ">=2.0.0,<6.0" pyasn1-modules = ">=0.2.1" rsa = ">=3.1.4,<5" -six = ">=1.9.0" -urllib3 = "<2.0" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] -enterprise-cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"] +enterprise-cert = ["cryptography", "pyopenssl"] +pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0.dev0)"] [[package]] name = "google-auth-httplib2" -version = "0.1.0" +version = "0.2.0" description = "Google Authentication Library: httplib2 transport" optional = false python-versions = "*" files = [ - {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, - {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, + {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, + {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, ] [package.dependencies] google-auth = "*" -httplib2 = ">=0.15.0" -six = "*" +httplib2 = ">=0.19.0" [[package]] name = "google-re2" -version = "1.1" +version = "1.1.20240702" description = "RE2 Python bindings" optional = false python-versions = "~=3.8" files = [ - {file = "google-re2-1.1.tar.gz", hash = "sha256:d3a9467ee52b46ac77ca928f6d0cbeaccfd92f03ca0f0f65b9df6a95184f3a1c"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:874d2e36dfa506b03d4f9c4aef1701a65304f4004c96c7edac7d8aea08fe193e"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b66eb84850afdce09aabca40bcd6f2a0e96178a1b4990d555678edb1f59bf255"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c461640a07db26dc2b51f43de607b7520e7debaf4f6a000f796a3c0196ca52af"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7f9ba69eaee6e7a9f5ddfb919bf1a866af14a18b26a179e3fb1a6fe3d0cbf349"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:f95cf16739cc3ea63728366881221b119f2322b4b739b7da6522d45a68792cea"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:9fb56a41250191298e6a2859b0fdea1e83330c9870fe8d84e5836c506ae46e96"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb22ea995564d87baf4a4bfbb3ca024be913683a710f4f0dc9c94dc663afab20"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:19b3f0bfbb2a2ca58ed0aaa9356d07a5c0921383a6dbeca086b2b74472f5ee08"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34fd7f97b84af7453cf05b25adfe2491ba3cef1ca548ac2907efa63d3510954d"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e029664192d8d30f7c977706183ef483e82ca239302272df74e01d2e22897ca"}, - {file = "google_re2-1.1-1-cp310-cp310-win32.whl", hash = "sha256:41a8f222f9839d059d37efd28e4deec203502d7e39c3759d83d6a33deadf1d2e"}, - {file = "google_re2-1.1-1-cp310-cp310-win_amd64.whl", hash = "sha256:6141d569fdf72aa693f040ba05c469036587395af07ff419b9a3c009d6ffefd3"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2d03f6aaf22788ba13a770f0d183b8eebe55545bcbb6e4c41dcccac7ded014d"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:a98f15fd9c31bf80d368698447191a2e9703880b305dbf34d9a63ce634b8a557"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:42128916cc2966623832aabbd224c88e862d1c531d6bc49ab141f565e6321a90"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:6e27986a166903ad7000635f6faed8ab5072d687f822ac9f692c40b2470aebcf"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:5e9edcd743a830d0c0b2729201e42ab86fceef8f4086df65563f482e4544359e"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:d33145bbfd32e916f1c911cd9225be5364a36c3959742a0cc4dfc0692d6a2a5e"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b27cc2544b69a357ab2a749dc0c13a1b9055198c56f4c2c3b0f61d693f8e203"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3cdf8982b6def987e95b37984d0c1c878de32635dd78acde3273f730b69708c9"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71ac661a7365e134741fe5542f13d7ce1e6187446b96ddee4c8b7d153fc8f05a"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35a902ba31a71a3e9e114e44473624d9aa9f9b85ec981bfa91671aefe0ef1a6c"}, - {file = "google_re2-1.1-1-cp311-cp311-win32.whl", hash = "sha256:9469f26b485da2784c658e687a766c72e1a17b1e63b3ed24b5f64c3d19fbae3d"}, - {file = "google_re2-1.1-1-cp311-cp311-win_amd64.whl", hash = "sha256:07dd0780240ee431781119b46c3bbf76f5cef24a2cbb542f6a08c643e0a68d98"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9857dc4d69b8025057c8129e98406a24d51bdaf1b96e481dbba7e69e0ec85104"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a6eaaa5f200022eb0bdded5949c91454fc96e1edd6f9e9a96dd1dc32c821c00e"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a32bb2afe128d90b8edc20d4f7d297f7e2753206eba92937a57e5280736eac74"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:4f2754616c61b76ab4e5a4f39892a52a00897203b859c5abd7e3c630dd883cda"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:b110f3d657e8f67a43a699d327ce47095b80180ea1118e2de44cb5c7002503d9"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:fd62ba2853eef65e249a9c4437a9ecac568222062bc956f0c61a3d1151a6271b"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23b50eb74dc3e1d480b04b987c61242df5dade50d08bc16e25eb3582b83fca80"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1bde89855dd5ab0811187d21eec149975510c80e865c771c883524a452445e7"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10c6cddc720151a509beb98ab310fa0cc8bcb265f83518ebf831de2c9ff73af0"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9bea09c5e8401ec50b8f211bc820ec2f0ca5e744ac67431a1b39bdacbd266553"}, - {file = "google_re2-1.1-1-cp38-cp38-win32.whl", hash = "sha256:ffa51b118037518bcdf63c7649d0b4be7071982b83f48ee3bbabf24a9cb48f8a"}, - {file = "google_re2-1.1-1-cp38-cp38-win_amd64.whl", hash = "sha256:3b47715b6d43c9351957eb5092ad0fa625d04106d81f34cb8a726c53395ad474"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:998f31bf7efbc9bb603d0c356c1c77e5331f689c71783df8e21e67bb025fc66a"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0b5f0eaab859d3ba5f462c82bf37ab56e9d37e19b40b5898c731dbe4213a85f7"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f6d591d9c4cbc7142b729ddcc3f654d059d8ebc3bc95891198808a4785a6b4d8"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:3c325c2eae197b423330a04ab62e2e1cf942676cd5560907db4d63e23ce0648a"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:1e019e8f57955806ee843254ce454249b58800a6e872b2c8e9df2ef3459de0d5"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:58ebbcc7ad2b639768a6bca586357291660ea40dfac83039208e5055c357513b"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:723f8553e7fc022294071f14fb7dfc7958c365dc7d4a71d4938ccd2df8c6eca4"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d81512b08e6787fc8ef29fea365d3fdbf957553a625550e1d96c36877ae30355"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c58601b155651cc572a23ee2860788c77581aad85d3567a55b89b0674702f34d"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c6c9f64b9724ec38da8e514f404ac64e9a6a5e8b1d7031c2dadd05c1f4c16fd"}, - {file = "google_re2-1.1-1-cp39-cp39-win32.whl", hash = "sha256:d1b751b9ab9f8e2ab2a36d72b909281ce65f328c9115a1685acae1a2d1afd7a4"}, - {file = "google_re2-1.1-1-cp39-cp39-win_amd64.whl", hash = "sha256:ac775c75cec7069351d201da4e0fb0cae4c1c5ebecd08fa34e1be89740c1d80b"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5eaefe4705b75ca5f78178a50104b689e9282f868e12f119b26b4cffc0c7ee6e"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:e35f2c8aabfaaa4ce6420b3cae86c0c29042b1b4f9937254347e9b985694a171"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:35fd189cbaaaa39c9a6a8a00164c8d9c709bacd0c231c694936879609beff516"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:60475d222cebd066c80414831c8a42aa2449aab252084102ee05440896586e6a"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:871cb85b9b0e1784c983b5c148156b3c5314cb29ca70432dff0d163c5c08d7e5"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:94f4e66e34bdb8de91ec6cdf20ba4fa9fea1dfdcfb77ff1f59700d01a0243664"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1563577e2b720d267c4cffacc0f6a2b5c8480ea966ebdb1844fbea6602c7496f"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:49b7964532a801b96062d78c0222d155873968f823a546a3dbe63d73f25bb56f"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2362fd70eb639a75fd0187d28b4ba7b20b3088833d8ad7ffd8693d0ba159e1c2"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86b80719636a4e21391e20a9adf18173ee6ae2ec956726fe2ff587417b5e8ba6"}, - {file = "google_re2-1.1-2-cp310-cp310-win32.whl", hash = "sha256:5456fba09df951fe8d1714474ed1ecda102a68ddffab0113e6c117d2e64e6f2b"}, - {file = "google_re2-1.1-2-cp310-cp310-win_amd64.whl", hash = "sha256:2ac6936a3a60d8d9de9563e90227b3aea27068f597274ca192c999a12d8baa8f"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5a87b436028ec9b0f02fe19d4cbc19ef30441085cdfcdf1cce8fbe5c4bd5e9a"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:fc0d4163de9ed2155a77e7a2d59d94c348a6bbab3cff88922fab9e0d3d24faec"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:48b12d953bc796736e7831d67b36892fb6419a4cc44cb16521fe291e594bfe23"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:62c780c927cff98c1538439f0ff616f48a9b2e8837c676f53170d8ae5b9e83cb"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:04b2aefd768aa4edeef8b273327806c9cb0b82e90ff52eacf5d11003ac7a0db2"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:9c90175992346519ee7546d9af9a64541c05b6b70346b0ddc54a48aa0d3b6554"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22ad9ad9d125249d6386a2e80efb9de7af8260b703b6be7fa0ab069c1cf56ced"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f70971f6ffe5254e476e71d449089917f50ebf9cf60f9cec80975ab1693777e2"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f267499529e64a4abed24c588f355ebe4700189d434d84a7367725f5a186e48d"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b632eff5e4cd44545a9c0e52f2e1becd55831e25f4dd4e0d7ec8ee6ca50858c1"}, - {file = "google_re2-1.1-2-cp311-cp311-win32.whl", hash = "sha256:a42c733036e8f242ee4e5f0e27153ad4ca44ced9e4ce82f3972938ddee528db0"}, - {file = "google_re2-1.1-2-cp311-cp311-win_amd64.whl", hash = "sha256:64f8eed4ca96905d99b5286b3d14b5ca4f6a025ff3c1351626a7df2f93ad1ddd"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5541efcca5b5faf7e0d882334a04fa479bad4e7433f94870f46272eec0672c4a"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:92309af35b6eb2d3b3dc57045cdd83a76370958ab3e0edd2cc4638f6d23f5b32"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:197cd9bcaba96d18c5bf84d0c32fca7a26c234ea83b1d3083366f4392cb99f78"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:1b896f171d29b541256cf26e10dccc9103ac1894683914ed88828ca6facf8dca"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:e022d3239b945014e916ca7120fee659b246ec26c301f9e0542f1a19b38a8744"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:2c73f8a9440873b68bee1198094377501065e85aaf6fcc0d2512c7589ffa06ca"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:901d86555bd7725506d651afaba7d71cd4abd13260aed6cfd7c641a45f76d4f6"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ce4710ff636701cfb56eb91c19b775d53b03749a23b7d2a5071bbbf4342a9067"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76a20e5ebdf5bc5d430530197e42a2eeb562f729d3a3fb51f39168283d676e66"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:77c9f4d4bb1c8de9d2642d3c4b8b615858ba764df025b3b4f1310266f8def269"}, - {file = "google_re2-1.1-2-cp38-cp38-win32.whl", hash = "sha256:94bd60785bf37ef130a1613738e3c39465a67eae3f3be44bb918540d39b68da3"}, - {file = "google_re2-1.1-2-cp38-cp38-win_amd64.whl", hash = "sha256:59efeb77c0dcdbe37794c61f29c5b1f34bc06e8ec309a111ccdd29d380644d70"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:221e38c27e1dd9ccb8e911e9c7aed6439f68ce81e7bb74001076830b0d6e931d"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d9145879e6c2e1b814445300b31f88a675e1f06c57564670d95a1442e8370c27"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:c8a12f0740e2a52826bdbf95569a4b0abdf413b4012fa71e94ad25dd4715c6e5"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:9c9998f71466f4db7bda752aa7c348b2881ff688e361108fe500caad1d8b9cb2"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:0c39f69b702005963a3d3bf78743e1733ad73efd7e6e8465d76e3009e4694ceb"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:6d0ce762dee8d6617d0b1788a9653e805e83a23046c441d0ea65f1e27bf84114"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ecf3619d98c9b4a7844ab52552ad32597cdbc9a5bdbc7e3435391c653600d1e2"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a1426a8cbd1fa004974574708d496005bd379310c4b1c7012be4bc75efde7a8"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1a30626ba48b4070f3eab272d860ef1952e710b088792c4d68dddb155be6bfc"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1b9c1ffcfbc3095b6ff601ec2d2bf662988f6ea6763bc1c9d52bec55881f8fde"}, - {file = "google_re2-1.1-2-cp39-cp39-win32.whl", hash = "sha256:32ecf995a252c0548404c1065ba4b36f1e524f1f4a86b6367a1a6c3da3801e30"}, - {file = "google_re2-1.1-2-cp39-cp39-win_amd64.whl", hash = "sha256:e7865410f3b112a3609739283ec3f4f6f25aae827ff59c6bfdf806fd394d753e"}, - {file = "google_re2-1.1-3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3b21f83f0a201009c56f06fcc7294a33555ede97130e8a91b3f4cae01aed1d73"}, - {file = "google_re2-1.1-3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b38194b91354a38db1f86f25d09cdc6ac85d63aee4c67b43da3048ce637adf45"}, - {file = "google_re2-1.1-3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e7da3da8d6b5a18d6c3b61b11cc5b66b8564eaedce99d2312b15b6487730fc76"}, - {file = "google_re2-1.1-3-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:aeca656fb10d8638f245331aabab59c9e7e051ca974b366dd79e6a9efb12e401"}, - {file = "google_re2-1.1-3-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:2069d6dc94f5fa14a159bf99cad2f11e9c0f8ec3b7f44a4dde9e59afe5d1c786"}, - {file = "google_re2-1.1-3-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:2319a39305a4931cb5251451f2582713418a19bef2af7adf9e2a7a0edd939b99"}, - {file = "google_re2-1.1-3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb98fc131699756c6d86246f670a5e1c1cc1ba85413c425ad344cb30479b246c"}, - {file = "google_re2-1.1-3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a6e038986d8ffe4e269f8532f03009f229d1f6018d4ac0dabc8aff876338f6e0"}, - {file = "google_re2-1.1-3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8618343ee658310e0f53bf586fab7409de43ce82bf8d9f7eb119536adc9783fd"}, - {file = "google_re2-1.1-3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d8140ca861cfe00602319cefe2c7b8737b379eb07fb328b51dc44584f47a2718"}, - {file = "google_re2-1.1-3-cp310-cp310-win32.whl", hash = "sha256:41f439c5c54e8a3a0a1fa2dbd1e809d3f643f862df7b16dd790f36a1238a272e"}, - {file = "google_re2-1.1-3-cp310-cp310-win_amd64.whl", hash = "sha256:fe20e97a33176d96d3e4b5b401de35182b9505823abea51425ec011f53ef5e56"}, - {file = "google_re2-1.1-3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c39ff52b1765db039f690ee5b7b23919d8535aae94db7996079fbde0098c4d7"}, - {file = "google_re2-1.1-3-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5420be674fd164041639ba4c825450f3d4bd635572acdde16b3dcd697f8aa3ef"}, - {file = "google_re2-1.1-3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:ff53881cf1ce040f102a42d39db93c3f835f522337ae9c79839a842f26d97733"}, - {file = "google_re2-1.1-3-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:8d04600b0b53523118df2e413a71417c408f20dee640bf07dfab601c96a18a77"}, - {file = "google_re2-1.1-3-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:c4835d4849faa34a7fa1074098d81c420ed6c0707a3772482b02ce14f2a7c007"}, - {file = "google_re2-1.1-3-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:3309a9b81251d35fee15974d0ae0581a9a375266deeafdc3a3ac0d172a742357"}, - {file = "google_re2-1.1-3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e2b51cafee7e0bc72d0a4a454547bd8f257cde412ac9f1a2dc46a203b5e42cf4"}, - {file = "google_re2-1.1-3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:83f5f1cb52f832c2297d271ee8c56cf5e9053448162e5d2223d513f729bad908"}, - {file = "google_re2-1.1-3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:55865a1ace92be3f7953b2e2b38b901d8074a367aa491daee43260a53a7fc6f0"}, - {file = "google_re2-1.1-3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cec2167dd142e583e98c783bd0d28b8cf5a9cdbe1f7407ba4163fe3ccb613cb9"}, - {file = "google_re2-1.1-3-cp311-cp311-win32.whl", hash = "sha256:a0bc1fe96849e4eb8b726d0bba493f5b989372243b32fe20729cace02e5a214d"}, - {file = "google_re2-1.1-3-cp311-cp311-win_amd64.whl", hash = "sha256:e6310a156db96fc5957cb007dd2feb18476898654530683897469447df73a7cd"}, - {file = "google_re2-1.1-3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8e63cd10ea006088b320e8c5d308da1f6c87aa95138a71c60dd7ca1c8e91927e"}, - {file = "google_re2-1.1-3-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:12b566830a334178733a85e416b1e0507dbc0ceb322827616fe51ef56c5154f1"}, - {file = "google_re2-1.1-3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:442e18c9d46b225c1496919c16eafe8f8d9bb4091b00b4d3440da03c55bbf4ed"}, - {file = "google_re2-1.1-3-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:c54c00263a9c39b2dacd93e9636319af51e3cf885c080b9680a9631708326460"}, - {file = "google_re2-1.1-3-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:15a3caeeb327bc22e0c9f95eb76890fec8874cacccd2b01ff5c080ab4819bbec"}, - {file = "google_re2-1.1-3-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:59ec0d2cced77f715d41f6eafd901f6b15c11e28ba25fe0effdc1de554d78e75"}, - {file = "google_re2-1.1-3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:185bf0e3441aed3840590f8e42f916e2920d235eb14df2cbc2049526803d3e71"}, - {file = "google_re2-1.1-3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:586d3f2014eea5be14d8de53374d9b79fa99689160e00efa64b5fe93af326087"}, - {file = "google_re2-1.1-3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc2575082de4ffd234d9607f3ae67ca22b15a1a88793240e2045f3b3a36a5795"}, - {file = "google_re2-1.1-3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:59c5ad438eddb3630def394456091284d7bbc5b89351987f94f3792d296d1f96"}, - {file = "google_re2-1.1-3-cp312-cp312-win32.whl", hash = "sha256:5b9878c53f2bf16f75bf71d4ddd57f6611351408d5821040e91c53ebdf82c373"}, - {file = "google_re2-1.1-3-cp312-cp312-win_amd64.whl", hash = "sha256:4fdecfeb213110d0a85bad335a8e7cdb59fea7de81a4fe659233f487171980f9"}, - {file = "google_re2-1.1-3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2dd87bacab32b709c28d0145fe75a956b6a39e28f0726d867375dba5721c76c1"}, - {file = "google_re2-1.1-3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:55d24c61fe35dddc1bb484593a57c9f60f9e66d7f31f091ef9608ed0b6dde79f"}, - {file = "google_re2-1.1-3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a0cf1180d908622df648c26b0cd09281f92129805ccc56a39227fdbfeab95cb4"}, - {file = "google_re2-1.1-3-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:09586f07f3f88d432265c75976da1c619ab7192cd7ebdf53f4ae0776c19e4b56"}, - {file = "google_re2-1.1-3-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:539f1b053402203576e919a06749198da4ae415931ee28948a1898131ae932ce"}, - {file = "google_re2-1.1-3-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:abf0bcb5365b0e27a5a23f3da403dffdbbac2c0e3a3f1535a8b10cc121b5d5fb"}, - {file = "google_re2-1.1-3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:19c83e5bbed7958213eeac3aa71c506525ce54faf03e07d0b96cd0a764890511"}, - {file = "google_re2-1.1-3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3348e77330ff672dc44ec01894fa5d93c409a532b6d688feac55e714e9059920"}, - {file = "google_re2-1.1-3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:06b63edb57c5ce5a13eabfd71155e346b9477dc8906dec7c580d4f70c16a7e0d"}, - {file = "google_re2-1.1-3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:12fe57ba2914092b83338d61d8def9ebd5a2bd0fd8679eceb5d4c2748105d5c0"}, - {file = "google_re2-1.1-3-cp38-cp38-win32.whl", hash = "sha256:80796e08d24e606e675019fe8de4eb5c94bb765be13c384f2695247d54a6df75"}, - {file = "google_re2-1.1-3-cp38-cp38-win_amd64.whl", hash = "sha256:3c2257dedfe7cc5deb6791e563af9e071a9d414dad89e37ac7ad22f91be171a9"}, - {file = "google_re2-1.1-3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:43a0cd77c87c894f28969ac622f94b2e6d1571261dfdd785026848a25cfdc9b9"}, - {file = "google_re2-1.1-3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1038990b77fd66f279bd66a0832b67435ea925e15bb59eafc7b60fdec812b616"}, - {file = "google_re2-1.1-3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:fb5dda6875d18dd45f0f24ebced6d1f7388867c8fb04a235d1deab7ea479ce38"}, - {file = "google_re2-1.1-3-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:bb1d164965c6d57a351b421d2f77c051403766a8b75aaa602324ee2451fff77f"}, - {file = "google_re2-1.1-3-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:a072ebfa495051d07ffecbf6ce21eb84793568d5c3c678c00ed8ff6b8066ab31"}, - {file = "google_re2-1.1-3-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:4eb66c8398c8a510adc97978d944b3b29c91181237218841ea1a91dc39ec0e54"}, - {file = "google_re2-1.1-3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f7c8b57b1f559553248d1757b7fa5b2e0cc845666738d155dff1987c2618264e"}, - {file = "google_re2-1.1-3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9162f6aa4f25453c682eb176f21b8e2f40205be9f667e98a54b3e1ff10d6ee75"}, - {file = "google_re2-1.1-3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2d65ddf67fd7bf94705626871d463057d3d9a3538d41022f95b9d8f01df36e1"}, - {file = "google_re2-1.1-3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d140c7b9395b4d1e654127aa1c99bcc603ed01000b7bc7e28c52562f1894ec12"}, - {file = "google_re2-1.1-3-cp39-cp39-win32.whl", hash = "sha256:80c5fc200f64b2d903eeb07b8d6cefc620a872a0240c7caaa9aca05b20f5568f"}, - {file = "google_re2-1.1-3-cp39-cp39-win_amd64.whl", hash = "sha256:9eb6dbcee9b5dc4069bbc0634f2eb039ca524a14bed5868fdf6560aaafcbca06"}, - {file = "google_re2-1.1-4-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0db114d7e1aa96dbcea452a40136d7d747d60cbb61394965774688ef59cccd4e"}, - {file = "google_re2-1.1-4-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:82133958e003a1344e5b7a791b9a9dd7560b5c8f96936dbe16f294604524a633"}, - {file = "google_re2-1.1-4-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:9e74fd441d1f3d917d3303e319f61b82cdbd96b9a5ba919377a6eef1504a1e2b"}, - {file = "google_re2-1.1-4-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:734a2e7a4541c57253b5ebee24f3f3366ba3658bcad01da25fb623c78723471a"}, - {file = "google_re2-1.1-4-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:d88d5eecbc908abe16132456fae13690d0508f3ac5777f320ef95cb6cab9a961"}, - {file = "google_re2-1.1-4-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:b91db80b171ecec435a07977a227757dd487356701a32f556fa6fca5d0a40522"}, - {file = "google_re2-1.1-4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b23129887a64bb9948af14c84705273ed1a40054e99433b4acccab4dcf6a226"}, - {file = "google_re2-1.1-4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5dc1a0cc7cd19261dcaf76763e2499305dbb7e51dc69555167cdb8af98782698"}, - {file = "google_re2-1.1-4-cp310-cp310-win32.whl", hash = "sha256:3b2ab1e2420b5dd9743a2d6bc61b64e5f708563702a75b6db86637837eaeaf2f"}, - {file = "google_re2-1.1-4-cp310-cp310-win_amd64.whl", hash = "sha256:92efca1a7ef83b6df012d432a1cbc71d10ff42200640c0f9a5ff5b343a48e633"}, - {file = "google_re2-1.1-4-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:854818fd4ce79787aca5ba459d6e5abe4ca9be2c684a5b06a7f1757452ca3708"}, - {file = "google_re2-1.1-4-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:4ceef51174b6f653b6659a8fdaa9c38960c5228b44b25be2a3bcd8566827554f"}, - {file = "google_re2-1.1-4-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:ee49087c3db7e6f5238105ab5299c09e9b77516fe8cfb0a37e5f1e813d76ecb8"}, - {file = "google_re2-1.1-4-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:dc2312854bdc01410acc5d935f1906a49cb1f28980341c20a68797ad89d8e178"}, - {file = "google_re2-1.1-4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0dc0d2e42296fa84a3cb3e1bd667c6969389cd5cdf0786e6b1f911ae2d75375b"}, - {file = "google_re2-1.1-4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6bf04ced98453b035f84320f348f67578024f44d2997498def149054eb860ae8"}, - {file = "google_re2-1.1-4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d6b6ef11dc4ab322fa66c2f3561925f2b5372a879c3ed764d20e939e2fd3e5f"}, - {file = "google_re2-1.1-4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0dcde6646fa9a97fd3692b3f6ae7daf7f3277d7500b6c253badeefa11db8956a"}, - {file = "google_re2-1.1-4-cp311-cp311-win32.whl", hash = "sha256:5f4f0229deb057348893574d5b0a96d055abebac6debf29d95b0c0e26524c9f6"}, - {file = "google_re2-1.1-4-cp311-cp311-win_amd64.whl", hash = "sha256:4713ddbe48a18875270b36a462b0eada5e84d6826f8df7edd328d8706b6f9d07"}, - {file = "google_re2-1.1-4-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:40a698300b8faddbb325662973f839489c89b960087060bd389c376828978a04"}, - {file = "google_re2-1.1-4-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:103d2d7ac92ba23911a151fd1fc7035cbf6dc92a7f6aea92270ebceb5cd5acd3"}, - {file = "google_re2-1.1-4-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:51fb7182bccab05e8258a2b6a63dda1a6b4a9e8dfb9b03ec50e50c49c2827dd4"}, - {file = "google_re2-1.1-4-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:65383022abd63d7b620221eba7935132b53244b8b463d8fdce498c93cf58b7b7"}, - {file = "google_re2-1.1-4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:396281fc68a9337157b3ffcd9392c6b7fcb8aab43e5bdab496262a81d56a4ecc"}, - {file = "google_re2-1.1-4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8198adcfcff1c680e052044124621730fc48d08005f90a75487f5651f1ebfce2"}, - {file = "google_re2-1.1-4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:81f7bff07c448aec4db9ca453d2126ece8710dbd9278b8bb09642045d3402a96"}, - {file = "google_re2-1.1-4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7dacf730fd7d6ec71b11d6404b0b26e230814bfc8e9bb0d3f13bec9b5531f8d"}, - {file = "google_re2-1.1-4-cp312-cp312-win32.whl", hash = "sha256:8c764f62f4b1d89d1ef264853b6dd9fee14a89e9b86a81bc2157fe3531425eb4"}, - {file = "google_re2-1.1-4-cp312-cp312-win_amd64.whl", hash = "sha256:0be2666df4bc5381a5d693585f9bbfefb0bfd3c07530d7e403f181f5de47254a"}, - {file = "google_re2-1.1-4-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:5cb1b63a0bfd8dd65d39d2f3b2e5ae0a06ce4b2ce5818a1d1fc78a786a252673"}, - {file = "google_re2-1.1-4-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:e41751ce6b67a95230edd0772226dc94c2952a2909674cd69df9804ed0125307"}, - {file = "google_re2-1.1-4-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:b998cfa2d50bf4c063e777c999a7e8645ec7e5d7baf43ad71b1e2e10bb0300c3"}, - {file = "google_re2-1.1-4-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:226ca3b0c2e970f3fc82001ac89e845ecc7a4bb7c68583e7a76cda70b61251a7"}, - {file = "google_re2-1.1-4-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:9adec1f734ebad7c72e56c85f205a281d8fe9bf6583bc21020157d3f2812ce89"}, - {file = "google_re2-1.1-4-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:9c34f3c64ba566af967d29e11299560e6fdfacd8ca695120a7062b6ed993b179"}, - {file = "google_re2-1.1-4-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b85385fe293838e0d0b6e19e6c48ba8c6f739ea92ce2e23b718afe7b343363"}, - {file = "google_re2-1.1-4-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4694daa8a8987cfb568847aa872f9990e930c91a68c892ead876411d4b9012c3"}, - {file = "google_re2-1.1-4-cp38-cp38-win32.whl", hash = "sha256:5e671e9be1668187e2995aac378de574fa40df70bb6f04657af4d30a79274ce0"}, - {file = "google_re2-1.1-4-cp38-cp38-win_amd64.whl", hash = "sha256:f66c164d6049a8299f6dfcfa52d1580576b4b9724d6fcdad2f36f8f5da9304b6"}, - {file = "google_re2-1.1-4-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:25cb17ae0993a48c70596f3a3ef5d659638106401cc8193f51c0d7961b3b3eb7"}, - {file = "google_re2-1.1-4-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:5f101f86d14ca94ca4dcf63cceaa73d351f2be2481fcaa29d9e68eeab0dc2a88"}, - {file = "google_re2-1.1-4-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:4e82591e85bf262a6d74cff152867e05fc97867c68ba81d6836ff8b0e7e62365"}, - {file = "google_re2-1.1-4-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:1f61c09b93ffd34b1e2557e5a9565039f935407a5786dbad46f64f1a484166e6"}, - {file = "google_re2-1.1-4-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:12b390ad8c7e74bab068732f774e75e0680dade6469b249a721f3432f90edfc3"}, - {file = "google_re2-1.1-4-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:1284343eb31c2e82ed2d8159f33ba6842238a56782c881b07845a6d85613b055"}, - {file = "google_re2-1.1-4-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c7b38e0daf2c06e4d3163f4c732ab3ad2521aecfed6605b69e4482c612da303"}, - {file = "google_re2-1.1-4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f4d4f0823e8b2f6952a145295b1ff25245ce9bb136aff6fe86452e507d4c1dd"}, - {file = "google_re2-1.1-4-cp39-cp39-win32.whl", hash = "sha256:1afae56b2a07bb48cfcfefaa15ed85bae26a68f5dc7f9e128e6e6ea36914e847"}, - {file = "google_re2-1.1-4-cp39-cp39-win_amd64.whl", hash = "sha256:aa7d6d05911ab9c8adbf3c225a7a120ab50fd2784ac48f2f0d140c0b7afc2b55"}, - {file = "google_re2-1.1-5-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:222fc2ee0e40522de0b21ad3bc90ab8983be3bf3cec3d349c80d76c8bb1a4beb"}, - {file = "google_re2-1.1-5-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d4763b0b9195b72132a4e7de8e5a9bf1f05542f442a9115aa27cfc2a8004f581"}, - {file = "google_re2-1.1-5-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:209649da10c9d4a93d8a4d100ecbf9cc3b0252169426bec3e8b4ad7e57d600cf"}, - {file = "google_re2-1.1-5-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:68813aa333c1604a2df4a495b2a6ed065d7c8aebf26cc7e7abb5a6835d08353c"}, - {file = "google_re2-1.1-5-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:370a23ec775ad14e9d1e71474d56f381224dcf3e72b15d8ca7b4ad7dd9cd5853"}, - {file = "google_re2-1.1-5-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:14664a66a3ddf6bc9e56f401bf029db2d169982c53eff3f5876399104df0e9a6"}, - {file = "google_re2-1.1-5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea3722cc4932cbcebd553b69dce1b4a73572823cff4e6a244f1c855da21d511"}, - {file = "google_re2-1.1-5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e14bb264c40fd7c627ef5678e295370cd6ba95ca71d835798b6e37502fc4c690"}, - {file = "google_re2-1.1-5-cp310-cp310-win32.whl", hash = "sha256:39512cd0151ea4b3969c992579c79b423018b464624ae955be685fc07d94556c"}, - {file = "google_re2-1.1-5-cp310-cp310-win_amd64.whl", hash = "sha256:ac66537aa3bc5504320d922b73156909e3c2b6da19739c866502f7827b3f9fdf"}, - {file = "google_re2-1.1-5-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5b5ea68d54890c9edb1b930dcb2658819354e5d3f2201f811798bbc0a142c2b4"}, - {file = "google_re2-1.1-5-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:33443511b6b83c35242370908efe2e8e1e7cae749c766b2b247bf30e8616066c"}, - {file = "google_re2-1.1-5-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:413d77bdd5ba0bfcada428b4c146e87707452ec50a4091ec8e8ba1413d7e0619"}, - {file = "google_re2-1.1-5-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:5171686e43304996a34baa2abcee6f28b169806d0e583c16d55e5656b092a414"}, - {file = "google_re2-1.1-5-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b284db130283771558e31a02d8eb8fb756156ab98ce80035ae2e9e3a5f307c4"}, - {file = "google_re2-1.1-5-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:296e6aed0b169648dc4b870ff47bd34c702a32600adb9926154569ef51033f47"}, - {file = "google_re2-1.1-5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:38d50e68ead374160b1e656bbb5d101f0b95fb4cc57f4a5c12100155001480c5"}, - {file = "google_re2-1.1-5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a0416a35921e5041758948bcb882456916f22845f66a93bc25070ef7262b72a"}, - {file = "google_re2-1.1-5-cp311-cp311-win32.whl", hash = "sha256:a1d59568bbb5de5dd56dd6cdc79907db26cce63eb4429260300c65f43469e3e7"}, - {file = "google_re2-1.1-5-cp311-cp311-win_amd64.whl", hash = "sha256:72f5a2f179648b8358737b2b493549370debd7d389884a54d331619b285514e3"}, - {file = "google_re2-1.1-5-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:cbc72c45937b1dc5acac3560eb1720007dccca7c9879138ff874c7f6baf96005"}, - {file = "google_re2-1.1-5-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:5fadd1417fbef7235fa9453dba4eb102e6e7d94b1e4c99d5fa3dd4e288d0d2ae"}, - {file = "google_re2-1.1-5-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:040f85c63cc02696485b59b187a5ef044abe2f99b92b4fb399de40b7d2904ccc"}, - {file = "google_re2-1.1-5-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:64e3b975ee6d9bbb2420494e41f929c1a0de4bcc16d86619ab7a87f6ea80d6bd"}, - {file = "google_re2-1.1-5-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8ee370413e00f4d828eaed0e83b8af84d7a72e8ee4f4bd5d3078bc741dfc430a"}, - {file = "google_re2-1.1-5-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:5b89383001079323f693ba592d7aad789d7a02e75adb5d3368d92b300f5963fd"}, - {file = "google_re2-1.1-5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:63cb4fdfbbda16ae31b41a6388ea621510db82feb8217a74bf36552ecfcd50ad"}, - {file = "google_re2-1.1-5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ebedd84ae8be10b7a71a16162376fd67a2386fe6361ef88c622dcf7fd679daf"}, - {file = "google_re2-1.1-5-cp312-cp312-win32.whl", hash = "sha256:c8e22d1692bc2c81173330c721aff53e47ffd3c4403ff0cd9d91adfd255dd150"}, - {file = "google_re2-1.1-5-cp312-cp312-win_amd64.whl", hash = "sha256:5197a6af438bb8c4abda0bbe9c4fbd6c27c159855b211098b29d51b73e4cbcf6"}, - {file = "google_re2-1.1-5-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:b6727e0b98417e114b92688ad2aa256102ece51f29b743db3d831df53faf1ce3"}, - {file = "google_re2-1.1-5-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:711e2b6417eb579c61a4951029d844f6b95b9b373b213232efd413659889a363"}, - {file = "google_re2-1.1-5-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:71ae8b3df22c5c154c8af0f0e99d234a450ef1644393bc2d7f53fc8c0a1e111c"}, - {file = "google_re2-1.1-5-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:94a04e214bc521a3807c217d50cf099bbdd0c0a80d2d996c0741dbb995b5f49f"}, - {file = "google_re2-1.1-5-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:a770f75358508a9110c81a1257721f70c15d9bb592a2fb5c25ecbd13566e52a5"}, - {file = "google_re2-1.1-5-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:07c9133357f7e0b17c6694d5dcb82e0371f695d7c25faef2ff8117ef375343ff"}, - {file = "google_re2-1.1-5-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:204ca6b1cf2021548f4a9c29ac015e0a4ab0a7b6582bf2183d838132b60c8fda"}, - {file = "google_re2-1.1-5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0b95857c2c654f419ca684ec38c9c3325c24e6ba7d11910a5110775a557bb18"}, - {file = "google_re2-1.1-5-cp38-cp38-win32.whl", hash = "sha256:347ac770e091a0364e822220f8d26ab53e6fdcdeaec635052000845c5a3fb869"}, - {file = "google_re2-1.1-5-cp38-cp38-win_amd64.whl", hash = "sha256:ec32bb6de7ffb112a07d210cf9f797b7600645c2d5910703fa07f456dd2150e0"}, - {file = "google_re2-1.1-5-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:eb5adf89060f81c5ff26c28e261e6b4997530a923a6093c9726b8dec02a9a326"}, - {file = "google_re2-1.1-5-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:a22630c9dd9ceb41ca4316bccba2643a8b1d5c198f21c00ed5b50a94313aaf10"}, - {file = "google_re2-1.1-5-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:544dc17fcc2d43ec05f317366375796351dec44058e1164e03c3f7d050284d58"}, - {file = "google_re2-1.1-5-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:19710af5ea88751c7768575b23765ce0dfef7324d2539de576f75cdc319d6654"}, - {file = "google_re2-1.1-5-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:f82995a205e08ad896f4bd5ce4847c834fab877e1772a44e5f262a647d8a1dec"}, - {file = "google_re2-1.1-5-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:63533c4d58da9dc4bc040250f1f52b089911699f0368e0e6e15f996387a984ed"}, - {file = "google_re2-1.1-5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79e00fcf0cb04ea35a22b9014712d448725ce4ddc9f08cc818322566176ca4b0"}, - {file = "google_re2-1.1-5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bc41afcefee2da6c4ed883a93d7f527c4b960cd1d26bbb0020a7b8c2d341a60a"}, - {file = "google_re2-1.1-5-cp39-cp39-win32.whl", hash = "sha256:486730b5e1f1c31b0abc6d80abe174ce4f1188fe17d1b50698f2bf79dc6e44be"}, - {file = "google_re2-1.1-5-cp39-cp39-win_amd64.whl", hash = "sha256:4de637ca328f1d23209e80967d1b987d6b352cd01b3a52a84b4d742c69c3da6c"}, - {file = "google_re2-1.1-6-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:621e9c199d1ff0fdb2a068ad450111a84b3bf14f96dfe5a8a7a0deae5f3f4cce"}, - {file = "google_re2-1.1-6-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:220acd31e7dde95373f97c3d1f3b3bd2532b38936af28b1917ee265d25bebbf4"}, - {file = "google_re2-1.1-6-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:db34e1098d164f76251a6ece30e8f0ddfd65bb658619f48613ce71acb3f9cbdb"}, - {file = "google_re2-1.1-6-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:5152bac41d8073977582f06257219541d0fc46ad99b0bbf30e8f60198a43b08c"}, - {file = "google_re2-1.1-6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:6191294799e373ee1735af91f55abd23b786bdfd270768a690d9d55af9ea1b0d"}, - {file = "google_re2-1.1-6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:070cbafbb4fecbb02e98feb28a1eb292fb880f434d531f38cc33ee314b521f1f"}, - {file = "google_re2-1.1-6-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8437d078b405a59a576cbed544490fe041140f64411f2d91012e8ec05ab8bf86"}, - {file = "google_re2-1.1-6-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f00f9a9af8896040e37896d9b9fc409ad4979f1ddd85bb188694a7d95ddd1164"}, - {file = "google_re2-1.1-6-cp310-cp310-win32.whl", hash = "sha256:df26345f229a898b4fd3cafd5f82259869388cee6268fc35af16a8e2293dd4e5"}, - {file = "google_re2-1.1-6-cp310-cp310-win_amd64.whl", hash = "sha256:3665d08262c57c9b28a5bdeb88632ad792c4e5f417e5645901695ab2624f5059"}, - {file = "google_re2-1.1-6-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b26b869d8aa1d8fe67c42836bf3416bb72f444528ee2431cfb59c0d3e02c6ce3"}, - {file = "google_re2-1.1-6-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:41fd4486c57dea4f222a6bb7f1ff79accf76676a73bdb8da0fcbd5ba73f8da71"}, - {file = "google_re2-1.1-6-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:0ee378e2e74e25960070c338c28192377c4dd41e7f4608f2688064bd2badc41e"}, - {file = "google_re2-1.1-6-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:a00cdbf662693367b36d075b29feb649fd7ee1b617cf84f85f2deebeda25fc64"}, - {file = "google_re2-1.1-6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4c09455014217a41499432b8c8f792f25f3df0ea2982203c3a8c8ca0e7895e69"}, - {file = "google_re2-1.1-6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6501717909185327935c7945e23bb5aa8fc7b6f237b45fe3647fa36148662158"}, - {file = "google_re2-1.1-6-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3510b04790355f199e7861c29234081900e1e1cbf2d1484da48aa0ba6d7356ab"}, - {file = "google_re2-1.1-6-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c0e64c187ca406764f9e9ad6e750d62e69ed8f75bf2e865d0bfbc03b642361c"}, - {file = "google_re2-1.1-6-cp311-cp311-win32.whl", hash = "sha256:2a199132350542b0de0f31acbb3ca87c3a90895d1d6e5235f7792bb0af02e523"}, - {file = "google_re2-1.1-6-cp311-cp311-win_amd64.whl", hash = "sha256:83bdac8ceaece8a6db082ea3a8ba6a99a2a1ee7e9f01a9d6d50f79c6f251a01d"}, - {file = "google_re2-1.1-6-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:81985ff894cd45ab5a73025922ac28c0707759db8171dd2f2cc7a0e856b6b5ad"}, - {file = "google_re2-1.1-6-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:5635af26065e6b45456ccbea08674ae2ab62494008d9202df628df3b267bc095"}, - {file = "google_re2-1.1-6-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:813b6f04de79f4a8fdfe05e2cb33e0ccb40fe75d30ba441d519168f9d958bd54"}, - {file = "google_re2-1.1-6-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:5ec2f5332ad4fd232c3f2d6748c2c7845ccb66156a87df73abcc07f895d62ead"}, - {file = "google_re2-1.1-6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:5a687b3b32a6cbb731647393b7c4e3fde244aa557f647df124ff83fb9b93e170"}, - {file = "google_re2-1.1-6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:39a62f9b3db5d3021a09a47f5b91708b64a0580193e5352751eb0c689e4ad3d7"}, - {file = "google_re2-1.1-6-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ca0f0b45d4a1709cbf5d21f355e5809ac238f1ee594625a1e5ffa9ff7a09eb2b"}, - {file = "google_re2-1.1-6-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a64b3796a7a616c7861247bd061c9a836b5caf0d5963e5ea8022125601cf7b09"}, - {file = "google_re2-1.1-6-cp312-cp312-win32.whl", hash = "sha256:32783b9cb88469ba4cd9472d459fe4865280a6b1acdad4480a7b5081144c4eb7"}, - {file = "google_re2-1.1-6-cp312-cp312-win_amd64.whl", hash = "sha256:259ff3fd2d39035b9cbcbf375995f83fa5d9e6a0c5b94406ff1cc168ed41d6c6"}, - {file = "google_re2-1.1-6-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:e4711bcffe190acd29104d8ecfea0c0e42b754837de3fb8aad96e6cc3c613cdc"}, - {file = "google_re2-1.1-6-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:4d081cce43f39c2e813fe5990e1e378cbdb579d3f66ded5bade96130269ffd75"}, - {file = "google_re2-1.1-6-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:4f123b54d48450d2d6b14d8fad38e930fb65b5b84f1b022c10f2913bd956f5b5"}, - {file = "google_re2-1.1-6-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:e1928b304a2b591a28eb3175f9db7f17c40c12cf2d4ec2a85fdf1cc9c073ff91"}, - {file = "google_re2-1.1-6-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:3a69f76146166aec1173003c1f547931bdf288c6b135fda0020468492ac4149f"}, - {file = "google_re2-1.1-6-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:fc08c388f4ebbbca345e84a0c56362180d33d11cbe9ccfae663e4db88e13751e"}, - {file = "google_re2-1.1-6-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b057adf38ce4e616486922f2f47fc7d19c827ba0a7f69d540a3664eba2269325"}, - {file = "google_re2-1.1-6-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4138c0b933ab099e96f5d8defce4486f7dfd480ecaf7f221f2409f28022ccbc5"}, - {file = "google_re2-1.1-6-cp38-cp38-win32.whl", hash = "sha256:9693e45b37b504634b1abbf1ee979471ac6a70a0035954592af616306ab05dd6"}, - {file = "google_re2-1.1-6-cp38-cp38-win_amd64.whl", hash = "sha256:5674d437baba0ea287a5a7f8f81f24265d6ae8f8c09384e2ef7b6f84b40a7826"}, - {file = "google_re2-1.1-6-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:7783137cb2e04f458a530c6d0ee9ef114815c1d48b9102f023998c371a3b060e"}, - {file = "google_re2-1.1-6-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:a49b7153935e7a303675f4deb5f5d02ab1305adefc436071348706d147c889e0"}, - {file = "google_re2-1.1-6-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:a96a8bb309182090704593c60bdb369a2756b38fe358bbf0d40ddeb99c71769f"}, - {file = "google_re2-1.1-6-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:dff3d4be9f27ef8ec3705eed54f19ef4ab096f5876c15fe011628c69ba3b561c"}, - {file = "google_re2-1.1-6-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:40f818b0b39e26811fa677978112a8108269977fdab2ba0453ac4363c35d9e66"}, - {file = "google_re2-1.1-6-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:8a7e53538cdb40ef4296017acfbb05cab0c19998be7552db1cfb85ba40b171b9"}, - {file = "google_re2-1.1-6-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ee18e7569fb714e5bb8c42809bf8160738637a5e71ed5a4797757a1fb4dc4de"}, - {file = "google_re2-1.1-6-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1cda4f6d1a7d5b43ea92bc395f23853fba0caf8b1e1efa6e8c48685f912fcb89"}, - {file = "google_re2-1.1-6-cp39-cp39-win32.whl", hash = "sha256:6a9cdbdc36a2bf24f897be6a6c85125876dc26fea9eb4247234aec0decbdccfd"}, - {file = "google_re2-1.1-6-cp39-cp39-win_amd64.whl", hash = "sha256:73f646cecfad7cc5b4330b4192c25f2e29730a3b8408e089ffd2078094208196"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:46e7ed614ffaafccae017542d68e9bbf664c8c1e5ca37046adee640bbee4846e"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:3c8d2c0a03e9fd24f78b624cf7e40ac32aaf4837fda7339e2c22ca42e3dca512"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:7fee39772aa2e1fe91b7694acc48888ac6fa0ca51f8805464272a2089b362c96"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:b2bcf1a43853cee5a088f40c75fe48a6e3ec7addae1d3f3d47ce679e2bb8936b"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:69f9b156de6f93ea00844f6cd4f2ed5124f9f01692da7ae0fe9a9516df6c63c2"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:f70db559ad768ad68a4d9897cb19fd13f7761e60208f475eb8a69b8aa4b6df20"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7bc4fa65ecec3d63ea6048ecaf8784560bbfb31191c02ffaa87771e4a2f813e1"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7480309b133c39f2afb19ff28bc30d27b364cbc56b5d46918d1b4f1fb2e13183"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-win32.whl", hash = "sha256:1950f499b277789267afee1755394cd959898d0b192b7052bb3186000aff27de"}, + {file = "google_re2-1.1.20240702-1-cp310-cp310-win_amd64.whl", hash = "sha256:2269ff8c2e1de0ee77736bd9f65b5c9f7cd43544eff825dc7b4ab2bf1f1901e4"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:9802a5a5ec585048300d5a8ec522b15057b8f758fe9f8b0ec65ac2927a36a1aa"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:757cbefbe9f998c274c94afd8bf2a4789b983287f33d4f975389c1027ed686c6"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:7e1d36bd20ce04c1198fe482b6f3ce7dd699e1276946a9a2cf31b2e53026a370"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:bb6b2e456cd0002700ad58c3474fc9e342853ff2ef9f95a1f6606c819ffaf3d9"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:71a71d7f9e616d3067e913a1432111593ee41aab2e0ed21ecbcf039451b9d899"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:16bd5389baeb98936fb05926e6a38826c473206c13f1f789f7643a29dcccccc3"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4b920c1b0356f0359b35a0e6d0b5ff12fba9067d3c455a9811952fbc9a213268"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:42c2c39b7378e928d197e4fdf4a23c9338f29cad6d4c5c5c06a2ad7c8c2a3ebc"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-win32.whl", hash = "sha256:d7fd6b6be4f86d4b6503689b492970920f4b50a8ac02427bc975c73bcedda374"}, + {file = "google_re2-1.1.20240702-1-cp311-cp311-win_amd64.whl", hash = "sha256:22217d7c8f57bb6c5e74e171a510b12cdde4eddc2528f89aa0f50e3fc10fe17e"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:00dcb09b15f92b490ae52f328cca229de2a157c8748f10df94dfea7637d32617"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:2ffc6fbe70ccf9fb66d0ab16ccad0f661031ceb0eec3d73d170cd782a93d62d5"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:652e517b6db6cbf7403bab370940718208b15e811fefe7635d4e78a8037f096b"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:449ae8286d644d24af8a6eb81eeba6995388581739920b80d9e4b063eefe0322"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:40568559b0a10240c10377fb5cdd46c9115da8a627c567db68c4dc29103a2ce9"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8139df33d61aac335726b6f32108e763ba2932569c63d2b3ebf6e36a40449223"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e4a2b88516b4140891a014c6e5b774f57db90c8bd0ccf0554e9f9b99ee1e942"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d95b1e06298299b28e23288a6bfd3c6f13e0f7a01c1f2e86e74073928676cf88"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-win32.whl", hash = "sha256:fb025d4bcd1a3032546da048a6dcb39359967f4df6b3514e76e983256235f694"}, + {file = "google_re2-1.1.20240702-1-cp312-cp312-win_amd64.whl", hash = "sha256:a7e3129d31e12d51397d603adf45bd696135a5d9d61bc33643bc5d2e4366070b"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:bc2f853ace690fb475f68b82b61e3b0ffe2a8603f052853eb21587ac7dcca537"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:974ac711ade3171004e9552d9e069cbe1a8de02c5e45a56101f8396f69a3e3c2"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:ad3dc0084cad59a298ffa52c9def2f1b5332d396d76f3828237ac7141b6e7e7d"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:4e13241b8df4096d840f98993f39c62cff0cdab9d06c86b156d2944cfb3f0814"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:6887fe9c291ad42003ad84e11c0a6fac0169adbda9cbc898b8657610512e4ce5"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:82824fa71f51a269cd9bad653d53e6ba5bee9095da059455ee1c6cc7e4ba014b"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cde1453681c2ab1648b9e7aed3861ccedce52c85b24873edd1ec1e92b4b3d7d4"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7388c5aadcc5489291d2804ecc384c2e3bb64832e1b46afd44d7bca6c948b615"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-win32.whl", hash = "sha256:cb20853af1104b5180eb2daea66a481723553aa66bf5a5c4c58420c7369364cb"}, + {file = "google_re2-1.1.20240702-1-cp38-cp38-win_amd64.whl", hash = "sha256:a7f0d950ba9508ac1b2d89837f4a4c74092ae3af015a9797b80570ee87b7d7d5"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:56c2a97d3d38345939fb3ff02d154f5c6ec929e0765723cfd390720f581d2581"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:dfe657979ab96da72f55b03ecdede5467a7193266ce7a0b85013819f052d231f"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:c6e218b831dfc89f5004c1bb7ae9182ec5ddc4d46e6035f636ba96344d5b7478"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:304ed3f740541742e7ef5c162b36619efdac7345f1429ab6d70aefaae9a5658d"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:05f5683e1bcfac8adcc0dbfe3ecb0866cec6eea2c7d419271dfd72930b368ce4"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:39c642041428efaa48f35adf4475a014ce272f87a453c6dff68f2b05793d516f"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7d3d1e58f374510101273cda1b6c2b45c178eb94f4c1bd17f7f750cea8d1c85a"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:386d2a8c4b10daaeda03adc7f65c457f67ee8cb18b4f9b4178a44ed62ab291df"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-win32.whl", hash = "sha256:f853c3c68bed0d127e6ef8b29ee85461d9d0a4fa407e3f97e41ecd6803d24d88"}, + {file = "google_re2-1.1.20240702-1-cp39-cp39-win_amd64.whl", hash = "sha256:5e35c8db1bf58ddf1ac28782d6dca5894a0331fc0d33b2a2ce6eb59234d74312"}, + {file = "google_re2-1.1.20240702.tar.gz", hash = "sha256:8788db69f6c93cb229df62c74b2d9aa8e64bf754e9495700f85812afa32efd2b"}, ] [[package]] name = "googleapis-common-protos" -version = "1.60.0" +version = "1.66.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" files = [ - {file = "googleapis-common-protos-1.60.0.tar.gz", hash = "sha256:e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"}, - {file = "googleapis_common_protos-1.60.0-py2.py3-none-any.whl", hash = "sha256:69f9bbcc6acde92cab2db95ce30a70bd2b81d20b12eff3f1aabaffcbe8a93918"}, + {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, + {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, ] [package.dependencies] -protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] @@ -1933,15 +2230,18 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.7" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "inflect" version = "5.6.2" @@ -2007,20 +2307,17 @@ files = [ [[package]] name = "isort" -version = "5.12.0" +version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" files = [ - {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, - {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, ] [package.extras] -colors = ["colorama (>=0.4.3)"] -pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] +colors = ["colorama (>=0.4.6)"] [[package]] name = "itypes" @@ -2123,92 +2420,92 @@ pyasn1 = ">=0.4.6" [[package]] name = "markupsafe" -version = "2.1.3" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] name = "marshmallow" -version = "3.20.1" +version = "3.23.1" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, - {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, + {file = "marshmallow-3.23.1-py3-none-any.whl", hash = "sha256:fece2eb2c941180ea1b7fcbd4a83c51bfdd50093fdd3ad2585ee5e1df2508491"}, + {file = "marshmallow-3.23.1.tar.gz", hash = "sha256:3a8dfda6edd8dcdbf216c0ede1d1e78d230a6dc9c5a088f58c4083b974a0d468"}, ] [package.dependencies] packaging = ">=17.0" [package.extras] -dev = ["flake8 (==6.0.0)", "flake8-bugbear (==23.7.10)", "mypy (==1.4.1)", "pre-commit (>=2.4,<4.0)", "pytest", "pytz", "simplejson", "tox"] -docs = ["alabaster (==0.7.13)", "autodocsumm (==0.2.11)", "sphinx (==7.0.1)", "sphinx-issues (==3.0.1)", "sphinx-version-warning (==1.1.2)"] -lint = ["flake8 (==6.0.0)", "flake8-bugbear (==23.7.10)", "mypy (==1.4.1)", "pre-commit (>=2.4,<4.0)"] -tests = ["pytest", "pytz", "simplejson"] +dev = ["marshmallow[tests]", "pre-commit (>=3.5,<5.0)", "tox"] +docs = ["alabaster (==1.0.0)", "autodocsumm (==0.2.14)", "sphinx (==8.1.3)", "sphinx-issues (==5.0.0)", "sphinx-version-warning (==1.1.2)"] +tests = ["pytest", "simplejson"] [[package]] name = "mccabe" @@ -2234,13 +2531,13 @@ files = [ [[package]] name = "moto" -version = "4.1.14" +version = "4.1.15" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "moto-4.1.14-py2.py3-none-any.whl", hash = "sha256:7d3bd748a34641715ba469c761f72fb8ec18f349987c98f5a0f9be85a07a9911"}, - {file = "moto-4.1.14.tar.gz", hash = "sha256:545afeb4df94dfa730e2d7e87366dc26b4a33c2891f462cbb049f040c80ed1ec"}, + {file = "moto-4.1.15-py2.py3-none-any.whl", hash = "sha256:3fbcf91090692c30117d275fb34b48a075a6f65d4712ba6c4d004ffab976db46"}, + {file = "moto-4.1.15.tar.gz", hash = "sha256:272236d312457b324c645741ee589924fd61a96b84680dc2e607f8663c563551"}, ] [package.dependencies] @@ -2272,6 +2569,7 @@ efs = ["sshpubkeys (>=3.1.0)"] eks = ["sshpubkeys (>=3.1.0)"] glue = ["pyparsing (>=3.0.7)"] iotdata = ["jsondiff (>=1.1.2)"] +resourcegroupstaggingapi = ["PyYAML (>=5.1)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "ecdsa (!=0.15)", "graphql-core", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.2.8)", "py-partiql-parser (==0.3.6)", "pyparsing (>=3.0.7)", "python-jose[cryptography] (>=3.1.0,<4.0.0)", "sshpubkeys (>=3.1.0)"] route53resolver = ["sshpubkeys (>=3.1.0)"] s3 = ["PyYAML (>=5.1)", "py-partiql-parser (==0.3.6)"] s3crc32c = ["PyYAML (>=5.1)", "crc32c", "py-partiql-parser (==0.3.6)"] @@ -2281,50 +2579,99 @@ xray = ["aws-xray-sdk (>=0.93,!=0.96)", "setuptools"] [[package]] name = "msal" -version = "1.28.0" +version = "1.31.1" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=3.7" files = [ - {file = "msal-1.28.0-py3-none-any.whl", hash = "sha256:3064f80221a21cd535ad8c3fafbb3a3582cd9c7e9af0bb789ae14f726a0ca99b"}, - {file = "msal-1.28.0.tar.gz", hash = "sha256:80bbabe34567cb734efd2ec1869b2d98195c927455369d8077b3c542088c5c9d"}, + {file = "msal-1.31.1-py3-none-any.whl", hash = "sha256:29d9882de247e96db01386496d59f29035e5e841bcac892e6d7bf4390bf6bd17"}, + {file = "msal-1.31.1.tar.gz", hash = "sha256:11b5e6a3f802ffd3a72107203e20c4eac6ef53401961b880af2835b723d80578"}, ] [package.dependencies] -cryptography = ">=0.6,<45" +cryptography = ">=2.5,<46" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" [package.extras] -broker = ["pymsalruntime (>=0.13.2,<0.15)"] +broker = ["pymsalruntime (>=0.14,<0.18)", "pymsalruntime (>=0.17,<0.18)"] [[package]] name = "msal-extensions" -version = "1.0.0" +version = "1.2.0" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"}, - {file = "msal_extensions-1.0.0-py2.py3-none-any.whl", hash = "sha256:91e3db9620b822d0ed2b4d1850056a0f133cba04455e62f11612e40f5502f2ee"}, + {file = "msal_extensions-1.2.0-py3-none-any.whl", hash = "sha256:cf5ba83a2113fa6dc011a254a72f1c223c88d7dfad74cc30617c4679a417704d"}, + {file = "msal_extensions-1.2.0.tar.gz", hash = "sha256:6f41b320bfd2933d631a215c91ca0dd3e67d84bd1a2f50ce917d5874ec646bef"}, ] [package.dependencies] -msal = ">=0.4.1,<2.0.0" -portalocker = [ - {version = ">=1.0,<3", markers = "python_version >= \"3.5\" and platform_system != \"Windows\""}, - {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""}, +msal = ">=1.29,<2" +portalocker = ">=1.4,<3" + +[[package]] +name = "mypy" +version = "1.13.0" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a"}, + {file = "mypy-1.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80"}, + {file = "mypy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b2353a44d2179846a096e25691d54d59904559f4232519d420d64da6828a3a7"}, + {file = "mypy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0730d1c6a2739d4511dc4253f8274cdd140c55c32dfb0a4cf8b7a43f40abfa6f"}, + {file = "mypy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:c5fc54dbb712ff5e5a0fca797e6e0aa25726c7e72c6a5850cfd2adbc1eb0a372"}, + {file = "mypy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:581665e6f3a8a9078f28d5502f4c334c0c8d802ef55ea0e7276a6e409bc0d82d"}, + {file = "mypy-1.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3ddb5b9bf82e05cc9a627e84707b528e5c7caaa1c55c69e175abb15a761cec2d"}, + {file = "mypy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20c7ee0bc0d5a9595c46f38beb04201f2620065a93755704e141fcac9f59db2b"}, + {file = "mypy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3790ded76f0b34bc9c8ba4def8f919dd6a46db0f5a6610fb994fe8efdd447f73"}, + {file = "mypy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:51f869f4b6b538229c1d1bcc1dd7d119817206e2bc54e8e374b3dfa202defcca"}, + {file = "mypy-1.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5"}, + {file = "mypy-1.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e"}, + {file = "mypy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2"}, + {file = "mypy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0"}, + {file = "mypy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2"}, + {file = "mypy-1.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7"}, + {file = "mypy-1.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62"}, + {file = "mypy-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8"}, + {file = "mypy-1.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7"}, + {file = "mypy-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc"}, + {file = "mypy-1.13.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:100fac22ce82925f676a734af0db922ecfea991e1d7ec0ceb1e115ebe501301a"}, + {file = "mypy-1.13.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7bcb0bb7f42a978bb323a7c88f1081d1b5dee77ca86f4100735a6f541299d8fb"}, + {file = "mypy-1.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bde31fc887c213e223bbfc34328070996061b0833b0a4cfec53745ed61f3519b"}, + {file = "mypy-1.13.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:07de989f89786f62b937851295ed62e51774722e5444a27cecca993fc3f9cd74"}, + {file = "mypy-1.13.0-cp38-cp38-win_amd64.whl", hash = "sha256:4bde84334fbe19bad704b3f5b78c4abd35ff1026f8ba72b29de70dda0916beb6"}, + {file = "mypy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0246bcb1b5de7f08f2826451abd947bf656945209b140d16ed317f65a17dc7dc"}, + {file = "mypy-1.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7f5b7deae912cf8b77e990b9280f170381fdfbddf61b4ef80927edd813163732"}, + {file = "mypy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7029881ec6ffb8bc233a4fa364736789582c738217b133f1b55967115288a2bc"}, + {file = "mypy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3e38b980e5681f28f033f3be86b099a247b13c491f14bb8b1e1e134d23bb599d"}, + {file = "mypy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6789be98a2017c912ae6ccb77ea553bbaf13d27605d2ca20a76dfbced631b24"}, + {file = "mypy-1.13.0-py3-none-any.whl", hash = "sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a"}, + {file = "mypy-1.13.0.tar.gz", hash = "sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e"}, ] +[package.dependencies] +mypy-extensions = ">=1.0.0" +typing-extensions = ">=4.6.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +faster-cache = ["orjson"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] +reports = ["lxml"] + [[package]] name = "mypy-boto3-dynamodb" -version = "1.33.0" -description = "Type annotations for boto3.DynamoDB 1.33.0 service generated with mypy-boto3-builder 7.20.3" +version = "1.35.74" +description = "Type annotations for boto3 DynamoDB 1.35.74 service generated with mypy-boto3-builder 8.5.0" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mypy-boto3-dynamodb-1.33.0.tar.gz", hash = "sha256:2cfe1089c89de61b1ec0e69a72ba3e6865a013ea0a37d318ab564983785d42f9"}, - {file = "mypy_boto3_dynamodb-1.33.0-py3-none-any.whl", hash = "sha256:619ea2cc311ced0ecb44b6e8d3bf3dd851fb7c53a34128b4ff6d6e6a11fdd41f"}, + {file = "mypy_boto3_dynamodb-1.35.74-py3-none-any.whl", hash = "sha256:b693b459abb1910cbb28f3a478ced8c6e6515f1bf136b45aca1a76b6146b5adb"}, + {file = "mypy_boto3_dynamodb-1.35.74.tar.gz", hash = "sha256:a815d044b8f5f4ba308ea3114916565fbd932fcaf218f8d0288b2840415f9c46"}, ] [package.dependencies] @@ -2388,18 +2735,19 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] [[package]] name = "opencensus" -version = "0.11.2" +version = "0.11.4" description = "A stats collection and distributed tracing framework" optional = false python-versions = "*" files = [ - {file = "opencensus-0.11.2-py2.py3-none-any.whl", hash = "sha256:7a1a34b87c8db3d9984e97ff05739058342f24de1d700766d59044eee8fb3b3f"}, - {file = "opencensus-0.11.2.tar.gz", hash = "sha256:6154042a236b9ecdd55a23dfbb2743bb3deacd0687e3e0391ec2e0c74950d66f"}, + {file = "opencensus-0.11.4-py2.py3-none-any.whl", hash = "sha256:a18487ce68bc19900336e0ff4655c5a116daf10c1b3685ece8d971bddad6a864"}, + {file = "opencensus-0.11.4.tar.gz", hash = "sha256:cbef87d8b8773064ab60e5c2a1ced58bbaa38a6d052c41aec224958ce544eff2"}, ] [package.dependencies] google-api-core = {version = ">=1.0.0,<3.0.0", markers = "python_version >= \"3.6\""} opencensus-context = ">=0.1.3" +six = ">=1.16,<2.0" [[package]] name = "opencensus-context" @@ -2414,19 +2762,19 @@ files = [ [[package]] name = "opencensus-ext-azure" -version = "1.1.9" +version = "1.1.13" description = "OpenCensus Azure Monitor Exporter" optional = false python-versions = "*" files = [ - {file = "opencensus-ext-azure-1.1.9.tar.gz", hash = "sha256:507608b77e9d8eaab6ffd5ff11b7ceb87f54e4a6a940c4b814331b4d1b034151"}, - {file = "opencensus_ext_azure-1.1.9-py2.py3-none-any.whl", hash = "sha256:166c858e70fb7b39d01ff7d9f745588c521070ff2cfe177f77b63ee87f5076ac"}, + {file = "opencensus-ext-azure-1.1.13.tar.gz", hash = "sha256:aec30472177005379ba56a702a097d618c5f57558e1bb6676ec75f948130692a"}, + {file = "opencensus_ext_azure-1.1.13-py2.py3-none-any.whl", hash = "sha256:06001fac6f8588ba00726a3a7c6c7f2fc88bc8ad12a65afdca657923085393dd"}, ] [package.dependencies] azure-core = ">=1.12.0,<2.0.0" azure-identity = ">=1.5.0,<2.0.0" -opencensus = ">=0.11.2,<1.0.0" +opencensus = ">=0.11.4,<1.0.0" psutil = ">=5.6.3" requests = ">=2.19.0" @@ -2458,13 +2806,13 @@ files = [ [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] @@ -2500,28 +2848,29 @@ files = [ [[package]] name = "platformdirs" -version = "3.10.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" -version = "1.2.0" +version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"}, - {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"}, + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] @@ -2530,13 +2879,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "portalocker" -version = "2.7.0" +version = "2.10.1" description = "Wraps the portalocker recipe for easy usage" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "portalocker-2.7.0-py2.py3-none-any.whl", hash = "sha256:a07c5b4f3985c3cf4798369631fb7011adb498e2a46d8440efc75a8f29a0f983"}, - {file = "portalocker-2.7.0.tar.gz", hash = "sha256:032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51"}, + {file = "portalocker-2.10.1-py3-none-any.whl", hash = "sha256:53a5984ebc86a025552264b459b46a2086e269b21823cb572f8f28ee759e45bf"}, + {file = "portalocker-2.10.1.tar.gz", hash = "sha256:ef1bf844e878ab08aee7e40184156e1151f228f103aa5c6bd0724cc330960f8f"}, ] [package.dependencies] @@ -2545,7 +2894,7 @@ pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} [package.extras] docs = ["sphinx (>=1.7.1)"] redis = ["redis"] -tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)"] +tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] [[package]] name = "pre-commit" @@ -2565,211 +2914,226 @@ nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" +[[package]] +name = "proto-plus" +version = "1.25.0" +description = "Beautiful, Pythonic protocol buffers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "proto_plus-1.25.0-py3-none-any.whl", hash = "sha256:c91fc4a65074ade8e458e95ef8bac34d4008daa7cce4a12d6707066fca648961"}, + {file = "proto_plus-1.25.0.tar.gz", hash = "sha256:fbb17f57f7bd05a68b7707e745e26528b0b3c34e378db91eef93912c54982d91"}, +] + +[package.dependencies] +protobuf = ">=3.19.0,<6.0.0dev" + +[package.extras] +testing = ["google-api-core (>=1.31.5)"] + [[package]] name = "protobuf" -version = "4.23.4" +version = "5.29.1" description = "" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "protobuf-4.23.4-cp310-abi3-win32.whl", hash = "sha256:5fea3c64d41ea5ecf5697b83e41d09b9589e6f20b677ab3c48e5f242d9b7897b"}, - {file = "protobuf-4.23.4-cp310-abi3-win_amd64.whl", hash = "sha256:7b19b6266d92ca6a2a87effa88ecc4af73ebc5cfde194dc737cf8ef23a9a3b12"}, - {file = "protobuf-4.23.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8547bf44fe8cec3c69e3042f5c4fb3e36eb2a7a013bb0a44c018fc1e427aafbd"}, - {file = "protobuf-4.23.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:fee88269a090ada09ca63551bf2f573eb2424035bcf2cb1b121895b01a46594a"}, - {file = "protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:effeac51ab79332d44fba74660d40ae79985901ac21bca408f8dc335a81aa597"}, - {file = "protobuf-4.23.4-cp37-cp37m-win32.whl", hash = "sha256:c3e0939433c40796ca4cfc0fac08af50b00eb66a40bbbc5dee711998fb0bbc1e"}, - {file = "protobuf-4.23.4-cp37-cp37m-win_amd64.whl", hash = "sha256:9053df6df8e5a76c84339ee4a9f5a2661ceee4a0dab019e8663c50ba324208b0"}, - {file = "protobuf-4.23.4-cp38-cp38-win32.whl", hash = "sha256:e1c915778d8ced71e26fcf43c0866d7499891bca14c4368448a82edc61fdbc70"}, - {file = "protobuf-4.23.4-cp38-cp38-win_amd64.whl", hash = "sha256:351cc90f7d10839c480aeb9b870a211e322bf05f6ab3f55fcb2f51331f80a7d2"}, - {file = "protobuf-4.23.4-cp39-cp39-win32.whl", hash = "sha256:6dd9b9940e3f17077e820b75851126615ee38643c2c5332aa7a359988820c720"}, - {file = "protobuf-4.23.4-cp39-cp39-win_amd64.whl", hash = "sha256:0a5759f5696895de8cc913f084e27fd4125e8fb0914bb729a17816a33819f474"}, - {file = "protobuf-4.23.4-py3-none-any.whl", hash = "sha256:e9d0be5bf34b275b9f87ba7407796556abeeba635455d036c7351f7c183ef8ff"}, - {file = "protobuf-4.23.4.tar.gz", hash = "sha256:ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9"}, + {file = "protobuf-5.29.1-cp310-abi3-win32.whl", hash = "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110"}, + {file = "protobuf-5.29.1-cp310-abi3-win_amd64.whl", hash = "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34"}, + {file = "protobuf-5.29.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18"}, + {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155"}, + {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d"}, + {file = "protobuf-5.29.1-cp38-cp38-win32.whl", hash = "sha256:50879eb0eb1246e3a5eabbbe566b44b10348939b7cc1b267567e8c3d07213853"}, + {file = "protobuf-5.29.1-cp38-cp38-win_amd64.whl", hash = "sha256:027fbcc48cea65a6b17028510fdd054147057fa78f4772eb547b9274e5219331"}, + {file = "protobuf-5.29.1-cp39-cp39-win32.whl", hash = "sha256:5a41deccfa5e745cef5c65a560c76ec0ed8e70908a67cc8f4da5fce588b50d57"}, + {file = "protobuf-5.29.1-cp39-cp39-win_amd64.whl", hash = "sha256:012ce28d862ff417fd629285aca5d9772807f15ceb1a0dbd15b88f58c776c98c"}, + {file = "protobuf-5.29.1-py3-none-any.whl", hash = "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0"}, + {file = "protobuf-5.29.1.tar.gz", hash = "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb"}, ] [[package]] name = "psutil" -version = "5.9.5" +version = "6.1.0" description = "Cross-platform lib for process and system monitoring in Python." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"}, - {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"}, - {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"}, - {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"}, - {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"}, - {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"}, - {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, - {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, + {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, + {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, + {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, + {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, + {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, + {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, + {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, + {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, ] [package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] +dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +test = ["pytest", "pytest-xdist", "setuptools"] [[package]] name = "psycopg2-binary" -version = "2.9.9" +version = "2.9.10" description = "psycopg2 - Python-PostgreSQL Database Adapter" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "psycopg2-binary-2.9.9.tar.gz", hash = "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75723c3c0fbbf34350b46a3199eb50638ab22a0228f93fb472ef4d9becc2382b"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83791a65b51ad6ee6cf0845634859d69a038ea9b03d7b26e703f94c7e93dbcf9"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ef4854e82c09e84cc63084a9e4ccd6d9b154f1dbdd283efb92ecd0b5e2b8c84"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d2997c458c690ec2bc6b0b7ecbafd02b029b7b4283078d3b32a852a7ce3ddd98"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b58b4710c7f4161b5e9dcbe73bb7c62d65670a87df7bcce9e1faaad43e715245"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0c009475ee389757e6e34611d75f6e4f05f0cf5ebb76c6037508318e1a1e0d7e"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8dbf6d1bc73f1d04ec1734bae3b4fb0ee3cb2a493d35ede9badbeb901fb40f6f"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-win32.whl", hash = "sha256:3f78fd71c4f43a13d342be74ebbc0666fe1f555b8837eb113cb7416856c79682"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:876801744b0dee379e4e3c38b76fc89f88834bb15bf92ee07d94acd06ec890a0"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee825e70b1a209475622f7f7b776785bd68f34af6e7a46e2e42f27b659b5bc26"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1ea665f8ce695bcc37a90ee52de7a7980be5161375d42a0b6c6abedbf0d81f0f"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:143072318f793f53819048fdfe30c321890af0c3ec7cb1dfc9cc87aa88241de2"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c332c8d69fb64979ebf76613c66b985414927a40f8defa16cf1bc028b7b0a7b0"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7fc5a5acafb7d6ccca13bfa8c90f8c51f13d8fb87d95656d3950f0158d3ce53"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977646e05232579d2e7b9c59e21dbe5261f403a88417f6a6512e70d3f8a046be"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b6356793b84728d9d50ead16ab43c187673831e9d4019013f1402c41b1db9b27"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bc7bb56d04601d443f24094e9e31ae6deec9ccb23581f75343feebaf30423359"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:77853062a2c45be16fd6b8d6de2a99278ee1d985a7bd8b103e97e41c034006d2"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:78151aa3ec21dccd5cdef6c74c3e73386dcdfaf19bced944169697d7ac7482fc"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e6f98446430fdf41bd36d4faa6cb409f5140c1c2cf58ce0bbdaf16af7d3f119"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c77e3d1862452565875eb31bdb45ac62502feabbd53429fdc39a1cc341d681ba"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8359bf4791968c5a78c56103702000105501adb557f3cf772b2c207284273984"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:275ff571376626195ab95a746e6a04c7df8ea34638b99fc11160de91f2fef503"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9b5571d33660d5009a8b3c25dc1db560206e2d2f89d3df1cb32d72c0d117d52"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:420f9bbf47a02616e8554e825208cb947969451978dceb77f95ad09c37791dae"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4154ad09dac630a0f13f37b583eae260c6aa885d67dfbccb5b02c33f31a6d420"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a148c5d507bb9b4f2030a2025c545fccb0e1ef317393eaba42e7eabd28eb6041"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:68fc1f1ba168724771e38bee37d940d2865cb0f562380a1fb1ffb428b75cb692"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:281309265596e388ef483250db3640e5f414168c5a67e9c665cafce9492eda2f"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60989127da422b74a04345096c10d416c2b41bd7bf2a380eb541059e4e999980"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:246b123cc54bb5361588acc54218c8c9fb73068bf227a4a531d8ed56fa3ca7d6"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34eccd14566f8fe14b2b95bb13b11572f7c7d5c36da61caf414d23b91fcc5d94"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18d0ef97766055fec15b5de2c06dd8e7654705ce3e5e5eed3b6651a1d2a9a152"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3f82c171b4ccd83bbaf35aa05e44e690113bd4f3b7b6cc54d2219b132f3ae55"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ead20f7913a9c1e894aebe47cccf9dc834e1618b7aa96155d2091a626e59c972"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ca49a8119c6cbd77375ae303b0cfd8c11f011abbbd64601167ecca18a87e7cdd"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:323ba25b92454adb36fa425dc5cf6f8f19f78948cbad2e7bc6cdf7b0d7982e59"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:1236ed0952fbd919c100bc839eaa4a39ebc397ed1c08a97fc45fee2a595aa1b3"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:729177eaf0aefca0994ce4cffe96ad3c75e377c7b6f4efa59ebf003b6d398716"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-win32.whl", hash = "sha256:804d99b24ad523a1fe18cc707bf741670332f7c7412e9d49cb5eab67e886b9b5"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:a6cdcc3ede532f4a4b96000b6362099591ab4a3e913d70bcbac2b56c872446f7"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:72dffbd8b4194858d0941062a9766f8297e8868e1dd07a7b36212aaa90f49472"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30dcc86377618a4c8f3b72418df92e77be4254d8f89f14b8e8f57d6d43603c0f"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a34c508c003a4347d389a9e6fcc2307cc2150eb516462a7a17512130de109e"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15208be1c50b99203fe88d15695f22a5bed95ab3f84354c494bcb1d08557df67"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1873aade94b74715be2246321c8650cabf5a0d098a95bab81145ffffa4c13876"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a58c98a7e9c021f357348867f537017057c2ed7f77337fd914d0bedb35dace7"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4686818798f9194d03c9129a4d9a702d9e113a89cb03bffe08c6cf799e053291"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ebdc36bea43063116f0486869652cb2ed7032dbc59fbcb4445c4862b5c1ecf7f"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ca08decd2697fdea0aea364b370b1249d47336aec935f87b8bbfd7da5b2ee9c1"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ac05fb791acf5e1a3e39402641827780fe44d27e72567a000412c648a85ba860"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-win32.whl", hash = "sha256:9dba73be7305b399924709b91682299794887cbbd88e38226ed9f6712eabee90"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, + {file = "psycopg2-binary-2.9.10.tar.gz", hash = "sha256:4b3df0e6990aa98acda57d983942eff13d824135fe2250e6522edaa782a06de2"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:0ea8e3d0ae83564f2fc554955d327fa081d065c8ca5cc6d2abb643e2c9c1200f"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:3e9c76f0ac6f92ecfc79516a8034a544926430f7b080ec5a0537bca389ee0906"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ad26b467a405c798aaa1458ba09d7e2b6e5f96b1ce0ac15d82fd9f95dc38a92"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:270934a475a0e4b6925b5f804e3809dd5f90f8613621d062848dd82f9cd62007"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48b338f08d93e7be4ab2b5f1dbe69dc5e9ef07170fe1f86514422076d9c010d0"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4152f8f76d2023aac16285576a9ecd2b11a9895373a1f10fd9db54b3ff06b4"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:32581b3020c72d7a421009ee1c6bf4a131ef5f0a968fab2e2de0c9d2bb4577f1"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:2ce3e21dc3437b1d960521eca599d57408a695a0d3c26797ea0f72e834c7ffe5"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e984839e75e0b60cfe75e351db53d6db750b00de45644c5d1f7ee5d1f34a1ce5"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c4745a90b78e51d9ba06e2088a2fe0c693ae19cc8cb051ccda44e8df8a6eb53"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-win32.whl", hash = "sha256:e5720a5d25e3b99cd0dc5c8a440570469ff82659bb09431c1439b92caf184d3b"}, + {file = "psycopg2_binary-2.9.10-cp310-cp310-win_amd64.whl", hash = "sha256:3c18f74eb4386bf35e92ab2354a12c17e5eb4d9798e4c0ad3a00783eae7cd9f1"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:04392983d0bb89a8717772a193cfaac58871321e3ec69514e1c4e0d4957b5aff"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:1a6784f0ce3fec4edc64e985865c17778514325074adf5ad8f80636cd029ef7c"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5f86c56eeb91dc3135b3fd8a95dc7ae14c538a2f3ad77a19645cf55bab1799c"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b3d2491d4d78b6b14f76881905c7a8a8abcf974aad4a8a0b065273a0ed7a2cb"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2286791ececda3a723d1910441c793be44625d86d1a4e79942751197f4d30341"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:512d29bb12608891e349af6a0cccedce51677725a921c07dba6342beaf576f9a"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5a507320c58903967ef7384355a4da7ff3f28132d679aeb23572753cbf2ec10b"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6d4fa1079cab9018f4d0bd2db307beaa612b0d13ba73b5c6304b9fe2fb441ff7"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:851485a42dbb0bdc1edcdabdb8557c09c9655dfa2ca0460ff210522e073e319e"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:35958ec9e46432d9076286dda67942ed6d968b9c3a6a2fd62b48939d1d78bf68"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-win32.whl", hash = "sha256:ecced182e935529727401b24d76634a357c71c9275b356efafd8a2a91ec07392"}, + {file = "psycopg2_binary-2.9.10-cp311-cp311-win_amd64.whl", hash = "sha256:ee0e8c683a7ff25d23b55b11161c2663d4b099770f6085ff0a20d4505778d6b4"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:880845dfe1f85d9d5f7c412efea7a08946a46894537e4e5d091732eb1d34d9a0"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9440fa522a79356aaa482aa4ba500b65f28e5d0e63b801abf6aa152a29bd842a"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3923c1d9870c49a2d44f795df0c889a22380d36ef92440ff618ec315757e539"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b2c956c028ea5de47ff3a8d6b3cc3330ab45cf0b7c3da35a2d6ff8420896526"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f758ed67cab30b9a8d2833609513ce4d3bd027641673d4ebc9c067e4d208eec1"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd9b4f2cfab88ed4a9106192de509464b75a906462fb846b936eabe45c2063e"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dc08420625b5a20b53551c50deae6e231e6371194fa0651dbe0fb206452ae1f"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7cd730dfa7c36dbe8724426bf5612798734bff2d3c3857f36f2733f5bfc7c00"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:155e69561d54d02b3c3209545fb08938e27889ff5a10c19de8d23eb5a41be8a5"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3cc28a6fd5a4a26224007712e79b81dbaee2ffb90ff406256158ec4d7b52b47"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-win32.whl", hash = "sha256:ec8a77f521a17506a24a5f626cb2aee7850f9b69a0afe704586f63a464f3cd64"}, + {file = "psycopg2_binary-2.9.10-cp312-cp312-win_amd64.whl", hash = "sha256:18c5ee682b9c6dd3696dad6e54cc7ff3a1a9020df6a5c0f861ef8bfd338c3ca0"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:26540d4a9a4e2b096f1ff9cce51253d0504dca5a85872c7f7be23be5a53eb18d"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e217ce4d37667df0bc1c397fdcd8de5e81018ef305aed9415c3b093faaeb10fb"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:245159e7ab20a71d989da00f280ca57da7641fa2cdcf71749c193cea540a74f7"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c4ded1a24b20021ebe677b7b08ad10bf09aac197d6943bfe6fec70ac4e4690d"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3abb691ff9e57d4a93355f60d4f4c1dd2d68326c968e7db17ea96df3c023ef73"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8608c078134f0b3cbd9f89b34bd60a943b23fd33cc5f065e8d5f840061bd0673"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:230eeae2d71594103cd5b93fd29d1ace6420d0b86f4778739cb1a5a32f607d1f"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bb89f0a835bcfc1d42ccd5f41f04870c1b936d8507c6df12b7737febc40f0909"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:eb09aa7f9cecb45027683bb55aebaaf45a0df8bf6de68801a6afdc7947bb09d4"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b73d6d7f0ccdad7bc43e6d34273f70d587ef62f824d7261c4ae9b8b1b6af90e8"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce5ab4bf46a211a8e924d307c1b1fcda82368586a19d0a24f8ae166f5c784864"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:056470c3dc57904bbf63d6f534988bafc4e970ffd50f6271fc4ee7daad9498a5"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73aa0e31fa4bb82578f3a6c74a73c273367727de397a7a0f07bd83cbea696baa"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8de718c0e1c4b982a54b41779667242bc630b2197948405b7bd8ce16bcecac92"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:5c370b1e4975df846b0277b4deba86419ca77dbc25047f535b0bb03d1a544d44"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ffe8ed017e4ed70f68b7b371d84b7d4a790368db9203dfc2d222febd3a9c8863"}, + {file = "psycopg2_binary-2.9.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:8aecc5e80c63f7459a1a2ab2c64df952051df196294d9f739933a9f6687e86b3"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:7a813c8bdbaaaab1f078014b9b0b13f5de757e2b5d9be6403639b298a04d218b"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d00924255d7fc916ef66e4bf22f354a940c67179ad3fd7067d7a0a9c84d2fbfc"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7559bce4b505762d737172556a4e6ea8a9998ecac1e39b5233465093e8cee697"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8b58f0a96e7a1e341fc894f62c1177a7c83febebb5ff9123b579418fdc8a481"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b269105e59ac96aba877c1707c600ae55711d9dcd3fc4b5012e4af68e30c648"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:79625966e176dc97ddabc142351e0409e28acf4660b88d1cf6adb876d20c490d"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:8aabf1c1a04584c168984ac678a668094d831f152859d06e055288fa515e4d30"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:19721ac03892001ee8fdd11507e6a2e01f4e37014def96379411ca99d78aeb2c"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7f5d859928e635fa3ce3477704acee0f667b3a3d3e4bb109f2b18d4005f38287"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-win32.whl", hash = "sha256:3216ccf953b3f267691c90c6fe742e45d890d8272326b4a8b20850a03d05b7b8"}, + {file = "psycopg2_binary-2.9.10-cp39-cp39-win_amd64.whl", hash = "sha256:30e34c4e97964805f715206c7b789d54a78b70f3ff19fbe590104b71c45600e5"}, ] [[package]] name = "pyasn1" -version = "0.4.8" -description = "ASN.1 types and codecs" +version = "0.5.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = false -python-versions = "*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, - {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, + {file = "pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"}, + {file = "pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"}, ] [[package]] name = "pyasn1-modules" -version = "0.3.0" +version = "0.4.1" description = "A collection of ASN.1-based protocols modules" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +python-versions = ">=3.8" files = [ - {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, - {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, + {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, + {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, ] [package.dependencies] -pyasn1 = ">=0.4.6,<0.6.0" +pyasn1 = ">=0.4.6,<0.7.0" [[package]] name = "pycodestyle" -version = "2.12.0" +version = "2.12.1" description = "Python style guide checker" optional = false python-versions = ">=3.8" files = [ - {file = "pycodestyle-2.12.0-py2.py3-none-any.whl", hash = "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4"}, - {file = "pycodestyle-2.12.0.tar.gz", hash = "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c"}, + {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, + {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, ] [[package]] name = "pycparser" -version = "2.21" +version = "2.22" description = "C parser in Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] [[package]] name = "pydantic" -version = "2.6.4" +version = "2.9.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.6.4-py3-none-any.whl", hash = "sha256:cc46fce86607580867bdc3361ad462bab9c222ef042d3da86f2fb333e1d916c5"}, - {file = "pydantic-2.6.4.tar.gz", hash = "sha256:b1704e0847db01817624a6b86766967f552dd9dbf3afba4004409f908dcc84e6"}, + {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"}, + {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"}, ] [package.dependencies] -annotated-types = ">=0.4.0" +annotated-types = ">=0.6.0" email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"email\""} -pydantic-core = "2.16.3" -typing-extensions = ">=4.6.1" +pydantic-core = "2.23.4" +typing-extensions = {version = ">=4.6.1", markers = "python_version < \"3.13\""} [package.extras] email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] [[package]] name = "pydantic-collections" -version = "0.5.4" +version = "0.6.0" description = "Collections of pydantic models" optional = false python-versions = "*" files = [ - {file = "pydantic-collections-0.5.4.tar.gz", hash = "sha256:5bce65519456b4829f918c2456d58aac3620a866603461a702aafffe08845966"}, - {file = "pydantic_collections-0.5.4-py3-none-any.whl", hash = "sha256:5d107170c89fb17de229f5e8c4b4355af27594444fd0f93086048ccafa69238b"}, + {file = "pydantic_collections-0.6.0-py3-none-any.whl", hash = "sha256:ec559722abf6a0f80e6f00b3d28f0f39c0ed5feb1641166230eb75e9da880162"}, + {file = "pydantic_collections-0.6.0.tar.gz", hash = "sha256:c34d3fd1df5600b315cdecdd8e74eacd4c8c607b7e3f2c9392b2a15850a4ef9e"}, ] [package.dependencies] @@ -2778,90 +3142,100 @@ typing-extensions = ">=4.7.1" [[package]] name = "pydantic-core" -version = "2.16.3" -description = "" +version = "2.23.4" +description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.16.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:75b81e678d1c1ede0785c7f46690621e4c6e63ccd9192af1f0bd9d504bbb6bf4"}, - {file = "pydantic_core-2.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c865a7ee6f93783bd5d781af5a4c43dadc37053a5b42f7d18dc019f8c9d2bd1"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:162e498303d2b1c036b957a1278fa0899d02b2842f1ff901b6395104c5554a45"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f583bd01bbfbff4eaee0868e6fc607efdfcc2b03c1c766b06a707abbc856187"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b926dd38db1519ed3043a4de50214e0d600d404099c3392f098a7f9d75029ff8"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:716b542728d4c742353448765aa7cdaa519a7b82f9564130e2b3f6766018c9ec"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4ad7f7ee1a13d9cb49d8198cd7d7e3aa93e425f371a68235f784e99741561f"}, - {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bd87f48924f360e5d1c5f770d6155ce0e7d83f7b4e10c2f9ec001c73cf475c99"}, - {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0df446663464884297c793874573549229f9eca73b59360878f382a0fc085979"}, - {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4df8a199d9f6afc5ae9a65f8f95ee52cae389a8c6b20163762bde0426275b7db"}, - {file = "pydantic_core-2.16.3-cp310-none-win32.whl", hash = "sha256:456855f57b413f077dff513a5a28ed838dbbb15082ba00f80750377eed23d132"}, - {file = "pydantic_core-2.16.3-cp310-none-win_amd64.whl", hash = "sha256:732da3243e1b8d3eab8c6ae23ae6a58548849d2e4a4e03a1924c8ddf71a387cb"}, - {file = "pydantic_core-2.16.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:519ae0312616026bf4cedc0fe459e982734f3ca82ee8c7246c19b650b60a5ee4"}, - {file = "pydantic_core-2.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b3992a322a5617ded0a9f23fd06dbc1e4bd7cf39bc4ccf344b10f80af58beacd"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d62da299c6ecb04df729e4b5c52dc0d53f4f8430b4492b93aa8de1f541c4aac"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2acca2be4bb2f2147ada8cac612f8a98fc09f41c89f87add7256ad27332c2fda"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b662180108c55dfbf1280d865b2d116633d436cfc0bba82323554873967b340"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7c6ed0dc9d8e65f24f5824291550139fe6f37fac03788d4580da0d33bc00c97"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1bb0827f56654b4437955555dc3aeeebeddc47c2d7ed575477f082622c49e"}, - {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e56f8186d6210ac7ece503193ec84104da7ceb98f68ce18c07282fcc2452e76f"}, - {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:936e5db01dd49476fa8f4383c259b8b1303d5dd5fb34c97de194560698cc2c5e"}, - {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33809aebac276089b78db106ee692bdc9044710e26f24a9a2eaa35a0f9fa70ba"}, - {file = "pydantic_core-2.16.3-cp311-none-win32.whl", hash = "sha256:ded1c35f15c9dea16ead9bffcde9bb5c7c031bff076355dc58dcb1cb436c4721"}, - {file = "pydantic_core-2.16.3-cp311-none-win_amd64.whl", hash = "sha256:d89ca19cdd0dd5f31606a9329e309d4fcbb3df860960acec32630297d61820df"}, - {file = "pydantic_core-2.16.3-cp311-none-win_arm64.whl", hash = "sha256:6162f8d2dc27ba21027f261e4fa26f8bcb3cf9784b7f9499466a311ac284b5b9"}, - {file = "pydantic_core-2.16.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0f56ae86b60ea987ae8bcd6654a887238fd53d1384f9b222ac457070b7ac4cff"}, - {file = "pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9bd22a2a639e26171068f8ebb5400ce2c1bc7d17959f60a3b753ae13c632975"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4204e773b4b408062960e65468d5346bdfe139247ee5f1ca2a378983e11388a2"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f651dd19363c632f4abe3480a7c87a9773be27cfe1341aef06e8759599454120"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aaf09e615a0bf98d406657e0008e4a8701b11481840be7d31755dc9f97c44053"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e47755d8152c1ab5b55928ab422a76e2e7b22b5ed8e90a7d584268dd49e9c6b"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:500960cb3a0543a724a81ba859da816e8cf01b0e6aaeedf2c3775d12ee49cade"}, - {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf6204fe865da605285c34cf1172879d0314ff267b1c35ff59de7154f35fdc2e"}, - {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d33dd21f572545649f90c38c227cc8631268ba25c460b5569abebdd0ec5974ca"}, - {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49d5d58abd4b83fb8ce763be7794d09b2f50f10aa65c0f0c1696c677edeb7cbf"}, - {file = "pydantic_core-2.16.3-cp312-none-win32.whl", hash = "sha256:f53aace168a2a10582e570b7736cc5bef12cae9cf21775e3eafac597e8551fbe"}, - {file = "pydantic_core-2.16.3-cp312-none-win_amd64.whl", hash = "sha256:0d32576b1de5a30d9a97f300cc6a3f4694c428d956adbc7e6e2f9cad279e45ed"}, - {file = "pydantic_core-2.16.3-cp312-none-win_arm64.whl", hash = "sha256:ec08be75bb268473677edb83ba71e7e74b43c008e4a7b1907c6d57e940bf34b6"}, - {file = "pydantic_core-2.16.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:b1f6f5938d63c6139860f044e2538baeee6f0b251a1816e7adb6cbce106a1f01"}, - {file = "pydantic_core-2.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a1ef6a36fdbf71538142ed604ad19b82f67b05749512e47f247a6ddd06afdc7"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704d35ecc7e9c31d48926150afada60401c55efa3b46cd1ded5a01bdffaf1d48"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d937653a696465677ed583124b94a4b2d79f5e30b2c46115a68e482c6a591c8a"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9803edf8e29bd825f43481f19c37f50d2b01899448273b3a7758441b512acf8"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72282ad4892a9fb2da25defeac8c2e84352c108705c972db82ab121d15f14e6d"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f752826b5b8361193df55afcdf8ca6a57d0232653494ba473630a83ba50d8c9"}, - {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4384a8f68ddb31a0b0c3deae88765f5868a1b9148939c3f4121233314ad5532c"}, - {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4b2bf78342c40b3dc830880106f54328928ff03e357935ad26c7128bbd66ce8"}, - {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13dcc4802961b5f843a9385fc821a0b0135e8c07fc3d9949fd49627c1a5e6ae5"}, - {file = "pydantic_core-2.16.3-cp38-none-win32.whl", hash = "sha256:e3e70c94a0c3841e6aa831edab1619ad5c511199be94d0c11ba75fe06efe107a"}, - {file = "pydantic_core-2.16.3-cp38-none-win_amd64.whl", hash = "sha256:ecdf6bf5f578615f2e985a5e1f6572e23aa632c4bd1dc67f8f406d445ac115ed"}, - {file = "pydantic_core-2.16.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bda1ee3e08252b8d41fa5537413ffdddd58fa73107171a126d3b9ff001b9b820"}, - {file = "pydantic_core-2.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:21b888c973e4f26b7a96491c0965a8a312e13be108022ee510248fe379a5fa23"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be0ec334369316fa73448cc8c982c01e5d2a81c95969d58b8f6e272884df0074"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5b6079cc452a7c53dd378c6f881ac528246b3ac9aae0f8eef98498a75657805"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee8d5f878dccb6d499ba4d30d757111847b6849ae07acdd1205fffa1fc1253c"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7233d65d9d651242a68801159763d09e9ec96e8a158dbf118dc090cd77a104c9"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6119dc90483a5cb50a1306adb8d52c66e447da88ea44f323e0ae1a5fcb14256"}, - {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:578114bc803a4c1ff9946d977c221e4376620a46cf78da267d946397dc9514a8"}, - {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d8f99b147ff3fcf6b3cc60cb0c39ea443884d5559a30b1481e92495f2310ff2b"}, - {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4ac6b4ce1e7283d715c4b729d8f9dab9627586dafce81d9eaa009dd7f25dd972"}, - {file = "pydantic_core-2.16.3-cp39-none-win32.whl", hash = "sha256:e7774b570e61cb998490c5235740d475413a1f6de823169b4cf94e2fe9e9f6b2"}, - {file = "pydantic_core-2.16.3-cp39-none-win_amd64.whl", hash = "sha256:9091632a25b8b87b9a605ec0e61f241c456e9248bfdcf7abdf344fdb169c81cf"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:36fa178aacbc277bc6b62a2c3da95226520da4f4e9e206fdf076484363895d2c"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:dcca5d2bf65c6fb591fff92da03f94cd4f315972f97c21975398bd4bd046854a"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a72fb9963cba4cd5793854fd12f4cfee731e86df140f59ff52a49b3552db241"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60cc1a081f80a2105a59385b92d82278b15d80ebb3adb200542ae165cd7d183"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cbcc558401de90a746d02ef330c528f2e668c83350f045833543cd57ecead1ad"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fee427241c2d9fb7192b658190f9f5fd6dfe41e02f3c1489d2ec1e6a5ab1e04a"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4cb85f693044e0f71f394ff76c98ddc1bc0953e48c061725e540396d5c8a2e1"}, - {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b29eeb887aa931c2fcef5aa515d9d176d25006794610c264ddc114c053bf96fe"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a425479ee40ff021f8216c9d07a6a3b54b31c8267c6e17aa88b70d7ebd0e5e5b"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5c5cbc703168d1b7a838668998308018a2718c2130595e8e190220238addc96f"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99b6add4c0b39a513d323d3b93bc173dac663c27b99860dd5bf491b240d26137"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f76ee558751746d6a38f89d60b6228fa174e5172d143886af0f85aa306fd89"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:00ee1c97b5364b84cb0bd82e9bbf645d5e2871fb8c58059d158412fee2d33d8a"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:287073c66748f624be4cef893ef9174e3eb88fe0b8a78dc22e88eca4bc357ca6"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ed25e1835c00a332cb10c683cd39da96a719ab1dfc08427d476bce41b92531fc"}, - {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:86b3d0033580bd6bbe07590152007275bd7af95f98eaa5bd36f3da219dcd93da"}, - {file = "pydantic_core-2.16.3.tar.gz", hash = "sha256:1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"}, + {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"}, + {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"}, + {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"}, + {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"}, + {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"}, + {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"}, + {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"}, + {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"}, + {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"}, + {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"}, + {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"}, + {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"}, + {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"}, + {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"}, + {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"}, + {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"}, + {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"}, + {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"}, + {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"}, + {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"}, + {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"}, + {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"}, + {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"}, + {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"}, + {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"}, + {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"}, + {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"}, + {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"}, + {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"}, + {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"}, + {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"}, + {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"}, + {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"}, ] [package.dependencies] @@ -2889,27 +3263,27 @@ urllib3 = ">=1.26.0" [[package]] name = "pygments" -version = "2.16.1" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyjwt" -version = "2.8.0" +version = "2.10.1" description = "JSON Web Token implementation in Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, - {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, + {file = "PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb"}, + {file = "pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953"}, ] [package.dependencies] @@ -2917,8 +3291,8 @@ cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"cryp [package.extras] crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] @@ -2984,40 +3358,40 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] [[package]] name = "pyngo" -version = "2.0.1" +version = "2.2.1" description = "Pydantic Package for Adding Models into a Django or Django Rest Framework Project ✨" optional = false python-versions = ">=3.10" files = [ - {file = "pyngo-2.0.1-py3-none-any.whl", hash = "sha256:1f69b383d0eab613bb571729b19cbcd3c410a9ebe19f4239a7d7b2d95d85f64b"}, - {file = "pyngo-2.0.1.tar.gz", hash = "sha256:afe347920300e1dbeca23bd76367dc84c631295a0188bc79bcb98760de772132"}, + {file = "pyngo-2.2.1-py3-none-any.whl", hash = "sha256:36aeb6cf21fd39a2901f24d769a65a5ddb8e238b0fdeea2d2b2a379349f628b7"}, + {file = "pyngo-2.2.1.tar.gz", hash = "sha256:9e082ac01019c9cc75a5d513cc7588568c5dc94067fff9dd4339b02332de8d77"}, ] [package.dependencies] django = ">=3.2.0,<6.0.0" -pydantic = ">=2.5.3" -typing-extensions = ">=3.7.4,<4.10.0" +pydantic = ">=2.8.2,<2.10.0" +typing-extensions = ">=3.7.4,<4.13.0" [package.extras] -lint = ["mypy (==1.8.0)", "pre-commit (==3.6.0)", "ruff (==0.1.14)"] -test = ["django-stubs", "pytest (==7.4.4)", "pytest-asyncio (==0.23.3)", "pytest-cov (==4.1.0)", "pytest-pretty"] +lint = ["mypy (==1.11.2)", "pre-commit (==3.8.0)", "ruff (==0.6.4)"] +test = ["django-stubs", "pytest (==8.3.2)", "pytest-asyncio (==0.24.0)", "pytest-cov (==5.0.0)", "pytest-pretty"] [[package]] name = "pyopenssl" -version = "24.2.1" +version = "24.3.0" description = "Python wrapper module around the OpenSSL library" optional = false python-versions = ">=3.7" files = [ - {file = "pyOpenSSL-24.2.1-py3-none-any.whl", hash = "sha256:967d5719b12b243588573f39b0c677637145c7a1ffedcd495a487e58177fbb8d"}, - {file = "pyopenssl-24.2.1.tar.gz", hash = "sha256:4247f0dbe3748d560dcbb2ff3ea01af0f9a1a001ef5f7c4c647956ed8cbf0e95"}, + {file = "pyOpenSSL-24.3.0-py3-none-any.whl", hash = "sha256:e474f5a473cd7f92221cc04976e48f4d11502804657a08a989fb3be5514c904a"}, + {file = "pyopenssl-24.3.0.tar.gz", hash = "sha256:49f7a019577d834746bc55c5fce6ecbcec0f2b4ec5ce1cf43a9a173b8138bb36"}, ] [package.dependencies] -cryptography = ">=41.0.5,<44" +cryptography = ">=41.0.5,<45" [package.extras] -docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] +docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx_rtd_theme"] test = ["pretend", "pytest (>=3.0.1)", "pytest-rerunfailures"] [[package]] @@ -3067,13 +3441,13 @@ files = [ [[package]] name = "pysaml2" -version = "7.4.2" +version = "7.5.0" description = "Python implementation of SAML Version 2 Standard" optional = false python-versions = ">=3.9,<4.0" files = [ - {file = "pysaml2-7.4.2-py3-none-any.whl", hash = "sha256:6616abe0526915cabef6af3a81570bd4c339bedd8db3ab12dcd4fa0612896837"}, - {file = "pysaml2-7.4.2.tar.gz", hash = "sha256:2bc5147b3b2f902a9131bf08240c068becea29994aafb7654a63d7270ac5b63b"}, + {file = "pysaml2-7.5.0-py3-none-any.whl", hash = "sha256:bc6627cc344476a83c757f440a73fda1369f13b6fda1b4e16bca63ffbabb5318"}, + {file = "pysaml2-7.5.0.tar.gz", hash = "sha256:f36871d4e5ee857c6b85532e942550d2cf90ea4ee943d75eb681044bbc4f54f7"}, ] [package.dependencies] @@ -3083,7 +3457,7 @@ pyopenssl = "*" python-dateutil = "*" pytz = "*" requests = ">=2,<3" -xmlschema = ">=1.2.1" +xmlschema = ">=2,<3" [package.extras] s2repoze = ["paste", "repoze.who", "zope.interface"] @@ -3129,13 +3503,13 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale [[package]] name = "pytest-django" -version = "4.8.0" +version = "4.9.0" description = "A Django plugin for pytest." optional = false python-versions = ">=3.8" files = [ - {file = "pytest-django-4.8.0.tar.gz", hash = "sha256:5d054fe011c56f3b10f978f41a8efb2e5adfc7e680ef36fb571ada1f24779d90"}, - {file = "pytest_django-4.8.0-py3-none-any.whl", hash = "sha256:ca1ddd1e0e4c227cf9e3e40a6afc6d106b3e70868fd2ac5798a22501271cd0c7"}, + {file = "pytest_django-4.9.0-py3-none-any.whl", hash = "sha256:1d83692cb39188682dbb419ff0393867e9904094a549a7d38a3154d5731b2b99"}, + {file = "pytest_django-4.9.0.tar.gz", hash = "sha256:8bf7bc358c9ae6f6fc51b6cebb190fe20212196e6807121f11bd6a3b03428314"}, ] [package.dependencies] @@ -3228,13 +3602,13 @@ testing = ["filelock"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -3256,13 +3630,13 @@ cli = ["click (>=5.0)"] [[package]] name = "python-gnupg" -version = "0.5.1" +version = "0.5.3" description = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)" optional = false python-versions = "*" files = [ - {file = "python-gnupg-0.5.1.tar.gz", hash = "sha256:5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8"}, - {file = "python_gnupg-0.5.1-py2.py3-none-any.whl", hash = "sha256:bf9b2d9032ef38139b7d64184176cd0b293eaeae6e4f93f50e304c7051174482"}, + {file = "python-gnupg-0.5.3.tar.gz", hash = "sha256:290d8ddb9cd63df96cfe9284b9b265f19fd6e145e5582dc58fd7271f026d0a47"}, + {file = "python_gnupg-0.5.3-py2.py3-none-any.whl", hash = "sha256:2f8a4c6f63766feca6cc1416408f8b84e1b914fe7b54514e570fc5cbe92e9248"}, ] [[package]] @@ -3276,6 +3650,20 @@ files = [ {file = "python_http_client-3.3.7.tar.gz", hash = "sha256:bf841ee45262747e00dec7ee9971dfb8c7d83083f5713596488d67739170cea0"}, ] +[[package]] +name = "python-ipware" +version = "3.0.0" +description = "A Python package to retrieve user's IP address" +optional = false +python-versions = ">=3.7" +files = [ + {file = "python_ipware-3.0.0-py3-none-any.whl", hash = "sha256:fc936e6e7ec9fcc107f9315df40658f468ac72f739482a707181742882e36b60"}, + {file = "python_ipware-3.0.0.tar.gz", hash = "sha256:9117b1c4dddcb5d5ca49e6a9617de2fc66aec2ef35394563ac4eecabdf58c062"}, +] + +[package.extras] +dev = ["coverage[toml]", "coveralls (>=3.3,<4.0)", "ruff", "twine"] + [[package]] name = "python3-openid" version = "3.2.0" @@ -3296,114 +3684,121 @@ postgresql = ["psycopg2"] [[package]] name = "pytz" -version = "2023.4" +version = "2024.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.4-py2.py3-none-any.whl", hash = "sha256:f90ef520d95e7c46951105338d918664ebfd6f1d995bd7d153127ce90efafa6a"}, - {file = "pytz-2023.4.tar.gz", hash = "sha256:31d4583c4ed539cd037956140d695e42c033a19e984bfce9964a3f7d59bc2b40"}, + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] [[package]] name = "pywin32" -version = "306" +version = "308" description = "Python for Window Extensions" optional = false python-versions = "*" files = [ - {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, - {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, - {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, - {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, - {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, - {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, - {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, - {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, - {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, - {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, - {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, - {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, - {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, - {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, + {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, + {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, + {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, + {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, + {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, + {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, + {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, + {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, + {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, + {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, + {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, + {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, + {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, + {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, + {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, + {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, + {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, + {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, ] [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] name = "redis" -version = "5.0.1" +version = "5.2.1" description = "Python client for Redis database and key-value store" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "redis-5.0.1-py3-none-any.whl", hash = "sha256:ed4802971884ae19d640775ba3b03aa2e7bd5e8fb8dfaed2decce4d0fc48391f"}, - {file = "redis-5.0.1.tar.gz", hash = "sha256:0dab495cd5753069d3bc650a0dde8a8f9edde16fc5691b689a566eda58100d0f"}, + {file = "redis-5.2.1-py3-none-any.whl", hash = "sha256:ee7e1056b9aea0f04c6c2ed59452947f34c4940ee025f5dd83e6a6418b6989e4"}, + {file = "redis-5.2.1.tar.gz", hash = "sha256:16f2e22dff21d5125e8481515e386711a34cbec50f0e44413dd7d9c060a54e0f"}, ] [package.dependencies] -async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""} +async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""} [package.extras] -hiredis = ["hiredis (>=1.0.0)"] -ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] +hiredis = ["hiredis (>=3.0.0)"] +ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"] [[package]] name = "requests" @@ -3428,49 +3823,47 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-futures" -version = "1.0.1" +version = "1.0.2" description = "Asynchronous Python HTTP for Humans." optional = false python-versions = "*" files = [ - {file = "requests-futures-1.0.1.tar.gz", hash = "sha256:f55a4ef80070e2858e7d1e73123d2bfaeaf25b93fd34384d8ddf148e2b676373"}, - {file = "requests_futures-1.0.1-py2.py3-none-any.whl", hash = "sha256:4a2f5472e9911a79532137d156aa937cd9cd90fec55677f71b2976d1f7a66d38"}, + {file = "requests_futures-1.0.2-py2.py3-none-any.whl", hash = "sha256:a3534af7c2bf670cd7aa730716e9e7d4386497554f87792be7514063b8912897"}, + {file = "requests_futures-1.0.2.tar.gz", hash = "sha256:6b7eb57940336e800faebc3dab506360edec9478f7b22dc570858ad3aa7458da"}, ] [package.dependencies] requests = ">=1.2.0" [package.extras] -dev = ["black (>=22.3.0)", "build (>=0.7.0)", "isort (>=5.11.4)", "pyflakes (>=2.2.0)", "pytest (>=6.2.5)", "pytest-cov (>=3.0.0)", "pytest-network (>=0.0.1)", "readme-renderer[rst] (>=26.0)", "twine (>=3.4.2)"] +dev = ["Werkzeug (>=3.0.6)", "black (>=24.3.0,<25.0.0)", "build (>=0.7.0)", "docutils (<=0.20.1)", "greenlet (<=2.0.2)", "greenlet (>=3.0.0)", "isort (>=5.11.4)", "pyflakes (>=2.2.0)", "pytest (>=6.2.5)", "pytest-cov (>=3.0.0)", "pytest-httpbin (>=2.0.0)", "readme-renderer[rst] (>=26.0)", "twine (>=3.4.2)"] [[package]] name = "requests-mock" -version = "1.11.0" +version = "1.12.1" description = "Mock out responses from the requests package" optional = false -python-versions = "*" +python-versions = ">=3.5" files = [ - {file = "requests-mock-1.11.0.tar.gz", hash = "sha256:ef10b572b489a5f28e09b708697208c4a3b2b89ef80a9f01584340ea357ec3c4"}, - {file = "requests_mock-1.11.0-py2.py3-none-any.whl", hash = "sha256:f7fae383f228633f6bececebdab236c478ace2284d6292c6e7e2867b9ab74d15"}, + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, ] [package.dependencies] -requests = ">=2.3,<3" -six = "*" +requests = ">=2.22,<3" [package.extras] fixture = ["fixtures"] -test = ["fixtures", "mock", "purl", "pytest", "requests-futures", "sphinx", "testtools"] [[package]] name = "requests-oauthlib" -version = "1.3.1" +version = "2.0.0" description = "OAuthlib authentication support for Requests." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.4" files = [ - {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, - {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, + {file = "requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9"}, + {file = "requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36"}, ] [package.dependencies] @@ -3674,122 +4067,152 @@ tornado = ["tornado (>=6)"] [[package]] name = "setuptools" -version = "70.0.0" +version = "75.6.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "setuptools-70.0.0-py3-none-any.whl", hash = "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4"}, - {file = "setuptools-70.0.0.tar.gz", hash = "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"}, + {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, + {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] +core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] [[package]] name = "shortuuid" -version = "1.0.11" +version = "1.0.13" description = "A generator library for concise, unambiguous and URL-safe UUIDs." optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "shortuuid-1.0.11-py3-none-any.whl", hash = "sha256:27ea8f28b1bd0bf8f15057a3ece57275d2059d2b0bb02854f02189962c13b6aa"}, - {file = "shortuuid-1.0.11.tar.gz", hash = "sha256:fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789"}, + {file = "shortuuid-1.0.13-py3-none-any.whl", hash = "sha256:a482a497300b49b4953e15108a7913244e1bb0d41f9d332f5e9925dba33a3c5a"}, + {file = "shortuuid-1.0.13.tar.gz", hash = "sha256:3bb9cf07f606260584b1df46399c0b87dd84773e7b25912b7e391e30797c5e72"}, ] [[package]] name = "simplejson" -version = "3.19.1" +version = "3.19.3" description = "Simple, fast, extensible JSON encoder/decoder for Python" optional = false -python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "simplejson-3.19.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:412e58997a30c5deb8cab5858b8e2e5b40ca007079f7010ee74565cc13d19665"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e765b1f47293dedf77946f0427e03ee45def2862edacd8868c6cf9ab97c8afbd"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3231100edee292da78948fa0a77dee4e5a94a0a60bcba9ed7a9dc77f4d4bb11e"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:081ea6305b3b5e84ae7417e7f45956db5ea3872ec497a584ec86c3260cda049e"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:f253edf694ce836631b350d758d00a8c4011243d58318fbfbe0dd54a6a839ab4"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:5db86bb82034e055257c8e45228ca3dbce85e38d7bfa84fa7b2838e032a3219c"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:69a8b10a4f81548bc1e06ded0c4a6c9042c0be0d947c53c1ed89703f7e613950"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:58ee5e24d6863b22194020eb62673cf8cc69945fcad6b283919490f6e359f7c5"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:73d0904c2471f317386d4ae5c665b16b5c50ab4f3ee7fd3d3b7651e564ad74b1"}, - {file = "simplejson-3.19.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:66d780047c31ff316ee305c3f7550f352d87257c756413632303fc59fef19eac"}, - {file = "simplejson-3.19.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd4d50a27b065447c9c399f0bf0a993bd0e6308db8bbbfbc3ea03b41c145775a"}, - {file = "simplejson-3.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c16ec6a67a5f66ab004190829eeede01c633936375edcad7cbf06d3241e5865"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17a963e8dd4d81061cc05b627677c1f6a12e81345111fbdc5708c9f088d752c9"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7e78d79b10aa92f40f54178ada2b635c960d24fc6141856b926d82f67e56d169"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad071cd84a636195f35fa71de2186d717db775f94f985232775794d09f8d9061"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e7c70f19405e5f99168077b785fe15fcb5f9b3c0b70b0b5c2757ce294922c8c"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54fca2b26bcd1c403146fd9461d1da76199442297160721b1d63def2a1b17799"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:48600a6e0032bed17c20319d91775f1797d39953ccfd68c27f83c8d7fc3b32cb"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:93f5ac30607157a0b2579af59a065bcfaa7fadeb4875bf927a8f8b6739c8d910"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b79642a599740603ca86cf9df54f57a2013c47e1dd4dd2ae4769af0a6816900"}, - {file = "simplejson-3.19.1-cp310-cp310-win32.whl", hash = "sha256:d9f2c27f18a0b94107d57294aab3d06d6046ea843ed4a45cae8bd45756749f3a"}, - {file = "simplejson-3.19.1-cp310-cp310-win_amd64.whl", hash = "sha256:5673d27806085d2a413b3be5f85fad6fca4b7ffd31cfe510bbe65eea52fff571"}, - {file = "simplejson-3.19.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:79c748aa61fd8098d0472e776743de20fae2686edb80a24f0f6593a77f74fe86"}, - {file = "simplejson-3.19.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:390f4a8ca61d90bcf806c3ad644e05fa5890f5b9a72abdd4ca8430cdc1e386fa"}, - {file = "simplejson-3.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d61482b5d18181e6bb4810b4a6a24c63a490c3a20e9fbd7876639653e2b30a1a"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2541fdb7467ef9bfad1f55b6c52e8ea52b3ce4a0027d37aff094190a955daa9d"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46133bc7dd45c9953e6ee4852e3de3d5a9a4a03b068bd238935a5c72f0a1ce34"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f96def94576f857abf58e031ce881b5a3fc25cbec64b2bc4824824a8a4367af9"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f14ecca970d825df0d29d5c6736ff27999ee7bdf5510e807f7ad8845f7760ce"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:66389b6b6ee46a94a493a933a26008a1bae0cfadeca176933e7ff6556c0ce998"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:22b867205cd258050c2625325fdd9a65f917a5aff22a23387e245ecae4098e78"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c39fa911e4302eb79c804b221ddec775c3da08833c0a9120041dd322789824de"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65dafe413b15e8895ad42e49210b74a955c9ae65564952b0243a18fb35b986cc"}, - {file = "simplejson-3.19.1-cp311-cp311-win32.whl", hash = "sha256:f05d05d99fce5537d8f7a0af6417a9afa9af3a6c4bb1ba7359c53b6257625fcb"}, - {file = "simplejson-3.19.1-cp311-cp311-win_amd64.whl", hash = "sha256:b46aaf0332a8a9c965310058cf3487d705bf672641d2c43a835625b326689cf4"}, - {file = "simplejson-3.19.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b438e5eaa474365f4faaeeef1ec3e8d5b4e7030706e3e3d6b5bee6049732e0e6"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa9d614a612ad02492f704fbac636f666fa89295a5d22b4facf2d665fc3b5ea9"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46e89f58e4bed107626edce1cf098da3664a336d01fc78fddcfb1f397f553d44"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96ade243fb6f3b57e7bd3b71e90c190cd0f93ec5dce6bf38734a73a2e5fa274f"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed18728b90758d171f0c66c475c24a443ede815cf3f1a91e907b0db0ebc6e508"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6a561320485017ddfc21bd2ed5de2d70184f754f1c9b1947c55f8e2b0163a268"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:2098811cd241429c08b7fc5c9e41fcc3f59f27c2e8d1da2ccdcf6c8e340ab507"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:8f8d179393e6f0cf6c7c950576892ea6acbcea0a320838c61968ac7046f59228"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:eff87c68058374e45225089e4538c26329a13499bc0104b52b77f8428eed36b2"}, - {file = "simplejson-3.19.1-cp36-cp36m-win32.whl", hash = "sha256:d300773b93eed82f6da138fd1d081dc96fbe53d96000a85e41460fe07c8d8b33"}, - {file = "simplejson-3.19.1-cp36-cp36m-win_amd64.whl", hash = "sha256:37724c634f93e5caaca04458f267836eb9505d897ab3947b52f33b191bf344f3"}, - {file = "simplejson-3.19.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74bf802debe68627227ddb665c067eb8c73aa68b2476369237adf55c1161b728"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70128fb92932524c89f373e17221cf9535d7d0c63794955cc3cd5868e19f5d38"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8090e75653ea7db75bc21fa5f7bcf5f7bdf64ea258cbbac45c7065f6324f1b50"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a755f7bfc8adcb94887710dc70cc12a69a454120c6adcc6f251c3f7b46ee6aac"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ccb2c1877bc9b25bc4f4687169caa925ffda605d7569c40e8e95186e9a5e58b"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:919bc5aa4d8094cf8f1371ea9119e5d952f741dc4162810ab714aec948a23fe5"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e333c5b62e93949f5ac27e6758ba53ef6ee4f93e36cc977fe2e3df85c02f6dc4"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3a4480e348000d89cf501b5606415f4d328484bbb431146c2971123d49fd8430"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:cb502cde018e93e75dc8fc7bb2d93477ce4f3ac10369f48866c61b5e031db1fd"}, - {file = "simplejson-3.19.1-cp37-cp37m-win32.whl", hash = "sha256:f41915a4e1f059dfad614b187bc06021fefb5fc5255bfe63abf8247d2f7a646a"}, - {file = "simplejson-3.19.1-cp37-cp37m-win_amd64.whl", hash = "sha256:3844305bc33d52c4975da07f75b480e17af3558c0d13085eaa6cc2f32882ccf7"}, - {file = "simplejson-3.19.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1cb19eacb77adc5a9720244d8d0b5507421d117c7ed4f2f9461424a1829e0ceb"}, - {file = "simplejson-3.19.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:926957b278de22797bfc2f004b15297013843b595b3cd7ecd9e37ccb5fad0b72"}, - {file = "simplejson-3.19.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b0e9a5e66969f7a47dc500e3dba8edc3b45d4eb31efb855c8647700a3493dd8a"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79d46e7e33c3a4ef853a1307b2032cfb7220e1a079d0c65488fbd7118f44935a"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:344a5093b71c1b370968d0fbd14d55c9413cb6f0355fdefeb4a322d602d21776"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23fbb7b46d44ed7cbcda689295862851105c7594ae5875dce2a70eeaa498ff86"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d3025e7e9ddb48813aec2974e1a7e68e63eac911dd5e0a9568775de107ac79a"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:87b190e6ceec286219bd6b6f13547ca433f977d4600b4e81739e9ac23b5b9ba9"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc935d8322ba9bc7b84f99f40f111809b0473df167bf5b93b89fb719d2c4892b"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3b652579c21af73879d99c8072c31476788c8c26b5565687fd9db154070d852a"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6aa7ca03f25b23b01629b1c7f78e1cd826a66bfb8809f8977a3635be2ec48f1a"}, - {file = "simplejson-3.19.1-cp38-cp38-win32.whl", hash = "sha256:08be5a241fdf67a8e05ac7edbd49b07b638ebe4846b560673e196b2a25c94b92"}, - {file = "simplejson-3.19.1-cp38-cp38-win_amd64.whl", hash = "sha256:ca56a6c8c8236d6fe19abb67ef08d76f3c3f46712c49a3b6a5352b6e43e8855f"}, - {file = "simplejson-3.19.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6424d8229ba62e5dbbc377908cfee9b2edf25abd63b855c21f12ac596cd18e41"}, - {file = "simplejson-3.19.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:547ea86ca408a6735335c881a2e6208851027f5bfd678d8f2c92a0f02c7e7330"}, - {file = "simplejson-3.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:889328873c35cb0b2b4c83cbb83ec52efee5a05e75002e2c0c46c4e42790e83c"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44cdb4e544134f305b033ad79ae5c6b9a32e7c58b46d9f55a64e2a883fbbba01"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc2b3f06430cbd4fac0dae5b2974d2bf14f71b415fb6de017f498950da8159b1"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d125e754d26c0298715bdc3f8a03a0658ecbe72330be247f4b328d229d8cf67f"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:476c8033abed7b1fd8db62a7600bf18501ce701c1a71179e4ce04ac92c1c5c3c"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:199a0bcd792811c252d71e3eabb3d4a132b3e85e43ebd93bfd053d5b59a7e78b"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a79b439a6a77649bb8e2f2644e6c9cc0adb720fc55bed63546edea86e1d5c6c8"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:203412745fed916fc04566ecef3f2b6c872b52f1e7fb3a6a84451b800fb508c1"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ca922c61d87b4c38f37aa706520328ffe22d7ac1553ef1cadc73f053a673553"}, - {file = "simplejson-3.19.1-cp39-cp39-win32.whl", hash = "sha256:3e0902c278243d6f7223ba3e6c5738614c971fd9a887fff8feaa8dcf7249c8d4"}, - {file = "simplejson-3.19.1-cp39-cp39-win_amd64.whl", hash = "sha256:d396b610e77b0c438846607cd56418bfc194973b9886550a98fd6724e8c6cfec"}, - {file = "simplejson-3.19.1-py3-none-any.whl", hash = "sha256:4710806eb75e87919b858af0cba4ffedc01b463edc3982ded7b55143f39e41e1"}, - {file = "simplejson-3.19.1.tar.gz", hash = "sha256:6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c"}, +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.5" +files = [ + {file = "simplejson-3.19.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f39caec26007a2d0efab6b8b1d74873ede9351962707afab622cc2285dd26ed0"}, + {file = "simplejson-3.19.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:83c87706265ae3028e8460d08b05f30254c569772e859e5ba61fe8af2c883468"}, + {file = "simplejson-3.19.3-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:0b5ddd2c7d1d3f4d23224bc8a04bbf1430ae9a8149c05b90f8fc610f7f857a23"}, + {file = "simplejson-3.19.3-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:ad0e0b1ce9bd3edb5cf64b5b5b76eacbfdac8c5367153aeeec8a8b1407f68342"}, + {file = "simplejson-3.19.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:93be280fc69a952c76e261036312c20b910e7fa9e234f1d89bdfe3fa34f8a023"}, + {file = "simplejson-3.19.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:6d43e24b88c80f997081503f693be832fc90854f278df277dd54f8a4c847ab61"}, + {file = "simplejson-3.19.3-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:2876027ebdd599d730d36464debe84619b0368e9a642ca6e7c601be55aed439e"}, + {file = "simplejson-3.19.3-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:0766ca6222b410e08e0053a0dda3606cafb3973d5d00538307f631bb59743396"}, + {file = "simplejson-3.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:50d8b742d74c449c4dcac570d08ce0f21f6a149d2d9cf7652dbf2ba9a1bc729a"}, + {file = "simplejson-3.19.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd011fc3c1d88b779645495fdb8189fb318a26981eebcce14109460e062f209b"}, + {file = "simplejson-3.19.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:637c4d4b81825c1f4d651e56210bd35b5604034b192b02d2d8f17f7ce8c18f42"}, + {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f56eb03bc9e432bb81adc8ecff2486d39feb371abb442964ffb44f6db23b332"}, + {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ef59a53be400c1fad2c914b8d74c9d42384fed5174f9321dd021b7017fd40270"}, + {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72e8abbc86fcac83629a030888b45fed3a404d54161118be52cb491cd6975d3e"}, + {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8efb03ca77bd7725dfacc9254df00d73e6f43013cf39bd37ef1a8ed0ebb5165"}, + {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:add8850db04b98507a8b62d248a326ecc8561e6d24336d1ca5c605bbfaab4cad"}, + {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fc3dc9fb413fc34c396f52f4c87de18d0bd5023804afa8ab5cc224deeb6a9900"}, + {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4dfa420bb9225dd33b6efdabde7c6a671b51150b9b1d9c4e5cd74d3b420b3fe1"}, + {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7b5c472099b39b274dcde27f1113db8d818c9aa3ba8f78cbb8ad04a4c1ac2118"}, + {file = "simplejson-3.19.3-cp310-cp310-win32.whl", hash = "sha256:817abad79241ed4a507b3caf4d3f2be5079f39d35d4c550a061988986bffd2ec"}, + {file = "simplejson-3.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:dd5b9b1783e14803e362a558680d88939e830db2466f3fa22df5c9319f8eea94"}, + {file = "simplejson-3.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e88abff510dcff903a18d11c2a75f9964e768d99c8d147839913886144b2065e"}, + {file = "simplejson-3.19.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:934a50a614fb831614db5dbfba35127ee277624dda4d15895c957d2f5d48610c"}, + {file = "simplejson-3.19.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:212fce86a22188b0c7f53533b0f693ea9605c1a0f02c84c475a30616f55a744d"}, + {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d9e8f836688a8fabe6a6b41b334aa550a6823f7b4ac3d3712fc0ad8655be9a8"}, + {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23228037dc5d41c36666384062904d74409a62f52283d9858fa12f4c22cffad1"}, + {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0791f64fed7d4abad639491f8a6b1ba56d3c604eb94b50f8697359b92d983f36"}, + {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4f614581b61a26fbbba232a1391f6cee82bc26f2abbb6a0b44a9bba25c56a1c"}, + {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1df0aaf1cb787fdf34484ed4a1f0c545efd8811f6028623290fef1a53694e597"}, + {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:951095be8d4451a7182403354c22ec2de3e513e0cc40408b689af08d02611588"}, + {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a954b30810988feeabde843e3263bf187697e0eb5037396276db3612434049b"}, + {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c40df31a75de98db2cdfead6074d4449cd009e79f54c1ebe5e5f1f153c68ad20"}, + {file = "simplejson-3.19.3-cp311-cp311-win32.whl", hash = "sha256:7e2a098c21ad8924076a12b6c178965d88a0ad75d1de67e1afa0a66878f277a5"}, + {file = "simplejson-3.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:c9bedebdc5fdad48af8783022bae307746d54006b783007d1d3c38e10872a2c6"}, + {file = "simplejson-3.19.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:66a0399e21c2112acacfebf3d832ebe2884f823b1c7e6d1363f2944f1db31a99"}, + {file = "simplejson-3.19.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6ef9383c5e05f445be60f1735c1816163c874c0b1ede8bb4390aff2ced34f333"}, + {file = "simplejson-3.19.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:42e5acf80d4d971238d4df97811286a044d720693092b20a56d5e56b7dcc5d09"}, + {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0b0efc7279d768db7c74d3d07f0b5c81280d16ae3fb14e9081dc903e8360771"}, + {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0552eb06e7234da892e1d02365cd2b7b2b1f8233aa5aabdb2981587b7cc92ea0"}, + {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf6a3b9a7d7191471b464fe38f684df10eb491ec9ea454003edb45a011ab187"}, + {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7017329ca8d4dca94ad5e59f496e5fc77630aecfc39df381ffc1d37fb6b25832"}, + {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:67a20641afebf4cfbcff50061f07daad1eace6e7b31d7622b6fa2c40d43900ba"}, + {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:dd6a7dabcc4c32daf601bc45e01b79175dde4b52548becea4f9545b0a4428169"}, + {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:08f9b443a94e72dd02c87098c96886d35790e79e46b24e67accafbf13b73d43b"}, + {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa97278ae6614346b5ca41a45a911f37a3261b57dbe4a00602048652c862c28b"}, + {file = "simplejson-3.19.3-cp312-cp312-win32.whl", hash = "sha256:ef28c3b328d29b5e2756903aed888960bc5df39b4c2eab157ae212f70ed5bf74"}, + {file = "simplejson-3.19.3-cp312-cp312-win_amd64.whl", hash = "sha256:1e662336db50ad665777e6548b5076329a94a0c3d4a0472971c588b3ef27de3a"}, + {file = "simplejson-3.19.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0959e6cb62e3994b5a40e31047ff97ef5c4138875fae31659bead691bed55896"}, + {file = "simplejson-3.19.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a7bfad839c624e139a4863007233a3f194e7c51551081f9789cba52e4da5167"}, + {file = "simplejson-3.19.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afab2f7f2486a866ff04d6d905e9386ca6a231379181a3838abce1f32fbdcc37"}, + {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d00313681015ac498e1736b304446ee6d1c72c5b287cd196996dad84369998f7"}, + {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d936ae682d5b878af9d9eb4d8bb1fdd5e41275c8eb59ceddb0aeed857bb264a2"}, + {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c6657485393f2e9b8177c77a7634f13ebe70d5e6de150aae1677d91516ce6b"}, + {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a6a750d3c7461b1c47cfc6bba8d9e57a455e7c5f80057d2a82f738040dd1129"}, + {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ea7a4a998c87c5674a27089e022110a1a08a7753f21af3baf09efe9915c23c3c"}, + {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6300680d83a399be2b8f3b0ef7ef90b35d2a29fe6e9c21438097e0938bbc1564"}, + {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ab69f811a660c362651ae395eba8ce84f84c944cea0df5718ea0ba9d1e4e7252"}, + {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:256e09d0f94d9c3d177d9e95fd27a68c875a4baa2046633df387b86b652f5747"}, + {file = "simplejson-3.19.3-cp313-cp313-win32.whl", hash = "sha256:2c78293470313aefa9cfc5e3f75ca0635721fb016fb1121c1c5b0cb8cc74712a"}, + {file = "simplejson-3.19.3-cp313-cp313-win_amd64.whl", hash = "sha256:3bbcdc438dc1683b35f7a8dc100960c721f922f9ede8127f63bed7dfded4c64c"}, + {file = "simplejson-3.19.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:89b35433186e977fa86ff1fd179c1fadff39cfa3afa1648dab0b6ca53153acd9"}, + {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d43c2d7504eda566c50203cdc9dc043aff6f55f1b7dae0dcd79dfefef9159d1c"}, + {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6890ff9cf0bd2e1d487e2a8869ebd620a44684c0a9667fa5ee751d099d5d84c8"}, + {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1069143a8fb3905e1bc0696c62be7e3adf812e9f1976ac9ae15b05112ff57cc9"}, + {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb324bb903330cbb35d87cce367a12631cd5720afa06e5b9c906483970946da6"}, + {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:0a32859d45d7b85fb803bb68f6bee14526991a1190269116c33399fa0daf9bbf"}, + {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:23833ee7e791ec968b744dfee2a2d39df7152050051096caf4296506d75608d8"}, + {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:d73efb03c5b39249c82488a994f0998f9e4399e3d085209d2120503305ba77a8"}, + {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:7923878b7a0142d39763ec2dbecff3053c1bedd3653585a8474666e420fe83f5"}, + {file = "simplejson-3.19.3-cp36-cp36m-win32.whl", hash = "sha256:7355c7203353c36d46c4e7b6055293b3d2be097bbc5e2874a2b8a7259f0325dd"}, + {file = "simplejson-3.19.3-cp36-cp36m-win_amd64.whl", hash = "sha256:d1b8b4d6379fe55f471914345fe6171d81a18649dacf3248abfc9c349b4442eb"}, + {file = "simplejson-3.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d36608557b4dcd7a62c29ad4cd7c5a1720bbf7dc942eff9dc42d2c542a5f042d"}, + {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7137e69c6781ecf23afab064be94a277236c9cba31aa48ff1a0ec3995c69171e"}, + {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76f8c28fe2d426182405b18ddf3001fce47835a557dc15c3d8bdea01c03361da"}, + {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff7bc1bbdaa3e487c9469128bf39408e91f5573901cb852e03af378d3582c52d"}, + {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0782cb9bf827f0c488b6aa0f2819f618308a3caf2973cfd792e45d631bec4db"}, + {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:6fea0716c593dabb4392c4996d4e902a83b2428e6da82938cf28a523a11eb277"}, + {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:8f41bb5370b34f63171e65fdb00e12be1d83675cecb23e627df26f4c88dfc021"}, + {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:37105d1d708365b91165e1a6e505bdecc88637091348cf4b6adcdcb4f5a5fb8b"}, + {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:b9198c1f1f8910a3b86b60f4fe2556d9d28d3fefe35bffe6be509a27402e694d"}, + {file = "simplejson-3.19.3-cp37-cp37m-win32.whl", hash = "sha256:bc164f32dd9691e7082ce5df24b4cf8c6c394bbf9bdeeb5d843127cd07ab8ad2"}, + {file = "simplejson-3.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:1bd41f2cb1a2c57656ceff67b12d005cb255c728265e222027ad73193a04005a"}, + {file = "simplejson-3.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0733ecd95ae03ae718ec74aad818f5af5f3155d596f7b242acbc1621e765e5fb"}, + {file = "simplejson-3.19.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a0710d1a5e41c4f829caa1572793dd3130c8d65c2b194c24ff29c4c305c26e0"}, + {file = "simplejson-3.19.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1a53a07320c5ff574d8b1a89c937ce33608832f166f39dff0581ac43dc979abd"}, + {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1773cabfba66a6337b547e45dafbd471b09487370bcab75bd28f626520410d29"}, + {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c0104b4b7d2c75ccedbf1d9d5a3bd2daa75e51053935a44ba012e2fd4c43752"}, + {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c49eeb94b8f09dc8a5843c156a22b8bde6aa1ddc65ca8ddc62dddcc001e6a2d"}, + {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dc5c1a85ff388e98ea877042daec3d157b6db0d85bac6ba5498034689793e7e"}, + {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:49549e3d81ab4a58424405aa545602674d8c35c20e986b42bb8668e782a94bac"}, + {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:e1a1452ad5723ff129b081e3c8aa4ba56b8734fee4223355ed7b815a7ece69bc"}, + {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:d0d5a63f1768fed7e78cf55712dee81f5a345e34d34224f3507ebf71df2b754d"}, + {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:7e062767ac165df9a46963f5735aa4eee0089ec1e48b3f2ec46182754b96f55e"}, + {file = "simplejson-3.19.3-cp38-cp38-win32.whl", hash = "sha256:56134bbafe458a7b21f6fddbf889d36bec6d903718f4430768e3af822f8e27c2"}, + {file = "simplejson-3.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:bcde83a553a96dc7533736c547bddaa35414a2566ab0ecf7d3964fc4bdb84c11"}, + {file = "simplejson-3.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b5587feda2b65a79da985ae6d116daf6428bf7489992badc29fc96d16cd27b05"}, + {file = "simplejson-3.19.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e0d2b00ecbcd1a3c5ea1abc8bb99a26508f758c1759fd01c3be482a3655a176f"}, + {file = "simplejson-3.19.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:32a3ada8f3ea41db35e6d37b86dade03760f804628ec22e4fe775b703d567426"}, + {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f455672f4738b0f47183c5896e3606cd65c9ddee3805a4d18e8c96aa3f47c84"}, + {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b737a5fefedb8333fa50b8db3dcc9b1d18fd6c598f89fa7debff8b46bf4e511"}, + {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb47ee773ce67476a960e2db4a0a906680c54f662521550828c0cc57d0099426"}, + {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eed8cd98a7b24861da9d3d937f5fbfb6657350c547528a117297fe49e3960667"}, + {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:619756f1dd634b5bdf57d9a3914300526c3b348188a765e45b8b08eabef0c94e"}, + {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dd7230d061e755d60a4d5445bae854afe33444cdb182f3815cff26ac9fb29a15"}, + {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:101a3c8392028cd704a93c7cba8926594e775ca3c91e0bee82144e34190903f1"}, + {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e557712fc79f251673aeb3fad3501d7d4da3a27eff0857af2e1d1afbbcf6685"}, + {file = "simplejson-3.19.3-cp39-cp39-win32.whl", hash = "sha256:0bc5544e3128891bf613b9f71813ee2ec9c11574806f74dd8bb84e5e95bf64a2"}, + {file = "simplejson-3.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:06662392e4913dc8846d6a71a6d5de86db5fba244831abe1dd741d62a4136764"}, + {file = "simplejson-3.19.3-py3-none-any.whl", hash = "sha256:49cc4c7b940d43bd12bf87ec63f28cbc4964fc4e12c031cc8cd01650f43eb94e"}, + {file = "simplejson-3.19.3.tar.gz", hash = "sha256:8e086896c36210ab6050f2f9f095a5f1e03c83fa0e7f296d6cba425411364680"}, ] [[package]] @@ -3820,13 +4243,13 @@ testing = ["Flask (>=1,<2)", "Flask-Sockets (>=0.2,<1)", "Werkzeug (<2)", "black [[package]] name = "social-auth-app-django" -version = "5.4.1" +version = "5.4.2" description = "Python Social Authentication, Django integration." optional = false python-versions = ">=3.8" files = [ - {file = "social-auth-app-django-5.4.1.tar.gz", hash = "sha256:2a43cde559dd34fdc7132417b6c52c780fa99ec2332dee9f405b4763f371c367"}, - {file = "social_auth_app_django-5.4.1-py3-none-any.whl", hash = "sha256:7519f186c63c50f2d364457b236f051338d194bcface55e318a6a705c5213477"}, + {file = "social-auth-app-django-5.4.2.tar.gz", hash = "sha256:c8832c6cf13da6ad76f5613bcda2647d89ae7cfbc5217fadd13477a3406feaa8"}, + {file = "social_auth_app_django-5.4.2-py3-none-any.whl", hash = "sha256:0c041a31707921aef9a930f143183c65d8c7b364381364a50f3f7c6fcc9d62f6"}, ] [package.dependencies] @@ -3835,40 +4258,39 @@ social-auth-core = ">=4.4.1" [[package]] name = "social-auth-core" -version = "4.4.2" +version = "4.5.4" description = "Python social authentication made simple." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "social-auth-core-4.4.2.tar.gz", hash = "sha256:9791d7c7aee2ac8517fe7a2ea2f942a8a5492b3a4ccb44a9b0dacc87d182f2aa"}, - {file = "social_auth_core-4.4.2-py3-none-any.whl", hash = "sha256:ea7a19c46b791b767e95f467881b53c5fd0d1efb40048d9ed3dbc46daa05c954"}, + {file = "social-auth-core-4.5.4.tar.gz", hash = "sha256:d3dbeb0999ffd0e68aa4bd73f2ac698a18133fd11b3fc890e1366f18c8889fac"}, + {file = "social_auth_core-4.5.4-py3-none-any.whl", hash = "sha256:33cf970a623c442376f9d4a86fb187579e4438649daa5b5be993d05e74d7b2db"}, ] [package.dependencies] cryptography = ">=1.4" defusedxml = ">=0.5.0rc1" oauthlib = ">=1.0.3" -PyJWT = ">=2.0.0" +PyJWT = ">=2.7.0" python3-openid = ">=3.0.10" requests = ">=2.9.1" requests-oauthlib = ">=0.6.1" [package.extras] -all = ["cryptography (>=2.1.1)", "python-jose (>=3.0.0)", "python3-saml (>=1.5.0)"] -allpy3 = ["cryptography (>=2.1.1)", "python-jose (>=3.0.0)", "python3-saml (>=1.5.0)"] +all = ["cryptography (>=2.1.1)", "python3-saml (>=1.5.0)"] +allpy3 = ["cryptography (>=2.1.1)", "python3-saml (>=1.5.0)"] azuread = ["cryptography (>=2.1.1)"] -openidconnect = ["python-jose (>=3.0.0)"] saml = ["python3-saml (>=1.5.0)"] [[package]] name = "sqlparse" -version = "0.5.0" +version = "0.5.3" description = "A non-validating SQL parser." optional = false python-versions = ">=3.8" files = [ - {file = "sqlparse-0.5.0-py3-none-any.whl", hash = "sha256:c204494cd97479d0e39f28c93d46c0b2d5959c7b9ab904762ea6c7af211c8663"}, - {file = "sqlparse-0.5.0.tar.gz", hash = "sha256:714d0a4932c059d16189f58ef5411ec2287a4360f17cdd0edd2d09d4c5087c93"}, + {file = "sqlparse-0.5.3-py3-none-any.whl", hash = "sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca"}, + {file = "sqlparse-0.5.3.tar.gz", hash = "sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272"}, ] [package.extras] @@ -3916,46 +4338,93 @@ files = [ [[package]] name = "tomlkit" -version = "0.13.0" +version = "0.13.2" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" files = [ - {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, - {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, + {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, + {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, +] + +[[package]] +name = "types-awscrt" +version = "0.23.5" +description = "Type annotations and code completion for awscrt" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types_awscrt-0.23.5-py3-none-any.whl", hash = "sha256:1c9b0ebadf64bcb396d55fcc50a84ade4eb9e6e9e1b79aa97428d8c2d529bf9f"}, + {file = "types_awscrt-0.23.5.tar.gz", hash = "sha256:1c4eaadd7489444b1cfe3570d327ce19210c047d2c44dfbfc37c38dba9c87cbb"}, +] + +[[package]] +name = "types-pyyaml" +version = "6.0.12.20240917" +description = "Typing stubs for PyYAML" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-PyYAML-6.0.12.20240917.tar.gz", hash = "sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587"}, + {file = "types_PyYAML-6.0.12.20240917-py3-none-any.whl", hash = "sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570"}, +] + +[[package]] +name = "types-requests" +version = "2.32.0.20241016" +description = "Typing stubs for requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95"}, + {file = "types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747"}, +] + +[package.dependencies] +urllib3 = ">=2" + +[[package]] +name = "types-s3transfer" +version = "0.10.4" +description = "Type annotations and code completion for s3transfer" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types_s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:22ac1aabc98f9d7f2928eb3fb4d5c02bf7435687f0913345a97dd3b84d0c217d"}, + {file = "types_s3transfer-0.10.4.tar.gz", hash = "sha256:03123477e3064c81efe712bf9d372c7c72f2790711431f9baa59cf96ea607267"}, ] [[package]] name = "types-toml" -version = "0.10.8.7" +version = "0.10.8.20240310" description = "Typing stubs for toml" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "types-toml-0.10.8.7.tar.gz", hash = "sha256:58b0781c681e671ff0b5c0319309910689f4ab40e8a2431e205d70c94bb6efb1"}, - {file = "types_toml-0.10.8.7-py3-none-any.whl", hash = "sha256:61951da6ad410794c97bec035d59376ce1cbf4453dc9b6f90477e81e4442d631"}, + {file = "types-toml-0.10.8.20240310.tar.gz", hash = "sha256:3d41501302972436a6b8b239c850b26689657e25281b48ff0ec06345b8830331"}, + {file = "types_toml-0.10.8.20240310-py3-none-any.whl", hash = "sha256:627b47775d25fa29977d9c70dc0cbab3f314f32c8d8d0c012f2ef5de7aaec05d"}, ] [[package]] name = "typing-extensions" -version = "4.9.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "tzdata" -version = "2024.1" +version = "2024.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, ] [[package]] @@ -3971,29 +4440,30 @@ files = [ [[package]] name = "urllib3" -version = "1.26.19" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +python-versions = ">=3.7" files = [ - {file = "urllib3-1.26.19-py2.py3-none-any.whl", hash = "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3"}, - {file = "urllib3-1.26.19.tar.gz", hash = "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] -brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] [[package]] name = "urlman" -version = "2.0.1" +version = "2.0.2" description = "Django URL pattern helpers" optional = false python-versions = "*" files = [ - {file = "urlman-2.0.1-py2.py3-none-any.whl", hash = "sha256:909177485ddbbeada15a21f80155762faf70fc53be31890ff7288e21803f06c7"}, - {file = "urlman-2.0.1.tar.gz", hash = "sha256:3b9c5ac4e447b1e29fa259dc76953d46d711c84b296a0c66c34870e248eb1205"}, + {file = "urlman-2.0.2-py2.py3-none-any.whl", hash = "sha256:2505bf310be424ffa6f4965a6f643ce32dc6194f61a3c5989f2f56453c614814"}, + {file = "urlman-2.0.2.tar.gz", hash = "sha256:231afe89d0d0db358fe7a2626eb39310e5bf5911f3796318955cbe77e1b39601"}, ] [[package]] @@ -4018,13 +4488,13 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "werkzeug" -version = "3.0.6" +version = "3.1.3" description = "The comprehensive WSGI web application library." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "werkzeug-3.0.6-py3-none-any.whl", hash = "sha256:1bc0c2310d2fbb07b1dd1105eba2f7af72f322e1e455f2f93c993bee8c8a5f17"}, - {file = "werkzeug-3.0.6.tar.gz", hash = "sha256:a8dd59d4de28ca70471a34cba79bed5f7ef2e036a76b3ab0835474246eb41f8d"}, + {file = "werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e"}, + {file = "werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746"}, ] [package.dependencies] @@ -4035,13 +4505,13 @@ watchdog = ["watchdog (>=2.3)"] [[package]] name = "wheel" -version = "0.41.1" +version = "0.45.1" description = "A built-package format for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "wheel-0.41.1-py3-none-any.whl", hash = "sha256:473219bd4cbedc62cea0cb309089b593e47c15c4a2531015f94e4e3b9a0f6981"}, - {file = "wheel-0.41.1.tar.gz", hash = "sha256:12b911f083e876e10c595779709f8a88a59f45aacc646492a67fe9ef796c1b47"}, + {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, + {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, ] [package.extras] @@ -4101,97 +4571,87 @@ resolved_reference = "aba7b848a13ed589c8f46fea5fa7c63a2c047d82" [[package]] name = "wrapt" -version = "1.15.0" +version = "1.17.0" description = "Module for decorators, wrappers and monkey patching." optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, +python-versions = ">=3.8" +files = [ + {file = "wrapt-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a0c23b8319848426f305f9cb0c98a6e32ee68a36264f45948ccf8e7d2b941f8"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ca5f060e205f72bec57faae5bd817a1560fcfc4af03f414b08fa29106b7e2d"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e185ec6060e301a7e5f8461c86fb3640a7beb1a0f0208ffde7a65ec4074931df"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb90765dd91aed05b53cd7a87bd7f5c188fcd95960914bae0d32c5e7f899719d"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:879591c2b5ab0a7184258274c42a126b74a2c3d5a329df16d69f9cee07bba6ea"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fce6fee67c318fdfb7f285c29a82d84782ae2579c0e1b385b7f36c6e8074fffb"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0698d3a86f68abc894d537887b9bbf84d29bcfbc759e23f4644be27acf6da301"}, + {file = "wrapt-1.17.0-cp310-cp310-win32.whl", hash = "sha256:69d093792dc34a9c4c8a70e4973a3361c7a7578e9cd86961b2bbf38ca71e4e22"}, + {file = "wrapt-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:f28b29dc158ca5d6ac396c8e0a2ef45c4e97bb7e65522bfc04c989e6fe814575"}, + {file = "wrapt-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74bf625b1b4caaa7bad51d9003f8b07a468a704e0644a700e936c357c17dd45a"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f2a28eb35cf99d5f5bd12f5dd44a0f41d206db226535b37b0c60e9da162c3ed"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81b1289e99cf4bad07c23393ab447e5e96db0ab50974a280f7954b071d41b489"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2939cd4a2a52ca32bc0b359015718472d7f6de870760342e7ba295be9ebaf9"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a9653131bda68a1f029c52157fd81e11f07d485df55410401f745007bd6d339"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4e4b4385363de9052dac1a67bfb535c376f3d19c238b5f36bddc95efae15e12d"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bdf62d25234290db1837875d4dceb2151e4ea7f9fff2ed41c0fde23ed542eb5b"}, + {file = "wrapt-1.17.0-cp311-cp311-win32.whl", hash = "sha256:5d8fd17635b262448ab8f99230fe4dac991af1dabdbb92f7a70a6afac8a7e346"}, + {file = "wrapt-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:92a3d214d5e53cb1db8b015f30d544bc9d3f7179a05feb8f16df713cecc2620a"}, + {file = "wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4"}, + {file = "wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635"}, + {file = "wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7"}, + {file = "wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a"}, + {file = "wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045"}, + {file = "wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838"}, + {file = "wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab"}, + {file = "wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf"}, + {file = "wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a"}, + {file = "wrapt-1.17.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69c40d4655e078ede067a7095544bcec5a963566e17503e75a3a3e0fe2803b13"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f495b6754358979379f84534f8dd7a43ff8cff2558dcdea4a148a6e713a758f"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:baa7ef4e0886a6f482e00d1d5bcd37c201b383f1d314643dfb0367169f94f04c"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fc931382e56627ec4acb01e09ce66e5c03c384ca52606111cee50d931a342d"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8f8909cdb9f1b237786c09a810e24ee5e15ef17019f7cecb207ce205b9b5fcce"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ad47b095f0bdc5585bced35bd088cbfe4177236c7df9984b3cc46b391cc60627"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:948a9bd0fb2c5120457b07e59c8d7210cbc8703243225dbd78f4dfc13c8d2d1f"}, + {file = "wrapt-1.17.0-cp38-cp38-win32.whl", hash = "sha256:5ae271862b2142f4bc687bdbfcc942e2473a89999a54231aa1c2c676e28f29ea"}, + {file = "wrapt-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:f335579a1b485c834849e9075191c9898e0731af45705c2ebf70e0cd5d58beed"}, + {file = "wrapt-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d751300b94e35b6016d4b1e7d0e7bbc3b5e1751e2405ef908316c2a9024008a1"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7264cbb4a18dc4acfd73b63e4bcfec9c9802614572025bdd44d0721983fc1d9c"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33539c6f5b96cf0b1105a0ff4cf5db9332e773bb521cc804a90e58dc49b10578"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30970bdee1cad6a8da2044febd824ef6dc4cc0b19e39af3085c763fdec7de33"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc7f729a72b16ee21795a943f85c6244971724819819a41ddbaeb691b2dd85ad"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6ff02a91c4fc9b6a94e1c9c20f62ea06a7e375f42fe57587f004d1078ac86ca9"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dfb7cff84e72e7bf975b06b4989477873dcf160b2fd89959c629535df53d4e0"}, + {file = "wrapt-1.17.0-cp39-cp39-win32.whl", hash = "sha256:2399408ac33ffd5b200480ee858baa58d77dd30e0dd0cab6a8a9547135f30a88"}, + {file = "wrapt-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f763a29ee6a20c529496a20a7bcb16a73de27f5da6a843249c7047daf135977"}, + {file = "wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371"}, + {file = "wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801"}, ] [[package]] name = "xmlschema" -version = "2.4.0" +version = "2.5.1" description = "An XML Schema validator and decoder" optional = false python-versions = ">=3.7" files = [ - {file = "xmlschema-2.4.0-py3-none-any.whl", hash = "sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a"}, - {file = "xmlschema-2.4.0.tar.gz", hash = "sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793"}, + {file = "xmlschema-2.5.1-py3-none-any.whl", hash = "sha256:ec2b2a15c8896c1fcd14dcee34ca30032b99456c3c43ce793fdb9dca2fb4b869"}, + {file = "xmlschema-2.5.1.tar.gz", hash = "sha256:4f7497de6c8b6dc2c28ad7b9ed6e21d186f4afe248a5bea4f54eedab4da44083"}, ] [package.dependencies] @@ -4204,16 +4664,16 @@ docs = ["Sphinx", "elementpath (>=4.1.5,<5.0.0)", "jinja2", "sphinx-rtd-theme"] [[package]] name = "xmltodict" -version = "0.13.0" +version = "0.14.2" description = "Makes working with XML feel like you are working with JSON" optional = false -python-versions = ">=3.4" +python-versions = ">=3.6" files = [ - {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, - {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, + {file = "xmltodict-0.14.2-py2.py3-none-any.whl", hash = "sha256:20cc7d723ed729276e808f26fb6b3599f786cbc37e06c65e192ba77c40f20aac"}, + {file = "xmltodict-0.14.2.tar.gz", hash = "sha256:201e7c28bb210e374999d1dde6382923ab0ed1a8a5faeece48ab525b7810a553"}, ] [metadata] lock-version = "2.0" python-versions = ">=3.11, <3.13" -content-hash = "3a490ddf78d714b0fb4394a3f384856576d1db5b5c9ad270a29d1434aa2562f6" +content-hash = "6d6d23380477a04e1f45e6551454de2a96544fb7e06ec26a889d4e1987de911a" diff --git a/api/pyproject.toml b/api/pyproject.toml index c808f8b6f967..5aa85d712ecc 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -161,7 +161,7 @@ django-ordered-model = "~3.4.1" django-ses = "~3.5.0" django-axes = "~5.32.0" pydantic = "^2.3.0" -pyngo = "~2.0.1" +pyngo = "~2.2.1" flagsmith = "^3.6.0" python-gnupg = "^0.5.1" django-redis = "^5.4.0" @@ -221,6 +221,10 @@ django-extensions = "^3.2.3" pdbpp = "^0.10.3" mypy-boto3-dynamodb = "^1.33.0" pytest-structlog = "^1.1" +mypy = "^1.11.2" +django-stubs = "~5.1.1" +djangorestframework-stubs = "~3.14.0" +boto3-stubs = "~1.35.67" [build-system] requires = ["poetry-core>=1.5.0"] From d0f3931aca9c1e08c88576c608bd16db6f100778 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:44:30 +0000 Subject: [PATCH 28/51] Create mypy.ini --- api/mypy.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 api/mypy.ini diff --git a/api/mypy.ini b/api/mypy.ini new file mode 100644 index 000000000000..d5c6eac0da69 --- /dev/null +++ b/api/mypy.ini @@ -0,0 +1,10 @@ +[mypy] +exclude = ^(tests/)$ +plugins = mypy_django_plugin.main + +[mypy.plugins.django-stubs] +django_settings_module = "app.settings.local" + +# Enable Django Rest Framework stubs. +[mypy.plugins.drf-stubs] +enabled = True From 1393a656bb3d6964aa3114924a15375f0c0401fc Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:45:00 +0000 Subject: [PATCH 29/51] Add __init__.py files for mypy --- api/features/workflows/core/templates/__init__.py | 0 api/features/workflows/core/templates/workflows_core/__init__.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 api/features/workflows/core/templates/__init__.py create mode 100644 api/features/workflows/core/templates/workflows_core/__init__.py diff --git a/api/features/workflows/core/templates/__init__.py b/api/features/workflows/core/templates/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/api/features/workflows/core/templates/workflows_core/__init__.py b/api/features/workflows/core/templates/workflows_core/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 From 96cf3041cda8b46236895c9935e63080cae0c138 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:49:25 +0000 Subject: [PATCH 30/51] Add mypy baseline failures --- api/scripts/mypy_baseline.txt | 1532 +++++++++++++++++++++++++++++++++ 1 file changed, 1532 insertions(+) create mode 100644 api/scripts/mypy_baseline.txt diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt new file mode 100644 index 000000000000..890231903059 --- /dev/null +++ b/api/scripts/mypy_baseline.txt @@ -0,0 +1,1532 @@ +users/emails.py:1: error: Skipping analyzing "djoser": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] +integrations/opencensus/querylogger.py:1: error: Skipping analyzing "google.rpc": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/opencensus/querylogger.py:2: error: Skipping analyzing "opencensus.trace": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/subscriptions/metadata.py:14: error: Incompatible default for argument "chargebee_email" (default has type "None", argument has type "str") [assignment] +organisations/subscriptions/metadata.py:14: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:14: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] +organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle +organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: +organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: +organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): +organisations/subscriptions/metadata.py:71: note: return NotImplemented +organisations/subscriptions/metadata.py:71: note: return +app_analytics/types.py:5: error: Parameter 1 of Literal[...] is invalid [valid-type] +app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] +temp_hubspot.py:2: error: Name "Organisation" is not defined [name-defined] +temp_hubspot.py:3: error: Name "SettingsWrapper" is not defined [name-defined] +temp_hubspot.py:9: error: Name "FFAdminUser" is not defined [name-defined] +temp_hubspot.py:17: error: Name "OrganisationRole" is not defined [name-defined] +temp_hubspot.py:20: error: Name "HubspotLead" is not defined [name-defined] +integrations/lead_tracking/pipedrive/models.py:18: error: Incompatible types in assignment (expression has type "None", variable has type "Schema") [assignment] +integrations/lead_tracking/pipedrive/models.py:22: error: Incompatible default for argument "schema" (default has type "None", argument has type "Schema") [assignment] +integrations/lead_tracking/pipedrive/models.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:43: error: Incompatible default for argument "id" (default has type "None", argument has type "str") [assignment] +integrations/lead_tracking/pipedrive/models.py:43: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:43: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:44: error: Incompatible default for argument "owner_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:44: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:44: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:45: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +integrations/lead_tracking/pipedrive/models.py:45: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:45: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:46: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:46: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:46: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:47: error: Incompatible default for argument "organization_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:48: error: Incompatible default for argument "value" (default has type "None", argument has type "PipedriveValue") [assignment] +integrations/lead_tracking/pipedrive/models.py:48: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:48: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:49: error: Incompatible default for argument "expected_close_date" (default has type "None", argument has type "date") [assignment] +integrations/lead_tracking/pipedrive/models.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:50: error: Incompatible default for argument "visible_to" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:50: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:50: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:51: error: Incompatible default for argument "was_seen" (default has type "None", argument has type "bool") [assignment] +integrations/lead_tracking/pipedrive/models.py:51: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:51: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:72: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:72: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:72: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:73: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +integrations/lead_tracking/pipedrive/models.py:73: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:73: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:99: error: Incompatible default for argument "key" (default has type "None", argument has type "str") [assignment] +integrations/lead_tracking/pipedrive/models.py:99: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:99: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:101: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/models.py:125: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/models.py:125: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/models.py:125: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:29: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:48: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveOrganization] [misc] +integrations/lead_tracking/pipedrive/client.py:59: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedrivePerson] [misc] +integrations/lead_tracking/pipedrive/client.py:72: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveOrganizationField") [return-value] +integrations/lead_tracking/pipedrive/client.py:83: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveDealField") [return-value] +integrations/lead_tracking/pipedrive/client.py:89: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/pipedrive/client.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:90: error: Incompatible default for argument "custom_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:90: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:90: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:91: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +integrations/lead_tracking/pipedrive/client.py:91: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:91: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:105: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveLead") [return-value] +integrations/lead_tracking/pipedrive/client.py:120: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedrivePerson") [return-value] +integrations/lead_tracking/pipedrive/client.py:129: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveLeadLabel] [misc] +integrations/lead_tracking/pipedrive/client.py:136: error: Incompatible default for argument "data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:136: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:136: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/pipedrive/client.py:137: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +integrations/lead_tracking/pipedrive/client.py:137: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/pipedrive/client.py:137: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/launch_darkly/client.py:30: error: A function returning TypeVar should receive at least one argument containing the same TypeVar [type-var] +integrations/launch_darkly/client.py:56: error: Need type annotation for "response_json" [var-annotated] +util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] +util/pydantic.py:17: note: Possible overload variants: +util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] +util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] +features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] +api/openapi.py:4: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/openapi.py:5: error: Skipping analyzing "drf_yasg.openapi": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/utils.py:20: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +edge_api/identities/utils.py:25: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +edge_api/identities/utils.py:30: error: Incompatible return value type (got "dict[str, Literal['+', '-', '~']]", expected "FeatureStateChangeDetails") [return-value] +environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] +environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +integrations/common/wrapper.py:23: error: Unexpected "..." [misc] +features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] +features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] +features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +/home/zach/.cache/pypoetry/virtualenvs/flagsmith-api-rl5v6uhh-py3.12/lib/python3.12/site-packages/django-stubs/db/models/fields/related.pyi:154: note: "ForeignKey" defined here +features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +/home/zach/.cache/pypoetry/virtualenvs/flagsmith-api-rl5v6uhh-py3.12/lib/python3.12/site-packages/django-stubs/db/models/fields/related.pyi:154: note: "ForeignKey" defined here +core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] +core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] +core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +core/models.py:67: error: Missing return statement [return] +core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] +core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] +core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] +core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] +core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] +core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] +core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/routers.py:101: error: Missing return statement [return] +app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] +app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] +app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] +integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] +features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] +features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] +environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] +app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] +app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? +app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] +app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] +app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] +app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] +app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] +organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/multivariate/models.py:89: error: Missing return statement [return] +features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] +organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] +integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] +integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] +organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/chargebee.py:143: error: Missing return statement [return] +custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] +organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] +organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] +organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] +integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] +api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] +api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] +integrations/github/client.py:116: error: Missing return statement [return] +integrations/github/client.py:282: error: Missing return statement [return] +integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] +features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] +features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] +features/versioning/models.py:97: note: Left operand is of type "datetime | None" +features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] +features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] +features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] +features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] +features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] +features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] +features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] +features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] +features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] +features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] +features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] +features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] +features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "IncEx | None" [arg-type] +util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] +util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] +util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] +util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] +util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] +util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] +util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] +util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] +segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] +segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] +segments/models.py:182: note: Left operand is of type "int | None" +segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +segments/models.py:370: error: Missing return statement [return] +segments/models.py:374: error: Missing return statement [return] +projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] +projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] +projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] +projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] +features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/models.py:530: error: Unsupported left operand type for < ("None") [operator] +features/models.py:530: note: Both left and right operands are unions +features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +features/models.py:537: error: Unsupported left operand type for > ("None") [operator] +features/models.py:537: note: Both left and right operands are unions +features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] +features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] +features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] +features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] +features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] +features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] +features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] +features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] +features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] +features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] +features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] +features/models.py:924: error: Return value expected [return-value] +features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] +features/models.py:934: error: Return value expected [return-value] +features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] +features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/models.py:1114: error: Return value expected [return-value] +features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +features/models.py:1117: error: Return value expected [return-value] +features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] +environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] +environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] +environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] +audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] +audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] +audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] +audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] +audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] +audit/models.py:29: error: Need type annotation for "project" [var-annotated] +audit/models.py:32: error: Need type annotation for "environment" [var-annotated] +audit/models.py:39: error: Need type annotation for "log" [var-annotated] +audit/models.py:40: error: Need type annotation for "author" [var-annotated] +audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] +audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] +audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] +audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] +audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] +audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] +audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] +audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] +audit/models.py:106: error: Return value expected [return-value] +audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] +segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] +integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] +integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] +integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] +features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] +features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] +integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] +environments/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:22: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:65: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/models.py:73: error: Need type annotation for "name" [var-annotated] +environments/models.py:74: error: Need type annotation for "created_date" [var-annotated] +environments/models.py:75: error: Need type annotation for "description" [var-annotated] +environments/models.py:76: error: Need type annotation for "project" [var-annotated] +environments/models.py:90: error: Need type annotation for "api_key" [var-annotated] +environments/models.py:94: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +environments/models.py:96: error: Need type annotation for "webhooks_enabled" [var-annotated] +environments/models.py:97: error: Need type annotation for "webhook_url" [var-annotated] +environments/models.py:99: error: Need type annotation for "allow_client_traits" [var-annotated] +environments/models.py:102: error: Need type annotation for "updated_at" [var-annotated] +environments/models.py:106: error: Need type annotation for "banner_text" [var-annotated] +environments/models.py:107: error: Need type annotation for "banner_colour" [var-annotated] +environments/models.py:112: error: Need type annotation for "hide_disabled_flags" [var-annotated] +environments/models.py:120: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] +environments/models.py:128: error: Need type annotation for "hide_sensitive_data" [var-annotated] +environments/models.py:133: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] +environments/models.py:134: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] +environments/models.py:139: error: Need type annotation for "is_creating" [var-annotated] +environments/models.py:172: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] +environments/models.py:172: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:172: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:242: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +environments/models.py:242: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:242: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:242: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +environments/models.py:279: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] +environments/models.py:284: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] +environments/models.py:288: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/models.py:288: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:288: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:443: error: Invalid type comment or annotation [valid-type] +environments/models.py:443: note: Suggestion: use type[...] instead of type(...) +environments/models.py:444: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] +environments/models.py:444: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:444: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:445: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] +environments/models.py:445: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:445: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:446: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] +environments/models.py:446: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:446: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:498: error: Need type annotation for "environment" [var-annotated] +environments/models.py:501: error: Need type annotation for "key" [var-annotated] +environments/models.py:502: error: Need type annotation for "created_at" [var-annotated] +environments/models.py:503: error: Need type annotation for "name" [var-annotated] +environments/models.py:504: error: Need type annotation for "expires_at" [var-annotated] +environments/models.py:505: error: Need type annotation for "active" [var-annotated] +webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] +webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] +webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] +webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] +webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] +webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] +permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] +permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] +features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] +features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] +features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] +features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" +features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] +environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] +environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] +permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] +features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] +features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] +features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] +features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] +users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] +users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] +users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] +users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] +users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] +users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] +users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] +users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] +users/models.py:142: note: Superclass: +users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] +users/models.py:142: note: Subclass: +users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any +users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +users/models.py:244: error: Missing return statement [return] +users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] +environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] +api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] +integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] +features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/serializers.py:117: error: Need type annotation for "emails" [var-annotated] +organisations/serializers.py:221: error: Need type annotation for "events_list" [var-annotated] +integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] +integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] +users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +features/serializers.py:281: error: Missing return statement [return] +features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] +features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] +features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] +features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] +integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] +integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] +integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] +integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] +integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] +integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] +integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] +integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] +features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +features/workflows/core/models.py:224: error: Missing return statement [return] +features/workflows/core/models.py:232: error: Missing return statement [return] +features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] +features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] +features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] +features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] +features/workflows/core/models.py:403: error: Missing return statement [return] +features/workflows/core/models.py:407: error: Missing return statement [return] +environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] +projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] +integrations/webhook/serializers.py:52: error: Missing return statement [return] +integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] +integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] +integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/serializers.py:84: error: Incompatible types in assignment (expression has type tuple[str, str, ... <15 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +environments/serializers.py:86: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/serializers.py:86: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:86: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/serializers.py:88: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] +environments/serializers.py:101: error: Cannot determine type of "fields" [has-type] +environments/serializers.py:129: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +environments/serializers.py:129: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] +environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] +environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] +integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/renderers.py:14: error: Cannot override class variable (previously declared on base class "JSONRenderer") with instance variable [misc] +util/migrations.py:46: error: Item "UserOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +util/migrations.py:46: error: Item "UserPermissionGroupOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +util/logging.py:8: error: Skipping analyzing "gunicorn.config": module is installed, but missing library stubs or py.typed marker [import-untyped] +util/logging.py:9: error: Skipping analyzing "gunicorn.instrument.statsd": module is installed, but missing library stubs or py.typed marker [import-untyped] +util/logging.py:36: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:36: note: Possible overload variants: +util/logging.py:36: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:36: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:36: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:37: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:37: note: Possible overload variants: +util/logging.py:37: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:37: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:37: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:38: error: Unsupported left operand type for + ("object") [operator] +util/logging.py:38: note: Left operand is of type "Any | object" +util/logging.py:42: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:42: note: Possible overload variants: +util/logging.py:42: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:42: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:42: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:42: error: Argument 1 to "strptime" of "datetime" has incompatible type "Any | object"; expected "str" [arg-type] +util/logging.py:44: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:44: note: Possible overload variants: +util/logging.py:44: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:44: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:44: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:45: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:45: note: Possible overload variants: +util/logging.py:45: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:45: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:45: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:46: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:46: note: Possible overload variants: +util/logging.py:46: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:46: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:46: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:47: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:47: note: Possible overload variants: +util/logging.py:47: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:47: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:47: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:48: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:48: note: Possible overload variants: +util/logging.py:48: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:48: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:48: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:49: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:49: note: Possible overload variants: +util/logging.py:49: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:49: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:49: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/logging.py:50: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +util/logging.py:50: note: Possible overload variants: +util/logging.py:50: note: def __getitem__(self, SupportsIndex, /) -> object +util/logging.py:50: note: def __getitem__(self, slice, /) -> tuple[object, ...] +util/logging.py:50: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +util/history/custom_simple_history.py:2: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/services.py:5: error: Skipping analyzing "djoser.email": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/admin.py:84: error: Incompatible default for argument "obj" (default has type "None", argument has type "Project") [assignment] +projects/admin.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/admin.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/tags/serializers.py:25: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "is_system_tag" [union-attr] +projects/tags/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permissions_calculator.py:81: error: Invalid type comment or annotation [valid-type] +permissions/permissions_calculator.py:103: error: Argument 1 to "reduce" has incompatible type "Callable[[set[Never], set[str]], set[str]]"; expected "Callable[[set[Never], set[str]], set[Never]]" [arg-type] +permissions/permissions_calculator.py:103: error: Incompatible return value type (got "set[str]", expected "set[Never]") [return-value] +permissions/permissions_calculator.py:109: error: "Iterable[str]" has no attribute "union" [attr-defined] +permissions/permissions_calculator.py:135: error: Argument 1 to "get_user_permission_data" has incompatible type "UserProjectPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +permissions/permissions_calculator.py:147: error: Argument 1 to "get_user_permission_data" has incompatible type "UserOrganisationPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +permissions/permissions_calculator.py:158: error: Argument 1 to "get_user_permission_data" has incompatible type "UserEnvironmentPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +permissions/permissions_calculator.py:165: error: Incompatible default for argument "user_permission" (default has type "None", argument has type "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission") [assignment] +permissions/permissions_calculator.py:165: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permissions_calculator.py:165: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/chargebee/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/pipedrive/lead_tracker.py:17: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/lead_tracking/pipedrive/lead_tracker.py:82: error: Unsupported target for indexed assignment ("object") [index] +integrations/lead_tracking/pipedrive/lead_tracker.py:86: error: Unsupported target for indexed assignment ("object") [index] +integrations/lead_tracking/hubspot/services.py:15: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:15: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:19: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:19: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:30: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/lead_tracking/hubspot/services.py:30: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +integrations/launch_darkly/services.py:62: error: Argument 1 to "contextmanager" has incompatible type "Callable[[LaunchDarklyImportRequest], None]"; expected "Callable[[LaunchDarklyImportRequest], Iterator[Never]]" [arg-type] +integrations/launch_darkly/services.py:63: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +integrations/launch_darkly/services.py:457: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +integrations/launch_darkly/services.py:550: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +integrations/launch_darkly/services.py:615: error: Argument "variation_idx" to "_set_imported_mv_feature_state_values" has incompatible type "int | None"; expected "str | None" [arg-type] +integrations/launch_darkly/services.py:787: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "import_request" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "ld_flag" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "feature" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "environments_by_ld_environment_key" [call-arg] +integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "segments_by_ld_key" [call-arg] +integrations/launch_darkly/services.py:992: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +integrations/launch_darkly/services.py:1075: error: Item "Request" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +integrations/launch_darkly/services.py:1075: error: Item "None" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +integrations/launch_darkly/services.py:1088: error: Need type annotation for "segment_tags_by_ld_tag" (hint: "segment_tags_by_ld_tag: dict[, ] = ...") [var-annotated] +integrations/launch_darkly/serializers.py:14: error: Incompatible types in assignment (expression has type "ListSerializer[Never]", base class "Field" defined the type as "dict[str, str | _StrPromise]") [assignment] +integrations/launch_darkly/serializers.py:25: error: Need type annotation for "created_by" [var-annotated] +integrations/datadog/datadog.py:20: error: Incompatible default for argument "session" (default has type "None", argument has type "Session") [assignment] +integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/datadog/datadog.py:20: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/admin.py:6: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/tasks.py:177: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +features/import_export/tasks.py:199: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +features/import_export/tasks.py:224: error: Item "bool" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +features/import_export/tasks.py:224: error: Item "int" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +features/import_export/tasks.py:224: error: Item "None" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +features/import_export/tasks.py:226: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:227: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:229: error: Argument "default_percentage_allocation" to "_create_multivariate_feature_option" has incompatible type "Any | str"; expected "int | float" [arg-type] +features/import_export/tasks.py:229: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:234: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +features/import_export/tasks.py:240: error: Argument "type" to "_save_feature_state_value_with_type" has incompatible type "bool | str | int | None"; expected "str" [arg-type] +features/feature_segments/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/serializers.py:17: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +environments/permissions/serializers.py:31: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +environments/permissions/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/permissions.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/permissions.py:85: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +environments/permissions/permissions.py:85: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/permissions/permissions.py:85: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/permissions/permissions.py:88: error: "Model" has no attribute "environment" [attr-defined] +environments/permissions/permissions.py:89: error: Incompatible default for argument "admin_actions" (default has type "None", argument has type "Iterable[str]") [assignment] +environments/permissions/permissions.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/permissions/permissions.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/identities/traits/admin.py:3: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/tasks.py:6: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/tasks.py:25: error: Function "builtins.id" is not valid as a type [valid-type] +edge_api/identities/tasks.py:25: note: Perhaps you need "Callable[...]" or a callback protocol? +edge_api/identities/tasks.py:28: error: Incompatible default for argument "changed_by_user_id" (default has type "None", argument has type "int") [assignment] +edge_api/identities/tasks.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:29: error: Incompatible default for argument "changed_by" (default has type "None", argument has type "str") [assignment] +edge_api/identities/tasks.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:30: error: Incompatible default for argument "new_enabled_state" (default has type "None", argument has type "bool") [assignment] +edge_api/identities/tasks.py:30: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:30: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:31: error: Incompatible default for argument "new_value" (default has type "None", argument has type "bool | int | str") [assignment] +edge_api/identities/tasks.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:32: error: Incompatible default for argument "previous_enabled_state" (default has type "None", argument has type "bool") [assignment] +edge_api/identities/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:33: error: Incompatible default for argument "previous_value" (default has type "None", argument has type "bool | int | str") [assignment] +edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/tasks.py:33: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/tasks.py:54: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +edge_api/identities/tasks.py:64: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +edge_api/identities/models.py:39: error: Incompatible return value type (got "int | None", expected "int") [return-value] +edge_api/identities/models.py:93: error: Incompatible types in assignment (expression has type "dict[tuple[Any, ...] | str | int, FeatureState]", variable has type "dict[str, FeatureState | FeatureStateModel]") [assignment] +edge_api/identities/models.py:114: error: Argument "key_function" to "get_environment_flags_dict" has incompatible type "Callable[[FeatureState], str]"; expected "Callable[[FeatureState], tuple[Any, ...]]" [arg-type] +edge_api/identities/models.py:114: error: Incompatible return value type (got "str", expected "tuple[Any, ...]") [return-value] +edge_api/identities/models.py:153: error: Argument 1 to "filter" has incompatible type "Callable[[Any], bool]"; expected "Callable[[Any], TypeGuard[FeatureStateModel | None]]" [arg-type] +edge_api/identities/models.py:153: error: Item "None" of "FeatureStateModel | None" has no attribute "featurestate_uuid" [union-attr] +edge_api/identities/models.py:168: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +edge_api/identities/models.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/models.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/models.py:177: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +edge_api/identities/models.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/models.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/models.py:207: error: Item "APIKeyUser" of "FFAdminUser | APIKeyUser" has no attribute "id" [union-attr] +edge_api/identities/models.py:229: error: Need type annotation for "changes" (hint: "changes: dict[, ] = ...") [var-annotated] +edge_api/identities/models.py:266: error: Incompatible return value type (got "dict[Any, Any]", expected "IdentityChangeset") [return-value] +edge_api/identities/edge_request_forwarder.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/edge_request_forwarder.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/edge_request_forwarder.py:23: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +edge_api/identities/edge_request_forwarder.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/edge_request_forwarder.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/edge_request_forwarder.py:24: error: Incompatible default for argument "request_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +edge_api/identities/edge_request_forwarder.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +edge_api/identities/edge_request_forwarder.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/edge_request_forwarder.py:56: error: Incompatible types in assignment (expression has type "str", variable has type "dict[Any, Any]") [assignment] +edge_api/identities/edge_request_forwarder.py:60: error: Argument 3 to "_get_headers" has incompatible type "dict[Any, Any]"; expected "str" [arg-type] +edge_api/identities/edge_request_forwarder.py:73: error: Argument 2 to "forward_trait_request_sync" has incompatible type "str"; expected "dict[Any, Any]" [arg-type] +custom_auth/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/serializers.py:4: error: Skipping analyzing "djoser.conf": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/serializers.py:5: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/serializers.py:68: error: "InviteLinkValidationMixin" has no attribute "initial_data" [attr-defined] +custom_auth/serializers.py:107: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_id" (default has type "None", argument has type "str") [assignment] +custom_auth/oauth/github.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +custom_auth/oauth/github.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_secret" (default has type "None", argument has type "str") [assignment] +custom_auth/mfa/trench/responses.py:17: error: Incompatible default for argument "status" (default has type "Literal[400]", argument has type "str") [assignment] +custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "data" [misc] +custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "status" [misc] +custom_auth/mfa/trench/responses.py:22: error: Argument "status" to "__init__" of "Response" has incompatible type "str"; expected "int | None" [arg-type] +custom_auth/mfa/trench/command/remove_backup_code.py:15: error: Argument 1 to "join" of "str" has incompatible type "set[str] | None"; expected "Iterable[str]" [arg-type] +custom_auth/mfa/trench/command/remove_backup_code.py:16: error: Item "None" of "str | None" has no attribute "split" [union-attr] +custom_auth/mfa/trench/command/remove_backup_code.py:25: error: Missing return statement [return] +custom_auth/mfa/trench/command/generate_backup_codes.py:13: error: Incompatible default for argument "quantity" (default has type "object", argument has type "int") [assignment] +custom_auth/mfa/trench/command/generate_backup_codes.py:14: error: Incompatible default for argument "length" (default has type "object", argument has type "int") [assignment] +custom_auth/mfa/trench/command/generate_backup_codes.py:15: error: Incompatible default for argument "allowed_chars" (default has type "object", argument has type "str") [assignment] +custom_auth/mfa/trench/command/create_secret.py:7: error: Argument "length" has incompatible type "object"; expected "int" [arg-type] +custom_auth/mfa/backends/application.py:27: error: Value of type "object" is not indexable [index] +custom_auth/jwt_cookie/signals.py:5: error: Skipping analyzing "corsheaders.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/signals.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/signals.py:8: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/signals.py:33: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +core/redis_cluster.py:28: error: Skipping analyzing "django_redis.client.default": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/redis_cluster.py:29: error: Skipping analyzing "django_redis.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/redis_cluster.py:30: error: Skipping analyzing "django_redis.pool": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/redis_cluster.py:84: error: Need type annotation for "_clients" (hint: "_clients: dict[, ] = ...") [var-annotated] +core/redis_cluster.py:125: error: Cannot instantiate abstract class "RedisCluster" with abstract attribute "connection_pool" [abstract] +core/middleware/axes.py:1: error: Skipping analyzing "axes.middleware": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/services.py:23: error: "Model" has no attribute "instance" [attr-defined] +audit/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/serializers.py:70: error: Incompatible return value type (got "ReturnDict[Any, Any]", expected "list[dict[str, Any]]") [return-value] +audit/serializers.py:71: error: "Model" has no attribute "get_change_details" [attr-defined] +audit/serializers.py:80: error: Incompatible return value type (got "str | None", expected "str") [return-value] +audit/serializers.py:84: error: "Model" has no attribute "history_type" [attr-defined] +app_analytics/track.py:8: error: Library stubs not installed for "six.moves.urllib.parse" [import-untyped] +app_analytics/track.py:8: note: Hint: "python3 -m pip install types-six" +app_analytics/track.py:9: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/query.py:3: error: Skipping analyzing "apiclient.discovery": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/query.py:5: error: Skipping analyzing "google.oauth2": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/forms.py:19: error: "type[UserChangeForm[Any]]" has no attribute "Meta" [attr-defined] +organisations/chargebee/webhook_handlers.py:132: error: Module has no attribute "utc" [attr-defined] +organisations/chargebee/webhook_handlers.py:171: error: Module has no attribute "utc" [attr-defined] +organisations/chargebee/webhook_handlers.py:180: error: Module has no attribute "utc" [attr-defined] +integrations/slack/slack.py:28: error: Incompatible default for argument "api_token" (default has type "None", argument has type "str") [assignment] +integrations/slack/slack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/slack/slack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/slack/slack.py:28: error: Incompatible default for argument "channel_id" (default has type "None", argument has type "str") [assignment] +integrations/launch_darkly/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/grafana/mappers.py:33: error: Cannot determine type of "feature" [has-type] +features/import_export/serializers.py:22: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +features/import_export/serializers.py:22: note: Superclass: +features/import_export/serializers.py:22: note: def save(self, **kwargs: Any) -> Any +features/import_export/serializers.py:22: note: Subclass: +features/import_export/serializers.py:22: note: def save(self) -> FeatureExport +features/import_export/serializers.py:58: error: Unsupported operand types for < ("int" and "None") [operator] +features/import_export/serializers.py:58: note: Left operand is of type "int | None" +features/import_export/serializers.py:64: error: List item 0 has incompatible type "Callable[[InMemoryUploadedFile], None]"; expected "Callable[[File[Any]], None] | ContextValidator[File[Any]]" [list-item] +features/import_export/serializers.py:64: note: "function" is missing following "ContextValidator" protocol member: +features/import_export/serializers.py:64: note: requires_context +features/import_export/serializers.py:68: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +features/import_export/serializers.py:68: note: Superclass: +features/import_export/serializers.py:68: note: def save(self, **kwargs: Any) -> Any +features/import_export/serializers.py:68: note: Subclass: +features/import_export/serializers.py:68: note: def save(self, environment_id: int) -> FeatureImport +environments/sdk/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/sdk/views.py:23: error: "HttpRequest" has no attribute "environment" [attr-defined] +environments/sdk/serializers.py:152: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +environments/sdk/serializers.py:192: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[dict[Any, Any]]") [assignment] +environments/sdk/serializers.py:192: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/sdk/serializers.py:192: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +edge_api/identities/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/permissions.py:30: error: Item "AnonymousUser" of "FFAdminUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +edge_api/identities/export.py:41: error: Argument 1 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:41: error: Argument 3 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:45: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:45: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:45: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:45: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:47: error: Argument 1 to "export_edge_trait" has incompatible type "int | str | Any | Decimal | bytes | bytearray"; expected "dict[Any, Any]" [arg-type] +edge_api/identities/export.py:47: error: Argument 2 to "export_edge_trait" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:49: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:49: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:49: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:49: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +edge_api/identities/export.py:50: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:50: note: Possible overload variants: +edge_api/identities/export.py:50: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:50: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:51: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:51: note: Possible overload variants: +edge_api/identities/export.py:51: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:51: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:56: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +edge_api/identities/export.py:61: error: Argument 1 to "export_edge_feature_state" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +edge_api/identities/export.py:65: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:65: note: Possible overload variants: +edge_api/identities/export.py:65: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:65: error: Argument 5 to "export_edge_feature_state" has incompatible type "Any | str"; expected "bool" [arg-type] +edge_api/identities/export.py:65: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:68: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:68: note: Possible overload variants: +edge_api/identities/export.py:68: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:68: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:74: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +edge_api/identities/export.py:74: note: Possible overload variants: +edge_api/identities/export.py:74: note: def __getitem__(self, SupportsIndex, /) -> int +edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytes +edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytearray +edge_api/identities/export.py:74: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:77: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:78: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:87: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +edge_api/identities/export.py:90: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +edge_api/identities/export.py:96: error: Argument 2 to "export_mv_featurestate_value" has incompatible type "str"; expected "int" [arg-type] +edge_api/identities/export.py:117: error: Value expression in dictionary comprehension has incompatible type "UUID"; expected type "str" [misc] +custom_auth/oauth/serializers.py:44: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +custom_auth/mfa/trench/utils.py:14: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +custom_auth/mfa/trench/utils.py:29: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/utils.py:29: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/utils.py:32: error: Return type "User? | None" of "check_token" incompatible with return type "bool" in supertype "PasswordResetTokenGenerator" [override] +custom_auth/mfa/trench/utils.py:32: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/utils.py:32: error: Argument 2 of "check_token" is incompatible with supertype "PasswordResetTokenGenerator"; supertype defines the argument type as "str | None" [override] +custom_auth/mfa/trench/utils.py:32: note: This violates the Liskov substitution principle +custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +custom_auth/mfa/trench/utils.py:50: error: Signature of "_make_token_with_timestamp" incompatible with supertype "PasswordResetTokenGenerator" [override] +custom_auth/mfa/trench/utils.py:50: note: Superclass: +custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: FFAdminUser, timestamp: int, secret: str | bytes = ...) -> str +custom_auth/mfa/trench/utils.py:50: note: Subclass: +custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: User?, timestamp: int, **kwargs: Any) -> str +custom_auth/mfa/trench/utils.py:50: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/utils.py:50: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/utils.py:57: error: User? has no attribute "pk" [attr-defined] +custom_auth/mfa/trench/utils.py:68: error: Value of type "object" is not indexable [index] +core/apps.py:2: error: Skipping analyzing "simple_history.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/permissions.py:18: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +audit/permissions.py:18: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +audit/permissions.py:29: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +audit/permissions.py:29: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +app_analytics/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/tasks.py:32: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:71: error: Incompatible type for "enabled_when_evaluated" of "FeatureEvaluationRaw" (got "int | str | bool", expected "bool | Combinable | None") [misc] +app_analytics/tasks.py:117: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +app_analytics/tasks.py:134: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +app_analytics/tasks.py:135: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +app_analytics/tasks.py:142: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:142: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:142: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:159: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:176: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:176: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:176: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:184: error: Incompatible return value type (got "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/tasks.py:189: error: Incompatible return value type (got "QuerySet[APIUsageRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/tasks.py:196: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +app_analytics/tasks.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/tasks.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/tasks.py:204: error: Incompatible return value type (got "QuerySet[FeatureEvaluationBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/tasks.py:211: error: Incompatible return value type (got "QuerySet[FeatureEvaluationRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +app_analytics/analytics_db_service.py:17: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +app_analytics/analytics_db_service.py:17: note: Hint: "python3 -m pip install types-python-dateutil" +app_analytics/analytics_db_service.py:17: note: (or run "mypy --install-types" to install all missing stub packages) +app_analytics/analytics_db_service.py:80: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "Organisation" [arg-type] +app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +app_analytics/analytics_db_service.py:93: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "int" [arg-type] +app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +app_analytics/analytics_db_service.py:127: error: Incompatible types in assignment (expression has type "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", variable has type "QuerySet[APIUsageBucket, APIUsageBucket]") [assignment] +app_analytics/analytics_db_service.py:146: error: Incompatible return value type (got "dict_values[Any, UsageData]", expected "list[UsageData]") [return-value] +app/pagination.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/pagination.py:6: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/signals.py:31: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +organisations/management/commands/createinitialorganisation.py:43: error: Item "None" of "FFAdminUser | None" has no attribute "add_organisation" [union-attr] +integrations/grafana/grafana.py:26: error: Incompatible return value type (got "GrafanaAnnotation", expected "dict[str, Any]") [return-value] +import_export/export.py:264: error: Invalid type comment or annotation [valid-type] +import_export/export.py:264: note: Suggestion: use type[...] instead of type(...) +import_export/export.py:266: error: Incompatible types in assignment (expression has type "None", variable has type "list[str]") [assignment] +import_export/export.py:282: error: Argument 2 to "serialize" has incompatible type "**dict[str, list[Any]]"; expected "str" [arg-type] +features/import_export/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/permissions.py:13: error: Name "WrappedAPIView" is not defined [name-defined] +features/import_export/permissions.py:24: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +features/import_export/permissions.py:24: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +features/import_export/permissions.py:29: error: Name "WrappedAPIView" is not defined [name-defined] +features/import_export/permissions.py:35: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:35: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:40: error: Name "WrappedAPIView" is not defined [name-defined] +features/import_export/permissions.py:47: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:47: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/permissions.py:51: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/import_export/permissions.py:51: note: This violates the Liskov substitution principle +features/import_export/permissions.py:51: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/import_export/permissions.py:58: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +features/import_export/permissions.py:58: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +features/import_export/permissions.py:62: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/import_export/permissions.py:62: note: This violates the Liskov substitution principle +features/import_export/permissions.py:62: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/import_export/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +features/import_export/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +edge_api/management/commands/migrate_to_edge_v2.py:13: error: Missing return statement [return] +edge_api/identities/serializers.py:103: error: Return type "MultivariateFeatureOptionModel" of "to_internal_value" incompatible with return type "int" in supertype "Field" [override] +edge_api/identities/serializers.py:125: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/serializers.py:126: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/serializers.py:192: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/serializers.py:286: error: Return type "EdgeIdentitySearchData" of "to_internal_value" incompatible with return type "str" in supertype "Field" [override] +edge_api/identities/serializers.py:300: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +edge_api/identities/serializers.py:303: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +edge_api/identities/serializers.py:305: error: Argument 1 to "EdgeIdentitySearchData" has incompatible type "**dict[str, str]"; expected "EdgeIdentitySearchType" [arg-type] +custom_auth/oauth/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/mfa/trench/serializers.py:13: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +custom_auth/mfa/trench/serializers.py:19: error: Variable "custom_auth.mfa.trench.serializers.User" is not valid as a type [valid-type] +custom_auth/mfa/trench/serializers.py:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +custom_auth/mfa/trench/serializers.py:27: error: User? has no attribute "id" [attr-defined] +app_analytics/management/commands/sendapiusagetoinflux.py:6: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/management/commands/sendapiusagetoinflux.py:7: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/views.py:4: error: Skipping analyzing "common.segments.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +sales_dashboard/views.py:4: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +sales_dashboard/views.py:303: error: "Never" not callable [misc] +sales_dashboard/views.py:315: error: "Never" not callable [misc] +sales_dashboard/views.py:321: error: "Never" not callable [misc] +sales_dashboard/views.py:327: error: "Never" not callable [misc] +projects/tags/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/permissions/permissions.py:56: error: "Model" has no attribute "organisation" [attr-defined] +organisations/permissions/permissions.py:169: error: "Model" has no attribute "organisation" [attr-defined] +organisations/permissions/permissions.py:193: error: Missing return statement [return] +organisations/permissions/permissions.py:193: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +organisations/permissions/permissions.py:193: note: This violates the Liskov substitution principle +organisations/permissions/permissions.py:193: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +organisations/permissions/permissions.py:204: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:204: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:207: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +organisations/permissions/permissions.py:207: note: This violates the Liskov substitution principle +organisations/permissions/permissions.py:207: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +organisations/permissions/permissions.py:215: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:215: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +organisations/permissions/permissions.py:220: error: Argument 2 to "has_permission" of "BasePermission" has incompatible type "View"; expected "APIView" [arg-type] +organisations/permissions/permissions.py:224: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +organisations/permissions/permissions.py:224: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +metadata/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/permissions.py:11: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/permissions.py:86: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/permissions.py:86: note: This violates the Liskov substitution principle +features/permissions.py:86: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/permissions.py:120: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/permissions.py:120: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/permissions.py:129: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/permissions.py:129: note: This violates the Liskov substitution principle +features/permissions.py:129: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/permissions.py:139: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/permissions.py:139: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/permissions.py:18: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:18: note: This violates the Liskov substitution principle +features/versioning/permissions.py:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:34: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:34: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:39: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:39: note: This violates the Liskov substitution principle +features/versioning/permissions.py:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:51: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:51: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:64: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:64: note: This violates the Liskov substitution principle +features/versioning/permissions.py:64: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:73: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:73: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:78: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +features/versioning/permissions.py:78: note: This violates the Liskov substitution principle +features/versioning/permissions.py:78: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/permissions.py:81: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:81: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:85: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/versioning/permissions.py:85: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +features/import_export/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/import_export/views.py:77: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +features/import_export/views.py:106: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +features/import_export/views.py:125: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/views.py:125: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/views.py:144: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/import_export/views.py:144: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +features/feature_segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_segments/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:6: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/views.py:291: error: Incompatible types in assignment (expression has type "type[Webhook]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +environments/views.py:293: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +environments/views.py:306: error: Incompatible types in assignment (expression has type "type[EnvironmentAPIKey]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +environments/identities/views.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/views.py:12: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/jwt_cookie/views.py:1: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/management/commands/bootstrap.py:18: error: Signature of "create_parser" incompatible with supertype "BaseCommand" [override] +core/management/commands/bootstrap.py:18: note: Superclass: +core/management/commands/bootstrap.py:18: note: def create_parser(self, prog_name: str, subcommand: str, **kwargs: Any) -> CommandParser +core/management/commands/bootstrap.py:18: note: Subclass: +core/management/commands/bootstrap.py:18: note: def create_parser(self, *args: Any, **kwargs: Any) -> ArgumentParser +core/management/commands/bootstrap.py:22: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +core/management/commands/bootstrap.py:23: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +core/management/commands/bootstrap.py:24: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +core/management/commands/bootstrap.py:27: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +core/management/commands/bootstrap.py:28: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +core/management/commands/bootstrap.py:29: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +audit/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/views.py:107: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +audit/views.py:107: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +app_analytics/views.py:11: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:8: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:13: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:19: error: Skipping analyzing "moto": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:26: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:29: error: Skipping analyzing "xdist": module is installed, but missing library stubs or py.typed marker [import-untyped] +conftest.py:114: error: No return value expected [return-value] +conftest.py:114: error: Argument "json_data" to "MockResponse" has incompatible type "dict[str, str]"; expected "str" [arg-type] +conftest.py:416: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +conftest.py:439: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +conftest.py:466: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +conftest.py:691: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +conftest.py:701: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +conftest.py:723: error: Incompatible return value type (got "int", expected "str") [return-value] +conftest.py:1186: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +conftest.py:1222: error: Need type annotation for "messages" (hint: "messages: list[] = ...") [var-annotated] +conftest.py:1224: error: Return type "None" of "handle" incompatible with return type "bool" in supertype "Handler" [override] +users/views.py:16: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/views.py:124: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +users/views.py:204: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +users/views.py:204: note: This violates the Liskov substitution principle +users/views.py:204: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +users/views.py:207: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[UserPermissionGroup] | None") [return-value] +projects/permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/permissions.py:74: error: "Model" has no attribute "project" [attr-defined] +projects/permissions.py:106: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +projects/permissions.py:106: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/permissions.py:106: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/permissions.py:109: error: "Model" has no attribute "project" [attr-defined] +organisations/views.py:12: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +organisations/views.py:14: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/views.py:302: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +metadata/urls.py:3: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/views.py:143: error: Missing return statement [return] +integrations/github/views.py:143: error: Return type "Response | None" of "create" incompatible with return type "Response" in supertype "CreateModelMixin" [override] +integrations/github/views.py:167: error: Return type "Response | None" of "update" incompatible with return type "Response" in supertype "UpdateModelMixin" [override] +features/views.py:8: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/views.py:17: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/views.py:18: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/views.py:184: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +features/views.py:184: note: This violates the Liskov substitution principle +features/views.py:184: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/views.py:186: error: Cannot determine type of "_page" [has-type] +features/views.py:189: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[Feature]") [return-value] +features/versioning/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/views.py:86: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +features/versioning/views.py:86: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +features/versioning/views.py:91: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +features/versioning/views.py:91: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +features/versioning/views.py:127: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +features/versioning/views.py:127: note: This violates the Liskov substitution principle +features/versioning/views.py:127: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/views.py:250: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +features/versioning/views.py:250: note: This violates the Liskov substitution principle +features/versioning/views.py:250: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +features/versioning/views.py:259: error: Argument 1 of "perform_update" is incompatible with supertype "UpdateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +features/versioning/views.py:259: note: This violates the Liskov substitution principle +features/versioning/views.py:259: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +environments/identities/traits/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/views.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/views.py:6: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/views.py:121: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/views.py:237: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +edge_api/identities/views.py:266: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +e2etests/e2e_seed_data.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +e2etests/e2e_seed_data.py:6: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +e2etests/e2e_seed_data.py:139: error: Incompatible type for "name" of "Project" (got "Sequence[str]", expected "str | int | Combinable") [misc] +custom_auth/views.py:6: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +custom_auth/views.py:41: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +custom_auth/views.py:52: error: Value of type "object" is not indexable [index] +custom_auth/views.py:72: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +custom_auth/views.py:84: error: "CodeLoginSerializer" has no attribute "user" [attr-defined] +custom_auth/views.py:89: error: Argument "status" to "ErrorResponse" has incompatible type "Literal[401]"; expected "str" [arg-type] +custom_auth/mfa/trench/views/base.py:28: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +custom_auth/mfa/trench/views/base.py:41: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +custom_auth/mfa/trench/views/base.py:60: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +custom_auth/mfa/trench/views/base.py:74: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +custom_auth/jwt_cookie/authentication.py:15: error: Argument 1 to "get_validated_token" of "JWTAuthentication" has incompatible type "str"; expected "bytes" [arg-type] +custom_auth/jwt_cookie/authentication.py:16: error: Incompatible return value type (got "tuple[AbstractBaseUser, Token]", expected "tuple[FFAdminUser, Token] | None") [return-value] +users/migrations/0007_invite.py:27: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:7: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:8: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/views.py:148: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +projects/views.py:148: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/views.py:148: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/views.py:156: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +projects/views.py:168: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +projects/views.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/views.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/views.py:212: error: Incompatible types in assignment (expression has type "type[UserProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +projects/views.py:222: error: Incompatible types in assignment (expression has type "type[UserPermissionGroupProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +projects/migrations/0025_add_change_request_project_permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/migrations/0003_auto_20200216_2050.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0010_add_manage_tags_permission.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0009_move_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0008_add_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0001_initial.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/migrations/0001_initial.py:10: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/views.py:67: error: Argument "user" to "create_import_request" has incompatible type "AbstractBaseUser | AnonymousUser"; expected "FFAdminUser" [arg-type] +integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/views.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/views.py:26: error: "Request" has no attribute "environment" [attr-defined] +integrations/common/views.py:33: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:35: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:63: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:65: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:92: error: "None" has no attribute "objects" [attr-defined] +integrations/common/views.py:94: error: "None" has no attribute "objects" [attr-defined] +features/urls.py:4: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/views.py:2: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0003_add_manage_identities_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0002_add_update_feature_state_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0010_auto_20200219_2343.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/migration_helpers.py:16: error: Incompatible default for argument "reverse_sql" (default has type "None", argument has type "str | PathLike[Any]") [assignment] +core/migration_helpers.py:16: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/migration_helpers.py:16: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/migration_helpers.py:22: error: Argument "reverse_sql" to "PostgresOnlyRunSQL" has incompatible type "str | PathLike[Any]"; expected "str | list[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None]] | tuple[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None], ...] | tuple[()] | None" [arg-type] +core/migration_helpers.py:71: error: "type" has no attribute "permissions" [attr-defined] +core/migration_helpers.py:73: error: "type" has no attribute "objects" [attr-defined] +app/urls.py:46: error: Skipping analyzing "debug_toolbar": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/migrations/0001_initial.py:25: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +api/migrations/0001_initial.py:34: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +api/migrations/0001_initial.py:57: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +api/migrations/0001_initial.py:85: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +integrations/webhook/views.py:7: error: Incompatible types in assignment (expression has type "type[WebhookConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/webhook/views.py:8: error: Incompatible types in assignment (expression has type "type[WebhookConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/slack/views.py:64: error: Incompatible types in assignment (expression has type "type[SlackEnvironmentSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/slack/views.py:66: error: Incompatible types in assignment (expression has type "type[SlackEnvironment]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/segment/views.py:7: error: Incompatible types in assignment (expression has type "type[SegmentConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/segment/views.py:9: error: Incompatible types in assignment (expression has type "type[SegmentConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/rudderstack/views.py:9: error: Incompatible types in assignment (expression has type "type[RudderstackConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/rudderstack/views.py:11: error: Incompatible types in assignment (expression has type "type[RudderstackConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/new_relic/views.py:7: error: Incompatible types in assignment (expression has type "type[NewRelicConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/new_relic/views.py:8: error: Incompatible types in assignment (expression has type "type[NewRelicConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/mixpanel/views.py:7: error: Incompatible types in assignment (expression has type "type[MixpanelConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/mixpanel/views.py:8: error: Incompatible types in assignment (expression has type "type[MixpanelConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/heap/views.py:7: error: Incompatible types in assignment (expression has type "type[HeapConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/heap/views.py:8: error: Incompatible types in assignment (expression has type "type[HeapConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:16: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:18: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:22: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfigurationSerializer]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/grafana/views.py:24: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfiguration]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/dynatrace/views.py:7: error: Incompatible types in assignment (expression has type "type[DynatraceConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/dynatrace/views.py:9: error: Incompatible types in assignment (expression has type "type[DynatraceConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/datadog/views.py:7: error: Incompatible types in assignment (expression has type "type[DataDogConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/datadog/views.py:8: error: Incompatible types in assignment (expression has type "type[DataDogConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +integrations/amplitude/views.py:7: error: Incompatible types in assignment (expression has type "type[AmplitudeConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +integrations/amplitude/views.py:9: error: Incompatible types in assignment (expression has type "type[AmplitudeConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0005_add_view_identity_permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/permissions/migrations/0004_add_change_request_permissions.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/urls.py:5: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/urls.py:7: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/urls.py:158: error: Cannot find implementation or library stub for module named "rbac.views" [import-not-found] +environments/urls.py:2: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/urls.py:3: error: Skipping analyzing "rest_framework_nested.routers": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] From 63b34a642f6e0028625520395f31d4fbd517e19d Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:49:52 +0000 Subject: [PATCH 31/51] Add mypy checking script --- api/scripts/mypy_check.py | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 api/scripts/mypy_check.py diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py new file mode 100644 index 000000000000..01f5a9b95177 --- /dev/null +++ b/api/scripts/mypy_check.py @@ -0,0 +1,52 @@ +import re +import subprocess +import sys +from pathlib import Path + + +def main(): + baseline_path = Path("scripts/mypy_baseline.txt") + if not baseline_path.exists(): + print("Baseline file not found. Run mypy and create mypy_baseline.txt first.") + sys.exit(1) + + # Run mypy and capture output + result = subprocess.run( + ["poetry", "run", "mypy", "--config-file", "mypy.ini", "."], + capture_output=True, + text=True, + ) + current_output = result.stdout.strip().splitlines() + if result.returncode != 1: + print("Error running mypy:", result.stderr) + sys.exit(1) + + with open(baseline_path, "r") as f: + baseline = set(line.strip() for line in f if line.strip()) + + # Detect new errors and remove information line + current_errors = set(current_output) + new_errors = current_errors - baseline + pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" + removal = None + + for error in new_errors: + has_match = re.match(pattern, error) + if has_match: + removal = error + break + + if removal: + new_errors.remove(removal) + + if new_errors: + print("New mypy errors detected:") + print("\n".join(new_errors)) + sys.exit(1) + + print("No new mypy errors detected.") + sys.exit(0) + + +if __name__ == "__main__": + main() From b2d7a4a83e2026aa003d5ca2b8bdeddc343d99fb Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 25 Nov 2024 16:56:01 +0000 Subject: [PATCH 32/51] Move mypy to the end since it is the slowest --- .pre-commit-config.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cbd8af446a47..81876b21bacd 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,12 +1,4 @@ repos: - - repo: local - hooks: - - id: mypy-check - name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py" - language: system - types: [python] - - repo: https://github.com/PyCQA/isort rev: 5.13.2 hooks: @@ -52,5 +44,13 @@ repos: - id: poetry-check args: ['-C', 'api'] + - repo: local + hooks: + - id: mypy-check + name: mypy check + entry: bash -c "cd api && poetry run python scripts/mypy_check.py" + language: system + types: [python] + ci: autoupdate_commit_msg: 'ci: pre-commit autoupdate' From 6297bcea65b060abebfafd65c204a6a928a4b001 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 16:41:51 +0000 Subject: [PATCH 33/51] Delete mypy.ini --- api/mypy.ini | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 api/mypy.ini diff --git a/api/mypy.ini b/api/mypy.ini deleted file mode 100644 index d5c6eac0da69..000000000000 --- a/api/mypy.ini +++ /dev/null @@ -1,10 +0,0 @@ -[mypy] -exclude = ^(tests/)$ -plugins = mypy_django_plugin.main - -[mypy.plugins.django-stubs] -django_settings_module = "app.settings.local" - -# Enable Django Rest Framework stubs. -[mypy.plugins.drf-stubs] -enabled = True From 7a3663839d7b71eff4f6f18bc2af6c91990d76c2 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 16:42:07 +0000 Subject: [PATCH 34/51] Add mypy concerns to pyproject.toml --- api/pyproject.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/api/pyproject.toml b/api/pyproject.toml index 5aa85d712ecc..55ef70b956f8 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -99,6 +99,16 @@ skip = ['migrations', '.venv', '.direnv'] addopts = ['--ds=app.settings.test', '-vvvv', '-p', 'no:warnings'] console_output_style = 'count' +[tool.mypy] +exclude = "^(tests/)$" +plugins = ["mypy_django_plugin.main"] + +[tool.django-stubs] +django_settings_module = "app.settings.local" + +[tool.drf-stubs] +enabled = true + [tool.poetry] name = "flagsmith-api" version = "2.68.0" From 55165c9e50a38eca7eaf22355e186411e313fdf6 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 20:14:25 +0000 Subject: [PATCH 35/51] Update mypy checking --- api/scripts/mypy_baseline.txt | 3 +++ api/scripts/mypy_check.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 890231903059..1092b3baef75 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -1530,3 +1530,6 @@ api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] +util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "set[int] | set[str] | dict[int, Any] | dict[str, Any] | None" [arg-type] +util/pydantic.py:17: note: def [Model: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[Model] | tuple[type[Model], ...], __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[Model] +util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index 01f5a9b95177..ebc721316b99 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -12,7 +12,7 @@ def main(): # Run mypy and capture output result = subprocess.run( - ["poetry", "run", "mypy", "--config-file", "mypy.ini", "."], + ["poetry", "run", "mypy", "--config-file", "pyproject.toml", "."], capture_output=True, text=True, ) From fe37a4d2659f17c5c494116dd744216b492e588a Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Tue, 3 Dec 2024 20:18:02 +0000 Subject: [PATCH 36/51] Add type ignores --- api/util/mappers/sdk.py | 2 +- api/util/pydantic.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/util/mappers/sdk.py b/api/util/mappers/sdk.py index 2bc9c4a0ff61..01edf12dfba0 100644 --- a/api/util/mappers/sdk.py +++ b/api/util/mappers/sdk.py @@ -48,5 +48,5 @@ def map_environment_to_sdk_document(environment: "Environment") -> SDKDocument: ] return engine_environment.model_dump( - exclude=SDK_DOCUMENT_EXCLUDE, + exclude=SDK_DOCUMENT_EXCLUDE, # type: ignore ) diff --git a/api/util/pydantic.py b/api/util/pydantic.py index d526c76ee95b..759992f8fcd3 100644 --- a/api/util/pydantic.py +++ b/api/util/pydantic.py @@ -14,7 +14,7 @@ def exclude_model_fields( for field_name, field in model_cls.model_fields.items() if field_name not in exclude_fields } - return create_model( + return create_model( # type: ignore model_cls.__name__, __config__=model_cls.model_config, **fields, From 0de9e739dba564f04974b6205e90f0e6ea62a4cb Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 14:47:32 +0000 Subject: [PATCH 37/51] Attempt passing args into mypy_check.py script --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 81876b21bacd..5daa262291a3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,7 +48,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py $@" language: system types: [python] From a382ad6871f51cfb50564a184fbe65b487e6e0cf Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 14:55:48 +0000 Subject: [PATCH 38/51] Attempt using $FILES --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5daa262291a3..d87c9429cc4e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,7 +48,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py $@" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py $FILES" language: system types: [python] From 6f3b21ded94e480b6d47c9a54cee088a11886be4 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 14:57:22 +0000 Subject: [PATCH 39/51] Debug command line args --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d87c9429cc4e..398115a8936e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,7 +48,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py $FILES" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py scripts/mypy_check.py" language: system types: [python] From 21955b85937a7b77afd231202ac00c1949d0216c Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:02:02 +0000 Subject: [PATCH 40/51] Attempt using git for the filenames --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 398115a8936e..99c6ae1f6a6a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,7 +48,7 @@ repos: hooks: - id: mypy-check name: mypy check - entry: bash -c "cd api && poetry run python scripts/mypy_check.py scripts/mypy_check.py" + entry: bash -c "cd api && poetry run python scripts/mypy_check.py $(git diff --name-only --cached -- '*.py')" language: system types: [python] From 2bba3aeed864842c7d08cc78236542d8f2cf35e9 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:39:21 +0000 Subject: [PATCH 41/51] Update mypy check with success exit code and other changes --- api/scripts/mypy_check.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index ebc721316b99..da0c6a532e00 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -4,23 +4,45 @@ from pathlib import Path -def main(): +def main() -> None: baseline_path = Path("scripts/mypy_baseline.txt") if not baseline_path.exists(): print("Baseline file not found. Run mypy and create mypy_baseline.txt first.") sys.exit(1) # Run mypy and capture output + files_to_check = [f"../{filename}" for filename in sys.argv[1:]] + command = [ + "poetry", + "run", + "mypy", + "--config-file", + "pyproject.toml", + ] + files_to_check + result = subprocess.run( - ["poetry", "run", "mypy", "--config-file", "pyproject.toml", "."], + command, capture_output=True, text=True, ) - current_output = result.stdout.strip().splitlines() + + # Mypy found no issues for the targeted file + if result.returncode == 0: + print(result.stdout.strip()) + sys.exit(0) + + # Mypy failed in some other way other than listing failing file lines if result.returncode != 1: - print("Error running mypy:", result.stderr) + print(command) + print( + f"Error running mypy with return code {result.returncode} and error:", + result.stderr, + ) + print(result.stdout.strip()) sys.exit(1) + current_output = result.stdout.strip().splitlines() + with open(baseline_path, "r") as f: baseline = set(line.strip() for line in f if line.strip()) From 522cd573145907377bf7d7f25558e319d994cf03 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:52:58 +0000 Subject: [PATCH 42/51] Update mypy_baseline --- api/scripts/mypy_baseline.txt | 1527 +++++++++++++++++++++++++++++++++ 1 file changed, 1527 insertions(+) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 1092b3baef75..0060cc23c700 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -1533,3 +1533,1530 @@ api/urls/v1.py:78: error: Cannot find implementation or library stub for module util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "set[int] | set[str] | dict[int, Any] | dict[str, Any] | None" [arg-type] util/pydantic.py:17: note: def [Model: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[Model] | tuple[type[Model], ...], __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[Model] util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, classmethod[Any, Any, Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] +../api/edge_api/identities/tasks.py:31: error: Incompatible default for argument "new_value" (default has type "None", argument has type "bool | int | str") [assignment] +../api/edge_api/identities/export.py:74: note: def __getitem__(self, SupportsIndex, /) -> int +../api/core/apps.py:2: error: Skipping analyzing "simple_history.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:60: error: Argument 3 to "_get_headers" has incompatible type "dict[Any, Any]"; expected "str" [arg-type] +../api/projects/permissions.py:74: error: "Model" has no attribute "project" [attr-defined] +../api/integrations/lead_tracking/pipedrive/models.py:45: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +../api/audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] +../api/users/migrations/0007_invite.py:27: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/core/models.py:67: error: Missing return statement [return] +../api/webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] +../api/environments/serializers.py:87: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] +../api/integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +../api/permissions/permissions_calculator.py:103: error: Argument 1 to "reduce" has incompatible type "Callable[[set[Never], set[str]], set[str]]"; expected "Callable[[set[Never], set[str]], set[Never]]" [arg-type] +../api/custom_auth/mfa/trench/serializers.py:19: error: Variable "custom_auth.mfa.trench.serializers.User" is not valid as a type [valid-type] +../api/features/versioning/permissions.py:85: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +../api/environments/models.py:450: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] +../api/features/import_export/serializers.py:22: note: def save(self) -> FeatureExport +../api/features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] +../api/features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] +../api/custom_auth/mfa/trench/command/generate_backup_codes.py:15: error: Incompatible default for argument "allowed_chars" (default has type "object", argument has type "str") [assignment] +../api/features/import_export/views.py:125: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/workflows/core/models.py:407: error: Missing return statement [return] +../api/features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] +../api/environments/models.py:79: error: Need type annotation for "project" [var-annotated] +../api/environments/models.py:93: error: Need type annotation for "api_key" [var-annotated] +../api/app_analytics/tasks.py:204: error: Incompatible return value type (got "QuerySet[FeatureEvaluationBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/organisations/permissions/permissions.py:215: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/environments/models.py:115: error: Need type annotation for "hide_disabled_flags" [var-annotated] +../api/edge_api/identities/export.py:51: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/app_analytics/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +../api/environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +../api/integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +../api/integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] +../api/permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/views.py:313: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +../api/features/multivariate/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/mixpanel/views.py:7: error: Incompatible types in assignment (expression has type "type[MixpanelConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:51: note: Possible overload variants: +../api/integrations/new_relic/views.py:7: error: Incompatible types in assignment (expression has type "type[NewRelicConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:46: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/organisations/permissions/permissions.py:224: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +../api/features/import_export/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/edge_api/identities/models.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +../api/core/management/commands/bootstrap.py:18: error: Signature of "create_parser" incompatible with supertype "BaseCommand" [override] +../api/temp_hubspot.py:3: error: Name "SettingsWrapper" is not defined [name-defined] +../api/features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] +../api/features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/permissions/permissions.py:193: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:175: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] +../api/integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/versioning/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/environments/permissions/migrations/0003_add_manage_identities_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/chargebee/webhook_handlers.py:132: error: Module has no attribute "utc" [attr-defined] +../api/custom_auth/mfa/trench/views/base.py:41: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/integrations/common/wrapper.py:23: error: Unexpected "..." [misc] +../api/organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] +../api/integrations/launch_darkly/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/utils.py:50: error: Signature of "_make_token_with_timestamp" incompatible with supertype "PasswordResetTokenGenerator" [override] +../api/features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] +../api/environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:42: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +../api/permissions/permissions_calculator.py:109: error: "Iterable[str]" has no attribute "union" [attr-defined] +../api/api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:125: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +../api/features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] +../api/environments/models.py:283: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] +../api/users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] +../api/api/migrations/0001_initial.py:34: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] +../api/features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] +../api/app/pagination.py:6: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/serializers.py:68: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +../api/edge_api/identities/export.py:50: note: def __getitem__(self, SupportsIndex, /) -> int +../api/app_analytics/tasks.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] +../api/organisations/permissions/permissions.py:207: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] +../api/features/workflows/core/models.py:224: error: Missing return statement [return] +../api/permissions/migrations/0001_initial.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:51: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/features/import_export/serializers.py:68: note: Superclass: +../api/organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:50: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +../api/integrations/lead_tracking/pipedrive/models.py:46: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/lead_tracker.py:86: error: Unsupported target for indexed assignment ("object") [index] +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +../api/users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] +../api/environments/sdk/serializers.py:192: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/permissions.py:18: note: This violates the Liskov substitution principle +../api/custom_auth/serializers.py:107: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +../api/users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] +../api/environments/models.py:136: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] +../api/sales_dashboard/views.py:321: error: "Never" not callable [misc] +../api/features/import_export/views.py:144: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/urls.py:4: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:97: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +../api/custom_auth/mfa/trench/utils.py:32: note: This violates the Liskov substitution principle +../api/features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] +../api/edge_api/identities/export.py:56: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +../api/edge_api/identities/export.py:65: note: def __getitem__(self, SupportsIndex, /) -> int +../api/features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/heap/views.py:8: error: Incompatible types in assignment (expression has type "type[HeapConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/workflows/core/models.py:403: error: Missing return statement [return] +../api/features/import_export/tasks.py:224: error: Item "bool" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/edge_api/identities/export.py:117: error: Value expression in dictionary comprehension has incompatible type "UUID"; expected type "str" [misc] +../api/features/multivariate/views.py:2: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/serializers.py:222: error: Need type annotation for "events_list" [var-annotated] +../api/integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/models.py:449: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "status" [misc] +../api/core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] +../api/integrations/launch_darkly/views.py:67: error: Argument "user" to "create_import_request" has incompatible type "AbstractBaseUser | AnonymousUser"; expected "FFAdminUser" [arg-type] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +../api/environments/models.py:137: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] +../api/audit/serializers.py:70: error: Incompatible return value type (got "ReturnDict[Any, Any]", expected "list[dict[str, Any]]") [return-value] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +../api/edge_api/identities/export.py:51: note: def __getitem__(self, SupportsIndex, /) -> int +../api/environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +../api/app_analytics/tasks.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/conftest.py:439: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +../api/environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/audit/serializers.py:80: error: Incompatible return value type (got "str | None", expected "str") [return-value] +../api/integrations/common/views.py:94: error: "None" has no attribute "objects" [attr-defined] +../api/edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytearray +../api/features/workflows/core/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] +../api/users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] +../api/util/logging.py:45: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/app_analytics/tasks.py:142: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] +../api/app_analytics/tasks.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/tasks.py:189: error: Incompatible return value type (got "QuerySet[APIUsageRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/util/logging.py:42: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] +../api/projects/views.py:7: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/utils.py:50: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +../api/organisations/serializers.py:118: error: Need type annotation for "emails" [var-annotated] +../api/organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] +../api/environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] +../api/environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/conftest.py:723: error: Incompatible return value type (got "int", expected "str") [return-value] +../api/util/logging.py:47: note: Possible overload variants: +../api/features/import_export/permissions.py:40: error: Name "WrappedAPIView" is not defined [name-defined] +../api/app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] +../api/integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/features/versioning/views.py:259: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/environments/models.py:77: error: Need type annotation for "created_date" [var-annotated] +../api/environments/views.py:309: error: Incompatible types in assignment (expression has type "type[Webhook]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +../api/features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/environments/urls.py:2: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] +../api/util/logging.py:37: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/util/logging.py:50: note: def __getitem__(self, SupportsIndex, /) -> object +../api/integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] +../api/projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/environments/models.py:448: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/models.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/serializers.py:22: note: Superclass: +../api/custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/edge_api/identities/utils.py:25: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +../api/features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/models.py:508: error: Need type annotation for "expires_at" [var-annotated] +../api/features/versioning/permissions.py:34: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/app_analytics/management/commands/sendapiusagetoinflux.py:7: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] +../api/features/import_export/serializers.py:58: error: Unsupported operand types for < ("int" and "None") [operator] +../api/features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] +../api/permissions/permissions_calculator.py:158: error: Argument 1 to "get_user_permission_data" has incompatible type "UserEnvironmentPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:45: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:74: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/edge_api/identities/export.py:68: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] +../api/features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:106: error: Return value expected [return-value] +../api/features/import_export/tasks.py:224: error: Item "int" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] +../api/organisations/subscriptions/metadata.py:71: note: return +../api/util/logging.py:49: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/features/import_export/serializers.py:64: note: requires_context +../api/integrations/launch_darkly/serializers.py:14: error: Incompatible types in assignment (expression has type "ListSerializer[Never]", base class "Field" defined the type as "dict[str, str | _StrPromise]") [assignment] +../api/app_analytics/analytics_db_service.py:127: error: Incompatible types in assignment (expression has type "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", variable has type "QuerySet[APIUsageBucket, APIUsageBucket]") [assignment] +../api/environments/models.py:246: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/permissions.py:47: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/environments/sdk/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:18: error: Incompatible types in assignment (expression has type "None", variable has type "Schema") [assignment] +../api/features/models.py:530: error: Unsupported left operand type for < ("None") [operator] +../api/organisations/urls.py:158: error: Cannot find implementation or library stub for module named "licensing.views" [import-not-found] +../api/edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytearray +../api/features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] +../api/integrations/lead_tracking/pipedrive/models.py:101: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +../api/util/logging.py:47: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/import_export/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +../api/core/migration_helpers.py:71: error: "type" has no attribute "permissions" [attr-defined] +../api/environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:49: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/edge_api/identities/permissions.py:30: error: Item "AnonymousUser" of "FFAdminUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/app_analytics/types.py:5: error: Parameter 1 of Literal[...] is invalid [valid-type] +../api/environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "segments_by_ld_key" [call-arg] +../api/segments/views.py:4: error: Skipping analyzing "common.segments.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/webhook/views.py:8: error: Incompatible types in assignment (expression has type "type[WebhookConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/identities/views.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/chargebee/webhook_handlers.py:180: error: Module has no attribute "utc" [attr-defined] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] +../api/features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +../api/custom_auth/mfa/trench/serializers.py:13: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +../api/features/permissions.py:86: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] +../api/util/logging.py:45: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/edge_api/identities/views.py:266: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/audit/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/query.py:3: error: Skipping analyzing "apiclient.discovery": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/subscriptions/metadata.py:34: error: Unsupported left operand type for + ("None") [operator] +../api/users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] +../api/edge_api/identities/views.py:6: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/permissions/permissions.py:220: error: Argument 2 to "has_permission" of "BasePermission" has incompatible type "View"; expected "APIView" [arg-type] +../api/integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +../api/core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +../api/audit/serializers.py:71: error: "Model" has no attribute "get_change_details" [attr-defined] +../api/integrations/lead_tracking/pipedrive/models.py:45: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +../api/integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] +../api/features/import_export/permissions.py:13: error: Name "WrappedAPIView" is not defined [name-defined] +../api/audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/temp_hubspot.py:2: error: Name "Organisation" is not defined [name-defined] +../api/features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/tasks.py:177: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +../api/app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] +../api/organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] +../api/edge_api/identities/export.py:96: error: Argument 2 to "export_mv_featurestate_value" has incompatible type "str"; expected "int" [arg-type] +../api/features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/edge_api/identities/models.py:153: error: Item "None" of "FeatureStateModel | None" has no attribute "featurestate_uuid" [union-attr] +../api/edge_api/identities/tasks.py:30: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/pipedrive/client.py:136: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:90: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/metadata/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/migrations/0001_initial.py:85: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/openapi.py:5: error: Skipping analyzing "drf_yasg.openapi": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:23: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/util/logging.py:47: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/app_analytics/analytics_db_service.py:17: note: (or run "mypy --install-types" to install all missing stub packages) +../api/environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +../api/features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/integrations/github/views.py:143: error: Return type "Response | None" of "create" incompatible with return type "Response" in supertype "CreateModelMixin" [override] +../api/environments/models.py:75: error: Need type annotation for "name" [var-annotated] +../api/integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +../api/edge_api/identities/tasks.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/urls.py:5: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/views.py:125: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/util/logging.py:9: error: Skipping analyzing "gunicorn.instrument.statsd": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/migrations/0003_auto_20200216_2050.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] +../api/core/redis_cluster.py:29: error: Skipping analyzing "django_redis.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/metadata/urls.py:3: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/segments/models.py:182: note: Left operand is of type "int | None" +../api/edge_api/identities/tasks.py:30: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/permissions.py:109: error: "Model" has no attribute "project" [attr-defined] +../api/features/workflows/core/migrations/0007_add_change_request_group_assignment.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/views.py:91: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +../api/features/import_export/tasks.py:227: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/permissions.py:106: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/custom_auth/mfa/trench/utils.py:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/integrations/lead_tracking/pipedrive/models.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/admin.py:84: error: Incompatible default for argument "obj" (default has type "None", argument has type "Project") [assignment] +../api/projects/views.py:148: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +../api/permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:89: error: Missing return statement [return] +../api/edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/integrations/lead_tracking/pipedrive/client.py:105: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveLead") [return-value] +../api/custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +../api/features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] +../api/environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] +../api/organisations/permissions/permissions.py:193: note: This violates the Liskov substitution principle +../api/features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/track.py:8: error: Library stubs not installed for "six.moves.urllib.parse" [import-untyped] +../api/environments/models.py:448: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] +../api/core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +../api/features/versioning/views.py:250: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] +../api/environments/models.py:509: error: Need type annotation for "active" [var-annotated] +../api/conftest.py:466: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +../api/integrations/segment/views.py:7: error: Incompatible types in assignment (expression has type "type[SegmentConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +../api/features/import_export/tasks.py:199: error: Incompatible types in assignment (expression has type "int | bool | str | None", variable has type "bool | Combinable | None") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:90: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/conftest.py:114: error: Argument "json_data" to "MockResponse" has incompatible type "dict[str, str]"; expected "str" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:48: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/audit/views.py:107: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +../api/environments/models.py:447: error: Invalid type comment or annotation [valid-type] +../api/conftest.py:1222: error: Need type annotation for "messages" (hint: "messages: list[] = ...") [var-annotated] +../api/features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] +../api/edge_api/identities/export.py:65: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/conftest.py:1224: error: Return type "None" of "handle" incompatible with return type "bool" in supertype "Handler" [override] +../api/environments/serializers.py:102: error: Cannot determine type of "fields" [has-type] +../api/organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("int" and "None") [operator] +../api/features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/services.py:16: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:36: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/organisations/subscription_info_cache.py:131: error: Incompatible types in assignment (expression has type "int | None", variable has type "float | int | str | Combinable") [assignment] +../api/permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:449: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/launch_darkly/services.py:62: error: Argument 1 to "contextmanager" has incompatible type "Callable[[LaunchDarklyImportRequest], None]"; expected "Callable[[LaunchDarklyImportRequest], Iterator[Never]]" [arg-type] +../api/audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] +../api/users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] +../api/integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:90: error: Incompatible default for argument "custom_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +../api/permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/api/urls/v1.py:4: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] +../api/edge_api/identities/export.py:45: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/slack/slack.py:28: error: Incompatible default for argument "channel_id" (default has type "None", argument has type "str") [assignment] +../api/util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] +../api/integrations/lead_tracking/pipedrive/models.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/views.py:17: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:120: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedrivePerson") [return-value] +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +../api/app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] +../api/util/migrations.py:46: error: Item "UserPermissionGroupOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +../api/features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] +../api/projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] +../api/features/import_export/permissions.py:69: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/organisations/urls.py:7: error: Skipping analyzing "rest_framework_nested": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] +../api/edge_api/identities/models.py:229: error: Need type annotation for "changes" (hint: "changes: dict[, ] = ...") [var-annotated] +../api/features/permissions.py:129: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/integrations/lead_tracking/hubspot/services.py:21: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +../api/features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/api/migrations/0001_initial.py:57: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/analytics_db_service.py:80: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +../api/features/models.py:537: error: Unsupported left operand type for > ("None") [operator] +../api/integrations/github/client.py:116: error: Missing return statement [return] +../api/features/views.py:18: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +../api/organisations/subscriptions/metadata.py:71: note: return NotImplemented +../api/users/forms.py:19: error: "type[UserChangeForm[Any]]" has no attribute "Meta" [attr-defined] +../api/util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] +../api/e2etests/e2e_seed_data.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:54: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +../api/edge_api/identities/export.py:49: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/edge_api/identities/edge_request_forwarder.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/serializers.py:87: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/analytics_db_service.py:17: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +../api/edge_api/identities/models.py:207: error: Item "APIKeyUser" of "FFAdminUser | APIKeyUser" has no attribute "id" [union-attr] +../api/features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] +../api/integrations/common/views.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/sdk/serializers.py:192: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/common/views.py:26: error: "Request" has no attribute "environment" [attr-defined] +../api/core/management/commands/bootstrap.py:29: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +../api/util/logging.py:44: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/serializers.py:68: note: Subclass: +../api/environments/models.py:131: error: Need type annotation for "hide_sensitive_data" [var-annotated] +../api/util/logging.py:44: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/versioning/permissions.py:85: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/features/versioning/permissions.py:64: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] +../api/environments/models.py:447: note: Suggestion: use type[...] instead of type(...) +../api/environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +../api/permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +../api/permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +../api/custom_auth/mfa/trench/views/base.py:60: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:72: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +../api/users/views.py:124: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +../api/users/signals.py:31: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +../api/features/views.py:184: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +../api/features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/edge_api/identities/export.py:74: note: Possible overload variants: +../api/custom_auth/jwt_cookie/authentication.py:16: error: Incompatible return value type (got "tuple[AbstractBaseUser, Token]", expected "tuple[FFAdminUser, Token] | None") [return-value] +../api/integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/permissions.py:18: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:73: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:65: error: Argument 5 to "export_edge_feature_state" has incompatible type "Any | str"; expected "bool" [arg-type] +../api/features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +../api/environments/identities/traits/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/edge_api/identities/tasks.py:64: error: Incompatible types in assignment (expression has type "dict[Any, Any]", target has type "str | None") [assignment] +../api/integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/views.py:222: error: Incompatible types in assignment (expression has type "type[UserPermissionGroupProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +../api/users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/permissions.py:106: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +../api/features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:78: error: Need type annotation for "description" [var-annotated] +../api/environments/identities/traits/admin.py:3: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/views.py:184: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/util/logging.py:50: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/edge_api/identities/export.py:51: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/features/import_export/tasks.py:229: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] +../api/features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/views.py:324: error: Incompatible types in assignment (expression has type "type[EnvironmentAPIKey]", base class "NestedEnvironmentViewSet" defined the type as "None") [assignment] +../api/environments/permissions/permissions.py:85: error: Incompatible default for argument "action_permission_map" (default has type "None", argument has type "dict[str, str]") [assignment] +../api/projects/tags/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:50: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/projects/migrations/0025_add_change_request_project_permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +../api/features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +../api/organisations/permissions/permissions.py:207: note: This violates the Liskov substitution principle +../api/features/import_export/serializers.py:64: note: "function" is missing following "ContextValidator" protocol member: +../api/integrations/lead_tracking/pipedrive/client.py:59: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedrivePerson] [misc] +../api/webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +../api/organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +../api/edge_api/identities/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/grafana/mappers.py:33: error: Cannot determine type of "feature" [has-type] +../api/custom_auth/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/track.py:8: note: Hint: "python3 -m pip install types-six" +../api/integrations/github/views.py:167: error: Return type "Response | None" of "update" incompatible with return type "Response" in supertype "UpdateModelMixin" [override] +../api/permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/mfa/trench/utils.py:29: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/environments/permissions/serializers.py:31: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/custom_auth/mfa/trench/utils.py:68: error: Value of type "object" is not indexable [index] +../api/custom_auth/mfa/trench/utils.py:57: error: User? has no attribute "pk" [attr-defined] +../api/organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] +../api/segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/segments/models.py:370: error: Missing return statement [return] +../api/users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] +../api/edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/edge_api/identities/tasks.py:33: error: Incompatible default for argument "previous_value" (default has type "None", argument has type "bool | int | str") [assignment] +../api/features/import_export/views.py:77: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +../api/util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] +../api/features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/app_analytics/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:32: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/signals.py:8: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] +../api/edge_api/identities/export.py:90: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +../api/features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] +../api/users/views.py:204: error: Argument 1 of "paginate_queryset" is incompatible with supertype "GenericAPIView"; supertype defines the argument type as "QuerySet[Any, Any] | Sequence[Any]" [override] +../api/environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/custom_auth/jwt_cookie/signals.py:5: error: Skipping analyzing "corsheaders.signals": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] +../api/features/import_export/tasks.py:234: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/util/logging.py:38: error: Unsupported left operand type for + ("object") [operator] +../api/features/import_export/permissions.py:29: error: Name "WrappedAPIView" is not defined [name-defined] +../api/features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/pipedrive/models.py:44: error: Incompatible default for argument "owner_id" (default has type "None", argument has type "int") [assignment] +../api/integrations/slack/views.py:64: error: Incompatible types in assignment (expression has type "type[SlackEnvironmentSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: +../api/integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] +../api/integrations/segment/views.py:9: error: Incompatible types in assignment (expression has type "type[SegmentConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +../api/app_analytics/tasks.py:196: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/edge_request_forwarder.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/features/versioning/permissions.py:64: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: User?, timestamp: int, **kwargs: Any) -> str +../api/custom_auth/mfa/trench/utils.py:50: note: def _make_token_with_timestamp(self, user: FFAdminUser, timestamp: int, secret: str | bytes = ...) -> str +../api/integrations/lead_tracking/pipedrive/lead_tracker.py:17: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/migrations/0004_auto_20181026_1438.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/tasks.py:159: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/features/versioning/permissions.py:39: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/environments/models.py:66: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/edge_api/identities/serializers.py:192: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/models.py:266: error: Incompatible return value type (got "dict[Any, Any]", expected "IdentityChangeset") [return-value] +../api/integrations/lead_tracking/pipedrive/models.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/common/views.py:33: error: "None" has no attribute "objects" [attr-defined] +../api/edge_api/identities/export.py:78: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/edge_api/identities/models.py:39: error: Incompatible return value type (got "int | None", expected "int") [return-value] +../api/webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +../api/webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] +../api/custom_auth/views.py:84: error: "CodeLoginSerializer" has no attribute "user" [attr-defined] +../api/projects/views.py:168: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:50: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/environments/models.py:246: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +../api/features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:29: error: Incompatible default for argument "changed_by" (default has type "None", argument has type "str") [assignment] +../api/features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] +../api/features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/util/logging.py:44: note: Possible overload variants: +../api/features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/permissions/permissions.py:215: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/integrations/common/views.py:65: error: "None" has no attribute "objects" [attr-defined] +../api/integrations/rudderstack/views.py:11: error: Incompatible types in assignment (expression has type "type[RudderstackConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/versioning/permissions.py:18: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/environments/serializers.py:130: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +../api/edge_api/identities/models.py:93: error: Incompatible types in assignment (expression has type "dict[tuple[Any, ...] | str | int, FeatureState]", variable has type "dict[str, FeatureState | FeatureStateModel]") [assignment] +../api/permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/integrations/github/client.py:282: error: Missing return statement [return] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +../api/audit/models.py:29: error: Need type annotation for "project" [var-annotated] +../api/features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] +../api/core/management/commands/bootstrap.py:24: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "projects.management.commands.createinitialproject.Command" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permissions_calculator.py:165: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] +../api/integrations/launch_darkly/services.py:63: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +../api/features/versioning/permissions.py:39: note: This violates the Liskov substitution principle +../api/integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +../api/util/logging.py:48: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/features/import_export/serializers.py:64: error: List item 0 has incompatible type "Callable[[InMemoryUploadedFile], None]"; expected "Callable[[File[Any]], None] | ContextValidator[File[Any]]" [list-item] +../api/organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +../api/environments/serializers.py:85: error: Incompatible types in assignment (expression has type tuple[str, str, ... <16 more items>], base class "Meta" defined the type as tuple[str, str, ... <15 more items>]) [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:51: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] +../api/features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +../api/integrations/slack/slack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/rudderstack/views.py:9: error: Incompatible types in assignment (expression has type "type[RudderstackConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/environments/permissions/migrations/0004_add_change_request_permissions.py:4: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/views.py:16: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/openapi.py:4: error: Skipping analyzing "drf_yasg.inspectors": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] +../api/features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] +../api/features/import_export/tasks.py:226: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/segments/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/sales_dashboard/views.py:4: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:175: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/serializers.py:125: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/environments/permissions/migrations/0005_add_view_identity_permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/tasks.py:134: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/integrations/lead_tracking/pipedrive/client.py:136: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/permissions/permissions.py:56: error: "Model" has no attribute "organisation" [attr-defined] +../api/features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +../api/edge_api/identities/export.py:61: error: Argument 1 to "export_edge_feature_state" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/environments/identities/traits/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:448: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:45: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/launch_darkly/client.py:30: error: A function returning TypeVar should receive at least one argument containing the same TypeVar [type-var] +../api/integrations/lead_tracking/pipedrive/models.py:73: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +../api/import_export/export.py:264: error: Invalid type comment or annotation [valid-type] +../api/conftest.py:29: error: Skipping analyzing "xdist": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +../api/organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +../api/features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/tasks.py:229: error: Argument "default_percentage_allocation" to "_create_multivariate_feature_option" has incompatible type "Any | str"; expected "int | float" [arg-type] +../api/features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] +../api/app/pagination.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:74: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/features/versioning/permissions.py:73: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/integrations/grafana/views.py:22: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfigurationSerializer]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] +../api/edge_api/identities/export.py:65: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/edge_api/identities/serializers.py:103: error: Return type "MultivariateFeatureOptionModel" of "to_internal_value" incompatible with return type "int" in supertype "Field" [override] +../api/integrations/lead_tracking/pipedrive/client.py:83: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveDealField") [return-value] +../api/features/versioning/views.py:127: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +../api/features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/permissions/permissions.py:207: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/features/import_export/serializers.py:58: note: Left operand is of type "int | None" +../api/features/versioning/permissions.py:51: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +../api/integrations/webhook/views.py:7: error: Incompatible types in assignment (expression has type "type[WebhookConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/versioning/models.py:97: note: Left operand is of type "datetime | None" +../api/organisations/permissions/permissions.py:204: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/features/versioning/views.py:86: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +../api/api/migrations/0001_initial.py:25: error: Argument "verbose_name" to "DateTimeField" has incompatible type "bytes"; expected "str | _StrPromise | None" [arg-type] +../api/app_analytics/tasks.py:142: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/permissions/permissions.py:85: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/tasks.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/import_export/export.py:264: note: Suggestion: use type[...] instead of type(...) +../api/features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/permissions.py:78: error: Argument 2 of "has_object_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/environments/models.py:246: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/permissions.py:29: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/edge_api/identities/utils.py:20: error: Incompatible types in assignment (expression has type "dict[str, Any]", target has type "Literal['+', '-', '~']") [assignment] +../api/custom_auth/views.py:6: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/permissions/permissions.py:85: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] +../api/environments/models.py:142: error: Need type annotation for "is_creating" [var-annotated] +../api/custom_auth/mfa/trench/command/remove_backup_code.py:25: error: Missing return statement [return] +../api/util/logging.py:42: note: def __getitem__(self, SupportsIndex, /) -> object +../api/environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/projects/views.py:148: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] +../api/edge_api/identities/tasks.py:25: error: Function "builtins.id" is not valid as a type [valid-type] +../api/features/versioning/permissions.py:51: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/edge_api/identities/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/oauth/github.py:22: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle +../api/permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/views.py:250: note: This violates the Liskov substitution principle +../api/features/import_export/serializers.py:22: note: Subclass: +../api/features/import_export/serializers.py:68: note: def save(self, **kwargs: Any) -> Any +../api/integrations/lead_tracking/pipedrive/models.py:50: error: Incompatible default for argument "visible_to" (default has type "None", argument has type "int") [assignment] +../api/features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +../api/app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "Organisation" [arg-type] +../api/features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] +../api/custom_auth/mfa/trench/responses.py:17: error: Incompatible default for argument "status" (default has type "Literal[400]", argument has type "str") [assignment] +../api/api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] +../api/organisations/views.py:14: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/views.py:52: error: Value of type "object" is not indexable [index] +../api/features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/app_analytics/tasks.py:32: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +../api/features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] +../api/features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +../api/audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:48: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] +../api/organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +../api/core/management/commands/bootstrap.py:23: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:73: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/management/commands/bootstrap.py:18: note: def create_parser(self, *args: Any, **kwargs: Any) -> ArgumentParser +../api/features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +../api/environments/permissions/permissions.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] +../api/util/logging.py:42: note: Possible overload variants: +../api/webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +../api/features/views.py:8: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/command/remove_backup_code.py:15: error: Argument 1 to "join" of "str" has incompatible type "set[str] | None"; expected "Iterable[str]" [arg-type] +../api/app_analytics/tasks.py:71: error: Incompatible type for "enabled_when_evaluated" of "FeatureEvaluationRaw" (got "int | str | bool", expected "bool | Combinable | None") [misc] +../api/core/management/commands/bootstrap.py:18: note: Subclass: +../api/features/versioning/views.py:259: note: This violates the Liskov substitution principle +../api/core/middleware/axes.py:1: error: Skipping analyzing "axes.middleware": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/migration_helpers.py:16: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/permissions/permissions.py:204: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_master_api_key_user" [union-attr] +../api/app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] +../api/integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] +../api/integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] +../api/permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] +../api/util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] +../api/projects/admin.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/launch_darkly/services.py:787: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +../api/integrations/launch_darkly/services.py:1075: error: Item "Request" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +../api/edge_api/identities/export.py:49: error: Item "bool" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/util/logging.py:48: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any +../api/custom_auth/jwt_cookie/views.py:1: error: Skipping analyzing "djoser.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:50: note: Possible overload variants: +../api/app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +../api/api/urls/v1.py:5: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +../api/integrations/github/views.py:143: error: Missing return statement [return] +../api/integrations/datadog/views.py:7: error: Incompatible types in assignment (expression has type "type[DataDogConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/utils.py:32: error: Return type "User? | None" of "check_token" incompatible with return type "bool" in supertype "PasswordResetTokenGenerator" [override] +../api/custom_auth/mfa/trench/utils.py:29: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +../api/core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +../api/organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: +../api/environments/serializers.py:130: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +../api/organisations/chargebee/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:129: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveLeadLabel] [misc] +../api/environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +../api/features/admin.py:6: error: Skipping analyzing "simple_history.admin": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] +../api/util/logging.py:46: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +../api/environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] +../api/features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +../api/features/models.py:537: note: Both left and right operands are unions +../api/api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] +../api/environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:47: error: Argument 2 to "export_edge_trait" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] +../api/edge_api/identities/tasks.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/views.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/new_relic/views.py:8: error: Incompatible types in assignment (expression has type "type[NewRelicConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" +../api/audit/views.py:7: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/heap/views.py:7: error: Incompatible types in assignment (expression has type "type[HeapConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/permissions_calculator.py:147: error: Argument 1 to "get_user_permission_data" has incompatible type "UserOrganisationPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:51: error: Incompatible default for argument "was_seen" (default has type "None", argument has type "bool") [assignment] +../api/custom_auth/mfa/trench/serializers.py:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +../api/environments/sdk/serializers.py:192: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[dict[Any, Any]]") [assignment] +../api/integrations/common/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/permissions/permissions.py:169: error: "Model" has no attribute "organisation" [attr-defined] +../api/organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/services.py:1088: error: Need type annotation for "segment_tags_by_ld_tag" (hint: "segment_tags_by_ld_tag: dict[, ] = ...") [var-annotated] +../api/environments/identities/traits/views.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] +../api/projects/views.py:212: error: Incompatible types in assignment (expression has type "type[UserProjectPermission]", base class "BaseProjectPermissionsViewSet" defined the type as "None") [assignment] +../api/integrations/amplitude/views.py:7: error: Incompatible types in assignment (expression has type "type[AmplitudeConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytearray +../api/features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] +../api/integrations/datadog/datadog.py:20: error: Incompatible default for argument "session" (default has type "None", argument has type "Session") [assignment] +../api/users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] +../api/core/redis_cluster.py:28: error: Skipping analyzing "django_redis.client.default": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:46: note: def __getitem__(self, SupportsIndex, /) -> object +../api/app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/temp_hubspot.py:20: error: Name "HubspotLead" is not defined [name-defined] +../api/projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:50: note: def __getitem__(self, slice, /) -> bytes +../api/integrations/lead_tracking/pipedrive/models.py:72: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/pipedrive/client.py:89: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/serializers.py:87: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/environments/models.py:506: error: Need type annotation for "created_at" [var-annotated] +../api/app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] +../api/permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/permissions.py:139: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:68: note: def __getitem__(self, slice, /) -> bytes +../api/integrations/datadog/views.py:8: error: Incompatible types in assignment (expression has type "type[DataDogConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/temp_hubspot.py:17: error: Name "OrganisationRole" is not defined [name-defined] +../api/features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +../api/features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] +../api/util/logging.py:49: note: Possible overload variants: +../api/integrations/lead_tracking/pipedrive/lead_tracker.py:82: error: Unsupported target for indexed assignment ("object") [index] +../api/features/versioning/permissions.py:78: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/permissions/migrations/0009_move_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:49: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] +../api/segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/util/logging.py:49: note: def __getitem__(self, SupportsIndex, /) -> object +../api/app_analytics/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permissions_calculator.py:135: error: Argument 1 to "get_user_permission_data" has incompatible type "UserProjectPermission | None"; expected "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:46: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +../api/features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +../api/features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +../api/edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytearray +../api/app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] +../api/permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/serializers.py:4: error: Skipping analyzing "djoser.conf": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/conftest.py:114: error: No return value expected [return-value] +../api/users/models.py:244: error: Missing return statement [return] +../api/util/logging.py:44: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/integrations/lead_tracking/pipedrive/models.py:43: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/models.py:23: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/migrations.py:46: error: Item "UserOrganisationPermission" of "UserEnvironmentPermission | UserPermissionGroupEnvironmentPermission | UserProjectPermission | UserPermissionGroupProjectPermission | UserOrganisationPermission | UserPermissionGroupOrganisationPermission" has no attribute "admin" [union-attr] +../api/util/logging.py:45: note: Possible overload variants: +../api/app_analytics/tasks.py:176: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] +../api/features/versioning/permissions.py:64: note: This violates the Liskov substitution principle +../api/sales_dashboard/views.py:303: error: "Never" not callable [misc] +../api/audit/permissions.py:18: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] +../api/projects/admin.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +../api/custom_auth/views.py:89: error: Argument "status" to "ErrorResponse" has incompatible type "Literal[401]"; expected "str" [arg-type] +../api/environments/models.py:99: error: Need type annotation for "webhooks_enabled" [var-annotated] +../api/audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +../api/permissions/migrations/0008_add_view_audit_log_permission.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:42: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/models.py:177: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] +../api/core/migration_helpers.py:16: error: Incompatible default for argument "reverse_sql" (default has type "None", argument has type "str | PathLike[Any]") [assignment] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +../api/environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/views.py:156: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] +../api/custom_auth/oauth/github.py:22: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:45: error: Item "Decimal" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:48: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/views.py:6: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/migrations/0010_auto_20200219_2343.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:125: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/permissions.py:69: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/util/logging.py:36: note: def __getitem__(self, SupportsIndex, /) -> object +../api/users/models.py:142: note: Subclass: +../api/segments/models.py:374: error: Missing return statement [return] +../api/custom_auth/oauth/serializers.py:44: error: Cannot find implementation or library stub for module named "auth_controller.controller" [import-not-found] +../api/environments/models.py:502: error: Need type annotation for "environment" [var-annotated] +../api/environments/models.py:288: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] +../api/integrations/launch_darkly/services.py:615: error: Argument "variation_idx" to "_set_imported_mv_feature_state_values" has incompatible type "int | None"; expected "str | None" [arg-type] +../api/features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +../api/conftest.py:416: error: Argument 1 to "add" of "ManyRelatedManager" has incompatible type "*list[str]"; expected "PermissionModel | int" [arg-type] +../api/custom_auth/views.py:72: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +../api/integrations/datadog/datadog.py:20: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +../api/edge_api/identities/tasks.py:32: error: Incompatible default for argument "previous_enabled_state" (default has type "None", argument has type "bool") [assignment] +../api/environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "ld_flag" [call-arg] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "environments_by_ld_environment_key" [call-arg] +../api/permissions/permissions_calculator.py:165: error: Incompatible default for argument "user_permission" (default has type "None", argument has type "UserProjectPermission | UserEnvironmentPermission | UserOrganisationPermission") [assignment] +../api/util/logging.py:36: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/util/logging.py:46: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/opencensus/querylogger.py:2: error: Skipping analyzing "opencensus.trace": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/views.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/utils.py:30: error: Incompatible return value type (got "dict[str, Literal['+', '-', '~']]", expected "FeatureStateChangeDetails") [return-value] +../api/edge_api/identities/tasks.py:33: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +../api/projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +../api/integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/environments/models.py:109: error: Need type annotation for "banner_text" [var-annotated] +../api/integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] +../api/projects/views.py:148: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +../api/custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +../api/custom_auth/mfa/trench/views/base.py:74: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "id" [union-attr] +../api/util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] +../api/environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +../api/integrations/launch_darkly/client.py:56: error: Need type annotation for "response_json" [var-annotated] +../api/features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/users/models.py:142: note: Superclass: +../api/features/views.py:184: note: This violates the Liskov substitution principle +../api/integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] +../api/features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] +../api/environments/models.py:505: error: Need type annotation for "key" [var-annotated] +../api/integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/models.py:450: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/conftest.py:26: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:76: error: Need type annotation for "uuid" [var-annotated] +../api/app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/serializers.py:68: error: "InviteLinkValidationMixin" has no attribute "initial_data" [attr-defined] +../api/features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/util/logging.py:50: note: Possible overload variants: +../api/organisations/chargebee/chargebee.py:143: error: Missing return statement [return] +../api/features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/features/models.py:934: error: Return value expected [return-value] +../api/temp_hubspot.py:9: error: Name "FFAdminUser" is not defined [name-defined] +../api/audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/mixpanel/views.py:8: error: Incompatible types in assignment (expression has type "type[MixpanelConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/permissions/migrations/0010_add_manage_tags_permission.py:2: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api/urls/v1.py:78: error: Cannot find implementation or library stub for module named "split_testing.views" [import-not-found] +../api/webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] +../api/edge_api/identities/export.py:47: error: Argument 1 to "export_edge_trait" has incompatible type "int | str | Any | Decimal | bytes | bytearray"; expected "dict[Any, Any]" [arg-type] +../api/projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] +../api/app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] +../api/edge_api/identities/views.py:237: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/custom_auth/mfa/trench/command/remove_backup_code.py:16: error: Item "None" of "str | None" has no attribute "split" [union-attr] +../api/features/import_export/views.py:144: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/permissions.py:120: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/core/migration_helpers.py:16: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:99: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/views.py:311: error: Incompatible types in assignment (expression has type "WebhookType", base class "TriggerSampleWebhookMixin" defined the type as "None") [assignment] +../api/users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +../api/custom_auth/mfa/trench/command/generate_backup_codes.py:13: error: Incompatible default for argument "quantity" (default has type "object", argument has type "int") [assignment] +../api/util/logging.py:36: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/environments/models.py:449: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] +../api/features/import_export/permissions.py:62: error: Argument 2 of "has_permission" is incompatible with supertype "BasePermission"; supertype defines the argument type as "APIView" [override] +../api/audit/services.py:23: error: "Model" has no attribute "instance" [attr-defined] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +../api/environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] +../api/core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/import_export/permissions.py:24: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/features/versioning/views.py:9: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +../api/features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] +../api/features/import_export/permissions.py:51: note: This violates the Liskov substitution principle +../api/users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] +../api/environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +../api/features/import_export/tasks.py:240: error: Argument "type" to "_save_feature_state_value_with_type" has incompatible type "bool | str | int | None"; expected "str" [arg-type] +../api/features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/permissions.py:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytearray +../api/integrations/launch_darkly/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/serializers.py:303: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +../api/features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/migrations/0001_initial.py:10: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/mfa/trench/utils.py:50: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +../api/audit/serializers.py:84: error: "Model" has no attribute "history_type" [attr-defined] +../api/features/feature_external_resources/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:37: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/edge_api/identities/export.py:65: note: Possible overload variants: +../api/integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] +../api/features/models.py:1114: error: Return value expected [return-value] +../api/app_analytics/track.py:9: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] +../api/util/logging.py:46: note: Possible overload variants: +../api/features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] +../api/features/serializers.py:281: error: Missing return statement [return] +../api/environments/permissions/permissions.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] +../api/environments/permissions/migrations/0002_add_update_feature_state_permission.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permissions_calculator.py:165: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:50: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +../api/organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/migration_helpers.py:73: error: "type" has no attribute "objects" [attr-defined] +../api/features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/models.py:168: error: Incompatible default for argument "user" (default has type "None", argument has type "FFAdminUser | APIKeyUser") [assignment] +../api/environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] +../api/environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/sales_dashboard/views.py:315: error: "Never" not callable [misc] +../api/edge_api/identities/models.py:114: error: Incompatible return value type (got "str", expected "tuple[Any, ...]") [return-value] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "feature" [call-arg] +../api/audit/models.py:32: error: Need type annotation for "environment" [var-annotated] +../api/features/versioning/permissions.py:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/launch_darkly/services.py:457: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +../api/features/permissions.py:86: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/migrations/0021_historicalfeaturesegment.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:36: note: Possible overload variants: +../api/features/import_export/permissions.py:58: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/edge_api/identities/serializers.py:305: error: Argument 1 to "EdgeIdentitySearchData" has incompatible type "**dict[str, str]"; expected "EdgeIdentitySearchType" [arg-type] +../api/features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:45: error: Item "None" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/core/management/commands/bootstrap.py:18: note: Superclass: +../api/permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] +../api/environments/migrations/0017_add_environment_api_key_model.py:5: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/grafana/views.py:18: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfiguration]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/migrations/0004_add_version_change_set.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/services.py:550: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +../api/features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/edge_api/identities/serializers.py:126: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +../api/app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +../api/environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:246: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +../api/users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] +../api/features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] +../api/edge_api/identities/models.py:153: error: Argument 1 to "filter" has incompatible type "Callable[[Any], bool]"; expected "Callable[[Any], TypeGuard[FeatureStateModel | None]]" [arg-type] +../api/users/views.py:204: note: This violates the Liskov substitution principle +../api/app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] +../api/features/multivariate/migrations/0001_initial.py:6: error: Skipping analyzing "django_lifecycle.mixins": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/users/emails.py:1: error: Skipping analyzing "djoser": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] +../api/features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +../api/features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/launch_darkly/serializers.py:25: error: Need type annotation for "created_by" [var-annotated] +../api/features/migrations/0055_add_feature_segment_audit_log_for_delete.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("None" and "int") [operator] +../api/custom_auth/mfa/trench/responses.py:22: error: Argument "status" to "__init__" of "Response" has incompatible type "str"; expected "int | None" [arg-type] +../api/environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/migration_helpers.py:22: error: Argument "reverse_sql" to "PostgresOnlyRunSQL" has incompatible type "str | PathLike[Any]"; expected "str | list[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None]] | tuple[str | tuple[str, dict[str, Any] | list[Any] | tuple[Any, ...] | tuple[()] | None], ...] | tuple[()] | None" [arg-type] +../api/integrations/launch_darkly/services.py:1075: error: Item "None" of "Request | PreparedRequest | None" has no attribute "path_url" [union-attr] +../api/custom_auth/mfa/trench/command/create_secret.py:7: error: Argument "length" has incompatible type "object"; expected "int" [arg-type] +../api/environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "int" [arg-type] +../api/integrations/common/views.py:92: error: "None" has no attribute "objects" [attr-defined] +../api/environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/integrations/launch_darkly/services.py:885: error: Unexpected keyword argument "import_request" [call-arg] +../api/features/import_export/serializers.py:68: note: def save(self, environment_id: int) -> FeatureImport +../api/audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] +../api/edge_api/identities/export.py:49: error: Item "int" of "bytes | bytearray | str | int | Decimal | <8 more items> | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] +../api/features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] +../api/conftest.py:1186: error: The return type of a generator function should be "Generator" or one of its supertypes [misc] +../api/custom_auth/mfa/trench/utils.py:50: note: Superclass: +../api/integrations/lead_tracking/pipedrive/models.py:125: error: Incompatible default for argument "id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/export.py:50: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/edge_api/identities/tasks.py:30: error: Incompatible default for argument "new_enabled_state" (default has type "None", argument has type "bool") [assignment] +../api/features/views.py:186: error: Cannot determine type of "_page" [has-type] +../api/permissions/permissions_calculator.py:81: error: Invalid type comment or annotation [valid-type] +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +../api/integrations/lead_tracking/pipedrive/client.py:137: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/import_export/export.py:266: error: Incompatible types in assignment (expression has type "None", variable has type "list[str]") [assignment] +../api/users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] +../api/environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +../api/features/versioning/views.py:127: note: This violates the Liskov substitution principle +../api/environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +../api/features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_id" (default has type "None", argument has type "str") [assignment] +../api/import_export/export.py:282: error: Argument 2 to "serialize" has incompatible type "**dict[str, list[Any]]"; expected "str" [arg-type] +../api/features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] +../api/features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] +../api/app_analytics/analytics_db_service.py:82: error: Argument 1 to "get_usage_data_from_local_db" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +../api/features/feature_segments/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:91: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/util/logging.py:42: error: Argument 1 to "strptime" of "datetime" has incompatible type "Any | object"; expected "str" [arg-type] +../api/features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:65: note: def __getitem__(self, slice, /) -> bytes +../api/app_analytics/analytics_db_service.py:146: error: Incompatible return value type (got "dict_values[Any, UsageData]", expected "list[UsageData]") [return-value] +../api/util/logging.py:37: note: Possible overload variants: +../api/environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/services.py:5: error: Skipping analyzing "djoser.email": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/tasks.py:25: note: Perhaps you need "Callable[...]" or a callback protocol? +../api/users/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/management/commands/bootstrap.py:27: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +../api/integrations/lead_tracking/pipedrive/models.py:22: error: Incompatible default for argument "schema" (default has type "None", argument has type "Schema") [assignment] +../api/features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +../api/features/versioning/permissions.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:24: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_organisation_admin" [union-attr] +../api/features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +../api/users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/export.py:74: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/integrations/slack/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/views.py:106: error: Argument 1 to "loads" has incompatible type "str | None"; expected "str | bytes | bytearray" [arg-type] +../api/projects/tags/serializers.py:25: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "is_system_tag" [union-attr] +../api/integrations/lead_tracking/pipedrive/client.py:48: error: List comprehension has incompatible type List[BasePipedriveModel]; expected List[PipedriveOrganization] [misc] +../api/integrations/dynatrace/views.py:9: error: Incompatible types in assignment (expression has type "type[DynatraceConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:50: error: Value of type "int | str | Any | Decimal | bytes | bytearray" is not indexable [index] +../api/util/logging.py:48: note: Possible overload variants: +../api/audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/custom_auth/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:35: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +../api/environments/views.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:45: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/audit/views.py:107: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "organisations" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:44: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/permissions/permissions.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] +../api/conftest.py:19: error: Skipping analyzing "moto": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:43: error: Incompatible default for argument "id" (default has type "None", argument has type "str") [assignment] +../api/edge_api/identities/export.py:87: error: Invalid index type "Any | str" for "dict[int, str]"; expected type "int" [index] +../api/app_analytics/analytics_db_service.py:95: error: Argument 1 to "get_usage_data" has incompatible type "**dict[str, Organisation | int | None]"; expected "datetime | None" [arg-type] +../api/features/import_export/permissions.py:47: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/features/permissions.py:129: note: This violates the Liskov substitution principle +../api/features/models.py:530: note: Both left and right operands are unions +../api/integrations/lead_tracking/pipedrive/client.py:89: error: Incompatible default for argument "person_id" (default has type "None", argument has type "int") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +../api/integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/views.py:12: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +../api/organisations/permissions/permissions.py:193: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/util/logging.py:45: note: def __getitem__(self, SupportsIndex, /) -> object +../api/integrations/lead_tracking/pipedrive/client.py:29: error: Incompatible default for argument "organization_fields" (default has type "None", argument has type "dict[str, Any]") [assignment] +../api/environments/models.py:100: error: Need type annotation for "webhook_url" [var-annotated] +../api/features/permissions.py:129: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] +../api/custom_auth/views.py:41: error: Need type annotation for "authentication_classes" (hint: "authentication_classes: list[] = ...") [var-annotated] +../api/integrations/lead_tracking/pipedrive/models.py:50: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/subscriptions/metadata.py:34: note: Both left and right operands are unions +../api/custom_auth/serializers.py:5: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:35: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "is_environment_admin" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:72: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +../api/features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/opencensus/querylogger.py:1: error: Skipping analyzing "google.rpc": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:507: error: Need type annotation for "name" [var-annotated] +../api/util/history/custom_simple_history.py:2: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] +../api/integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/tags/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/permissions.py:58: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/organisations/chargebee/webhook_handlers.py:171: error: Module has no attribute "utc" [attr-defined] +../api/features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/environments/migrations/0026_add_auditable_base_class_to_environment_model.py:8: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/custom_auth/mfa/trench/responses.py:21: error: "__init__" of "Response" gets multiple values for keyword argument "data" [misc] +../api/features/import_export/permissions.py:62: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:24: error: Incompatible default for argument "request_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/segments/migrations/0019_add_audit_to_condition.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:77: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:89: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] +../api/api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] +../api/audit/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/renderers.py:14: error: Cannot override class variable (previously declared on base class "JSONRenderer") with instance variable [misc] +../api/app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] +../api/core/signals.py:7: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/permissions.py:78: note: This violates the Liskov substitution principle +../api/users/views.py:207: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[UserPermissionGroup] | None") [return-value] +../api/integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] +../api/integrations/slack/slack.py:28: error: Incompatible default for argument "api_token" (default has type "None", argument has type "str") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytearray" matches argument type "str" [call-overload] +../api/integrations/grafana/migrations/0001_initial.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/views.py:9: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/permissions.py:11: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/models.py:168: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/signals.py:33: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +../api/util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] +../api/integrations/webhook/serializers.py:52: error: Missing return statement [return] +../api/features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/integrations/common/views.py:63: error: "None" has no attribute "objects" [attr-defined] +../api/features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:292: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/conftest.py:691: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +../api/features/versioning/views.py:259: error: Argument 1 of "perform_update" is incompatible with supertype "UpdateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +../api/projects/views.py:8: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/models.py:114: error: Argument "key_function" to "get_environment_flags_dict" has incompatible type "Callable[[FeatureState], str]"; expected "Callable[[FeatureState], tuple[Any, ...]]" [arg-type] +../api/custom_auth/mfa/trench/utils.py:50: note: Subclass: +../api/integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] +../api/edge_api/identities/serializers.py:300: error: Incompatible types in assignment (expression has type "EdgeIdentitySearchType", target has type "str") [assignment] +../api/app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? +../api/permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] +../api/audit/models.py:39: error: Need type annotation for "log" [var-annotated] +../api/projects/permissions.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] +../api/projects/views.py:168: error: Incompatible default for argument "pk" (default has type "None", argument has type "int") [assignment] +../api/integrations/slack/slack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/client.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/workflows/core/migrations/0003_add_historical_change_request.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/tasks.py:29: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/conftest.py:701: error: Incompatible return value type (got "tuple[AbstractAPIKey, str]", expected "tuple[MasterAPIKey, str]") [return-value] +../api/api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +../api/features/workflows/core/models.py:232: error: Missing return statement [return] +../api/features/models.py:1117: error: Return value expected [return-value] +../api/edge_api/identities/export.py:68: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] +../api/environments/models.py:105: error: Need type annotation for "updated_at" [var-annotated] +../api/environments/sdk/serializers.py:152: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] +../api/features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +../api/integrations/lead_tracking/hubspot/services.py:21: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:43: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/views.py:189: error: Incompatible return value type (got "Sequence[Any] | None", expected "list[Feature]") [return-value] +../api/util/logging.py:37: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/client.py:29: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/sales_dashboard/views.py:327: error: "Never" not callable [misc] +../api/app_analytics/tasks.py:211: error: Incompatible return value type (got "QuerySet[FeatureEvaluationRaw@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/app_analytics/tasks.py:117: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] +../api/features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] +../api/app_analytics/tasks.py:184: error: Incompatible return value type (got "QuerySet[APIUsageBucket@AnnotatedWith[TypedDict({'count': Any})], dict[str, Any]]", expected "dict[Any, Any]") [return-value] +../api/edge_api/identities/serializers.py:286: error: Return type "EdgeIdentitySearchData" of "to_internal_value" incompatible with return type "str" in supertype "Field" [override] +../api/app_analytics/views.py:11: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/core/redis_cluster.py:84: error: Need type annotation for "_clients" (hint: "_clients: dict[, ] = ...") [var-annotated] +../api/custom_auth/oauth/github.py:22: error: Incompatible default for argument "client_secret" (default has type "None", argument has type "str") [assignment] +../api/custom_auth/mfa/trench/utils.py:14: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +../api/core/redis_cluster.py:125: error: Cannot instantiate abstract class "RedisCluster" with abstract attribute "connection_pool" [abstract] +../api/integrations/lead_tracking/pipedrive/models.py:44: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +../api/environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/logging.py:48: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/versioning/permissions.py:73: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +../api/integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/edge_api/identities/export.py:68: note: def __getitem__(self, SupportsIndex, /) -> int +../api/environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +../api/features/import_export/serializers.py:22: note: def save(self, **kwargs: Any) -> Any +../api/users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] +../api/app_analytics/management/commands/sendapiusagetoinflux.py:6: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/edge_request_forwarder.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] +../api/organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] +../api/util/logging.py:46: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/environments/serializers.py:89: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] +../api/app_analytics/tasks.py:142: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/utils.py:32: error: Argument 2 of "check_token" is incompatible with supertype "PasswordResetTokenGenerator"; supertype defines the argument type as "str | None" [override] +../api/features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] +../api/util/logging.py:38: note: Left operand is of type "Any | object" +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +../api/conftest.py:13: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +../api/environments/sdk/views.py:23: error: "HttpRequest" has no attribute "environment" [attr-defined] +../api/app_analytics/analytics_db_service.py:93: error: Incompatible types in assignment (expression has type "datetime", target has type "Organisation | int | None") [assignment] +../api/features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] +../api/features/versioning/migrations/0001_add_environment_feature_state_version_logic.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] +../api/app_analytics/analytics_db_service.py:17: note: Hint: "python3 -m pip install types-python-dateutil" +../api/e2etests/e2e_seed_data.py:6: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/services.py:992: error: Incompatible types (expression has type "str", TypedDict item "trait_value" has type "SDKTraitValueData | None") [typeddict-item] +../api/util/logging.py:37: note: def __getitem__(self, SupportsIndex, /) -> object +../api/features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] +../api/app_analytics/tasks.py:176: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] +../api/core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:91: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/audit/models.py:40: error: Need type annotation for "author" [var-annotated] +../api/app_analytics/tasks.py:176: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/conftest.py:8: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:51: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/util/logging.py:8: error: Skipping analyzing "gunicorn.config": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:41: error: Argument 3 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/app_analytics/tasks.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/models.py:450: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/audit/permissions.py:29: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_project_permission" [union-attr] +../api/app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/import_export/serializers.py:22: error: Signature of "save" incompatible with supertype "BaseSerializer" [override] +../api/features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +../api/integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] +../api/organisations/permissions/permissions.py:224: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "belongs_to" [union-attr] +../api/environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +../api/edge_api/identities/models.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] +../api/permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +../api/edge_api/identities/export.py:51: error: No overload variant of "__getitem__" of "bytes" matches argument type "str" [call-overload] +../api/features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +../api/features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] +../api/environments/permissions/serializers.py:17: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +../api/app_analytics/tasks.py:32: error: Incompatible default for argument "source_bucket_size" (default has type "None", argument has type "int") [assignment] +../api/permissions/permissions_calculator.py:103: error: Incompatible return value type (got "set[str]", expected "set[Never]") [return-value] +../api/features/versioning/permissions.py:81: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] +../api/edge_api/identities/export.py:41: error: Argument 1 to "export_edge_identity" has incompatible type "bytes | bytearray | str | int | Decimal | <8 more items> | None"; expected "str" [arg-type] +../api/features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/import_export/permissions.py:62: note: This violates the Liskov substitution principle +../api/features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] +../api/environments/models.py:175: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): +../api/environments/models.py:292: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] +../api/permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] +../api/integrations/lead_tracking/pipedrive/client.py:137: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +../api/projects/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/serializers.py:27: error: User? has no attribute "id" [attr-defined] +../api/environments/models.py:123: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] +../api/segments/permissions.py:1: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] +../api/permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/grafana/views.py:24: error: Incompatible types in assignment (expression has type "type[GrafanaOrganisationConfiguration]", base class "OrganisationIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/core/redis_cluster.py:30: error: Skipping analyzing "django_redis.pool": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] +../api/environments/permissions/permissions.py:88: error: "Model" has no attribute "environment" [attr-defined] +../api/edge_api/identities/export.py:51: note: def __getitem__(self, slice, /) -> bytes +../api/environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +../api/environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:47: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +../api/features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] +../api/integrations/grafana/grafana.py:26: error: Incompatible return value type (got "GrafanaAnnotation", expected "dict[str, Any]") [return-value] +../api/integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/trench/command/generate_backup_codes.py:14: error: Incompatible default for argument "length" (default has type "object", argument has type "int") [assignment] +../api/features/versioning/views.py:4: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +../api/features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py:7: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/views.py:10: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] +../api/projects/permissions.py:106: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/organisations/urls.py:172: error: Cannot find implementation or library stub for module named "rbac.views" [import-not-found] +../api/core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:924: error: Return value expected [return-value] +../api/core/management/commands/bootstrap.py:18: note: def create_parser(self, prog_name: str, subcommand: str, **kwargs: Any) -> CommandParser +../api/app_analytics/query.py:5: error: Skipping analyzing "google.oauth2": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app/routers.py:101: error: Missing return statement [return] +../api/users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +../api/features/versioning/permissions.py:34: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/util/logging.py:44: error: No overload variant of "__getitem__" of "tuple" matches argument type "str" [call-overload] +../api/segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/jwt_cookie/authentication.py:15: error: Argument 1 to "get_validated_token" of "JWTAuthentication" has incompatible type "str"; expected "bytes" [arg-type] +../api/features/versioning/views.py:250: error: Argument 1 of "perform_create" is incompatible with supertype "CreateModelMixin"; supertype defines the argument type as "BaseSerializer[Any]" [override] +../api/integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/client.py:136: error: Incompatible default for argument "data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/edge_api/identities/tasks.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/views.py:91: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_environments" [union-attr] +../api/integrations/lead_tracking/pipedrive/models.py:49: error: Incompatible default for argument "expected_close_date" (default has type "None", argument has type "date") [assignment] +../api/app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] +../api/edge_api/identities/edge_request_forwarder.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +../api/edge_api/identities/tasks.py:28: error: Incompatible default for argument "changed_by_user_id" (default has type "None", argument has type "int") [assignment] +../api/features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +../api/integrations/grafana/views.py:16: error: Incompatible types in assignment (expression has type "type[GrafanaProjectConfigurationSerializer]", base class "ProjectIntegrationBaseViewSet" defined the type as "None") [assignment] +../api/features/feature_segments/views.py:3: error: Skipping analyzing "common.projects.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/client.py:137: error: Incompatible default for argument "query_params" (default has type "None", argument has type "dict[Any, Any]") [assignment] +../api/webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/edge_api/identities/edge_request_forwarder.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/slack/views.py:66: error: Incompatible types in assignment (expression has type "type[SlackEnvironment]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +../api/features/import_export/permissions.py:51: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/custom_auth/oauth/views.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:110: error: Need type annotation for "banner_colour" [var-annotated] +../api/users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/util/logging.py:49: error: Value of type "tuple[object, ...] | Mapping[str, object] | None" is not indexable [index] +../api/app_analytics/tasks.py:135: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +../api/features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +../api/integrations/lead_tracking/hubspot/services.py:16: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "email" [union-attr] +../api/audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] +../api/integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +../api/environments/identities/traits/views.py:5: error: Skipping analyzing "drf_yasg": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/permissions.py:120: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/users/views.py:204: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +../api/integrations/lead_tracking/pipedrive/client.py:91: error: Incompatible default for argument "label_ids" (default has type "None", argument has type "list[str]") [assignment] +../api/features/permissions.py:139: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/features/versioning/permissions.py:81: error: Item "AnonymousUser" of "AbstractBaseUser | AnonymousUser" has no attribute "has_environment_permission" [union-attr] +../api/custom_auth/mfa/trench/views/base.py:28: error: Incompatible types in assignment (expression has type "type[FFAdminUser]", variable has type "AbstractUser") [assignment] +../api/edge_api/management/commands/migrate_to_edge_v2.py:13: error: Missing return statement [return] +../api/edge_api/identities/edge_request_forwarder.py:56: error: Incompatible types in assignment (expression has type "str", variable has type "dict[Any, Any]") [assignment] +../api/integrations/lead_tracking/pipedrive/models.py:99: error: Incompatible default for argument "key" (default has type "None", argument has type "str") [assignment] +../api/features/versioning/views.py:86: error: Item "AbstractBaseUser" of "AbstractBaseUser | AnonymousUser" has no attribute "get_permitted_projects" [union-attr] +../api/features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/feature_segments/views.py:5: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +../api/features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] +../api/users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] +../api/integrations/dynatrace/views.py:7: error: Incompatible types in assignment (expression has type "type[DynatraceConfigurationSerializer]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:68: note: Possible overload variants: +../api/edge_api/identities/export.py:74: note: def __getitem__(self, slice, /) -> bytes +../api/integrations/amplitude/views.py:9: error: Incompatible types in assignment (expression has type "type[AmplitudeConfiguration]", base class "EnvironmentIntegrationCommonViewSet" defined the type as "None") [assignment] +../api/features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] +../api/integrations/lead_tracking/pipedrive/client.py:72: error: Incompatible return value type (got "BasePipedriveModel", expected "PipedriveOrganizationField") [return-value] +../api/edge_api/identities/views.py:121: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +../api/features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] +../api/api/urls/v1.py:5: error: Skipping analyzing "drf_yasg.views": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/app/urls.py:46: error: Skipping analyzing "debug_toolbar": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] +../api/segments/migrations/0016_add_historical_records_to_segment.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/permissions/permissions.py:3: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +../api/e2etests/e2e_seed_data.py:139: error: Incompatible type for "name" of "Project" (got "Sequence[str]", expected "str | int | Combinable") [misc] +../api/features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] +../api/features/versioning/views.py:127: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +../api/integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +../api/features/import_export/tasks.py:224: error: Item "None" of "bool | str | int | None" has no attribute "__iter__" (not iterable) [union-attr] +../api/edge_api/identities/export.py:65: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/environments/models.py:102: error: Need type annotation for "allow_client_traits" [var-annotated] +../api/permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/export.py:68: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice" [index] +../api/integrations/lead_tracking/pipedrive/models.py:47: error: Incompatible default for argument "organization_id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/tasks.py:6: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/organisations/management/commands/createinitialorganisation.py:43: error: Item "None" of "FFAdminUser | None" has no attribute "add_organisation" [union-attr] +../api/features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/integrations/common/views.py:35: error: "None" has no attribute "objects" [attr-defined] +../api/permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +../api/util/logging.py:47: note: def __getitem__(self, slice, /) -> tuple[object, ...] +../api/core/management/commands/bootstrap.py:28: error: Argument 1 to "handle" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "organisations.management.commands.createinitialorganisation.Command" [arg-type] +../api/organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] +../api/features/versioning/urls.py:3: error: Skipping analyzing "rest_framework_nested.routers": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] +../api/integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +../api/features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +../api/edge_api/identities/tasks.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/environments/permissions/permissions.py:89: error: Incompatible default for argument "admin_actions" (default has type "None", argument has type "Iterable[str]") [assignment] +../api/features/workflows/core/migrations/0004_add_historical_change_request_approvals.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/environments/models.py:292: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] +../api/core/management/commands/bootstrap.py:22: error: Argument 1 to "add_arguments" of "Command" has incompatible type "core.management.commands.bootstrap.Command"; expected "users.management.commands.createinitialadminuser.Command" [arg-type] +../api/environments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/custom_auth/mfa/backends/application.py:27: error: Value of type "object" is not indexable [index] +../api/core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +../api/environments/identities/views.py:12: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/integrations/lead_tracking/pipedrive/models.py:99: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +../api/integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] +../api/features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +../api/integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +../api/permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/integrations/lead_tracking/pipedrive/models.py:48: error: Incompatible default for argument "value" (default has type "None", argument has type "PipedriveValue") [assignment] +../api/audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] +../api/edge_api/identities/edge_request_forwarder.py:73: error: Argument 2 to "forward_trait_request_sync" has incompatible type "str"; expected "dict[Any, Any]" [arg-type] +../api/integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +../api/edge_api/identities/export.py:35: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +../api/integrations/launch_darkly/migrations/0001_initial.py:6: error: Skipping analyzing "simple_history": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +../api/features/permissions.py:86: note: This violates the Liskov substitution principle +../api/custom_auth/mfa/trench/utils.py:32: error: Variable "custom_auth.mfa.trench.utils.User" is not valid as a type [valid-type] +../api/organisations/migrations/0050_add_historical_subscription.py:6: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +../api/organisations/permissions/permissions.py:193: error: Missing return statement [return] +../api/integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +../api/features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] From 0d8a0d5bef3a3279ff7b2c0d6c53e30d9ffe7f07 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 15:54:01 +0000 Subject: [PATCH 43/51] Filter out mypy failures for site packages --- api/scripts/mypy_check.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index da0c6a532e00..0752a6522445 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -46,8 +46,8 @@ def main() -> None: with open(baseline_path, "r") as f: baseline = set(line.strip() for line in f if line.strip()) - # Detect new errors and remove information line - current_errors = set(current_output) + # Detect new errors and remove information line filtering out third party packages + current_errors = {line for line in current_output if "site-packages" not in line} new_errors = current_errors - baseline pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" removal = None From 5c8449f2905d5512460542821e7f386c18e8b289 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 16:03:09 +0000 Subject: [PATCH 44/51] Add errors to baseline --- api/scripts/mypy_baseline.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 0060cc23c700..13508d031e29 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -3060,3 +3060,8 @@ util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDic ../api/integrations/datadog/datadog.py:20: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True ../api/edge_api/identities/tasks.py:33: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True ../api/features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +../api/util/pydantic.py:17: note: Possible overload variants: +../api/util/mappers/sdk.py:51: error: Argument "exclude" to "model_dump" of "BaseModel" has incompatible type "list[str]"; expected "IncEx | None" [arg-type] +../api/util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] +../api/util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] +../api/util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] From ac0b7cc9f4a602a46b145ab21d8e5d99116c7343 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Wed, 4 Dec 2024 16:05:09 +0000 Subject: [PATCH 45/51] Update baseline and revert changes to util model type ignores --- api/scripts/mypy_baseline.txt | 713 ++++++++++++++++++++++++++++++++++ api/util/mappers/sdk.py | 2 +- api/util/pydantic.py | 2 +- 3 files changed, 715 insertions(+), 2 deletions(-) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 13508d031e29..9d65ea519251 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -3065,3 +3065,716 @@ util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDic ../api/util/pydantic.py:17: note: def [ModelT: BaseModel] create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: type[ModelT] | tuple[type[ModelT], ...], __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[ModelT] ../api/util/pydantic.py:17: note: def create_model(str, /, *, __config__: ConfigDict | None = ..., __doc__: str | None = ..., __base__: None = ..., __module__: str = ..., __validators__: dict[str, Callable[..., Any]] | None = ..., __cls_kwargs__: dict[str, Any] | None = ..., **field_definitions: Any) -> type[BaseModel] ../api/util/pydantic.py:17: error: No overload variant of "create_model" matches argument types "str", "ConfigDict", "dict[str, tuple[type[Any] | None, FieldInfo]]" [call-overload] +environments/models.py:115: error: Need type annotation for "hide_disabled_flags" [var-annotated] +features/models.py:537: error: Unsupported left operand type for > ("None") [operator] +environments/dynamodb/wrappers/identity_wrapper.py:44: error: Item "None" of "Table | None" has no attribute "put_item" [union-attr] +permissions/rbac_wrapper.py:12: error: Cannot find implementation or library stub for module named "rbac.permission_service" [import-not-found] +environments/dynamodb/wrappers/identity_wrapper.py:177: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:197: error: Incompatible types in assignment (expression has type "Webhook", variable has type "OrganisationWebhook") [assignment] +organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("int" and "None") [operator] +permissions/permission_service.py:272: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:292: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/workflows/core/models.py:353: error: Need type annotation for "approved_at" [var-annotated] +users/abc.py:40: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:34: note: Both left and right operands are unions +app/settings/common.py:931: error: Module has no attribute "util" [attr-defined] +integrations/flagsmith/flagsmith_service.py:27: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/chargebee/chargebee.py:143: error: Missing return statement [return] +users/models.py:142: note: def delete(self, delete_orphan_organisations: bool = ...) -> Any +environments/dynamodb/wrappers/environment_wrapper.py:125: error: Argument 1 to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "**QueryInputRequestTypeDef"; expected "dict[Any, Any]" [arg-type] +environments/models.py:447: note: Suggestion: use type[...] instead of type(...) +users/models.py:100: error: Cannot override class variable (previously declared on base class "AbstractUser") with instance variable [misc] +environments/dynamodb/types.py:37: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +app/settings/common.py:956: error: Module has no attribute "util" [attr-defined] +environments/dynamodb/types.py:41: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +features/versioning/versioning_service.py:54: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +environments/dynamodb/wrappers/environment_api_key_wrapper.py:31: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +permissions/permission_service.py:258: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:268: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/github/github.py:218: error: Item "None" of "Environment | Any | None" has no attribute "api_key" [union-attr] +api_keys/user.py:76: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:23: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/xero/metadata.py:6: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +features/versioning/versioning_service.py:53: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/feature_external_resources/models.py:7: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:430: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +core/models.py:197: error: Incompatible default for argument "change_details_excluded_fields" (default has type "None", argument has type "Sequence[str]") [assignment] +environments/models.py:66: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/versioning_service.py:23: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:16: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permission_service.py:63: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +permissions/permission_service.py:232: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +util/mappers/dynamodb.py:214: error: Cannot call function of unknown type [operator] +integrations/lead_tracking/hubspot/client.py:13: error: Skipping analyzing "hubspot.crm.contacts": module is installed, but missing library stubs or py.typed marker [import-untyped] +projects/serializers.py:110: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <14 more items>]) [assignment] +custom_auth/mfa/trench/models.py:22: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +features/audit_helpers.py:28: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +webhooks/webhooks.py:280: error: List item 0 has incompatible type "str | Any | None"; expected "str" [list-item] +environments/models.py:136: error: Need type annotation for "use_v2_feature_versioning" [var-annotated] +integrations/segment/segment.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py: error: Skipping analyzing "admin_sso.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:619: error: Incompatible default for argument "version" (default has type "None", argument has type "int") [assignment] +app_analytics/influxdb_wrapper.py:208: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +integrations/github/tasks.py:46: error: Incompatible types in assignment (expression has type "str | bytes", variable has type "bytes") [assignment] +features/versioning/versioning_service.py:54: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/identity_wrapper.py:139: error: Argument "capacity_spent" to "CapacityBudgetExceeded" has incompatible type "int"; expected "Decimal" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +permissions/permission_service.py:231: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None" [arg-type] +integrations/amplitude/amplitude.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +audit/models.py:55: error: Need type annotation for "related_object_type" [var-annotated] +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "prev_record" [attr-defined] +permissions/permission_service.py:232: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +features/models.py:95: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/dynamodb/wrappers/environment_wrapper.py:58: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +features/versioning/versioning_service.py:57: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:47: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +users/models.py:388: error: Argument "through_fields" to "ManyToManyField" has incompatible type "list[str]"; expected "tuple[str, str] | None" [arg-type] +app_analytics/influxdb_wrapper.py:208: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:85: error: Incompatible types in assignment (expression has type tuple[str, str, ... <16 more items>], base class "Meta" defined the type as tuple[str, str, ... <15 more items>]) [assignment] +integrations/amplitude/amplitude.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/models.py:479: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/feature_segments/serializers.py:1: error: Skipping analyzing "common.environments.permissions": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:5: error: Skipping analyzing "common.features.multivariate.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/permissions/models.py:48: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "environment_key" (default has type "None", argument has type "str") [assignment] +features/models.py:619: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +segments/helpers.py:3: error: Need type annotation for "skip_audit_log" (hint: "skip_audit_log: dict[, ] = ...") [var-annotated] +features/models.py:296: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +features/models.py:1124: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +app_analytics/influxdb_wrapper.py:328: error: Need type annotation for "dataset" [var-annotated] +users/models.py:142: error: Signature of "delete" incompatible with supertype "Model" [override] +organisations/subscriptions/metadata.py:71: note: def __eq__(self, other: object) -> bool: +features/versioning/models.py:173: error: Need type annotation for "created_at" [var-annotated] +audit/tasks.py:128: error: Incompatible default for argument "user_id" (default has type "None", argument has type "int") [assignment] +organisations/models.py:327: error: Argument 1 to "cancel_subscription" has incompatible type "str | None"; expected "str" [arg-type] +integrations/github/tasks.py:28: error: Argument 3 to "generate_body_comment" has incompatible type "int | None"; expected "int" [arg-type] +features/models.py:418: error: Argument 1 to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +environments/dynamodb/wrappers/base.py:25: error: Missing return statement [return] +permissions/permission_service.py:159: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +projects/models.py:11: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:72: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +features/versioning/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_model" (default has type "None", argument has type "IdentityModel") [assignment] +environments/tasks.py:49: error: Argument 1 to "delete_environment" of "DynamoEnvironmentV2Wrapper" has incompatible type "str"; expected "int" [arg-type] +integrations/webhook/models.py:2: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:26: error: "UUIDNaturalKeyManagerMixin" has no attribute "get" [attr-defined] +features/multivariate/models.py:151: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +features/import_export/models.py:22: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str | None" [arg-type] +integrations/amplitude/amplitude.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:156: error: Incompatible default for argument "start_key" (default has type "None", argument has type "dict[Any, Any]") [assignment] +environments/models.py:102: error: Need type annotation for "allow_client_traits" [var-annotated] +environments/dynamodb/wrappers/environment_wrapper.py:120: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +permissions/permission_service.py:63: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/heap/heap.py:31: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:52: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +sse/tasks.py:7: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/metadata.py:8: error: Incompatible types in assignment (expression has type "str", base class "BaseSubscriptionMetadata" defined the type as "None") [assignment] +features/workflows/core/models.py:403: error: Missing return statement [return] +features/serializers.py:316: error: Incompatible types in assignment (expression has type tuple[str, str, ... <19 more items>], base class "Meta" defined the type as tuple[str, str, ... <18 more items>]) [assignment] +permissions/rbac_wrapper.py:64: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +segments/models.py:370: error: Missing return statement [return] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "bool" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +webhooks/webhooks.py:262: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:300: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +features/workflows/core/models.py:407: error: Missing return statement [return] +integrations/flagsmith/flagsmith_service.py:27: error: Incompatible default for argument "api_url" (default has type "None", argument has type "str") [assignment] +core/models.py:197: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:132: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +features/versioning/versioning_service.py:12: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:746: error: Incompatible return value type (got "Any | None", expected "AbstractBaseFeatureValueModel") [return-value] +app_analytics/influxdb_wrapper.py:249: error: Need type annotation for "dataset" [var-annotated] +integrations/lead_tracking/hubspot/client.py:8: error: Skipping analyzing "hubspot.crm.companies": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:41: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +features/workflows/core/models.py:141: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/models.py:918: error: Item "None" of "FeatureState | None" has no attribute "enabled" [union-attr] +features/multivariate/models.py:89: error: Missing return statement [return] +environments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:262: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +api_keys/user.py:76: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:109: error: Value of "FilterExpression" has incompatible type "ConditionBase | str"; expected "str" [typeddict-item] +audit/models.py:68: error: Need type annotation for "history_record_class_path" [var-annotated] +features/models.py:619: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/webhook/webhook.py:34: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:177: error: Incompatible default for argument "identity_pk" (default has type "None", argument has type "str") [assignment] +environments/models.py:283: error: Item "None" of "Project | None" has no attribute "enable_dynamo_db" [union-attr] +users/models.py:273: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app_analytics/influxdb_wrapper.py:209: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +features/models.py:681: error: Argument 1 to "get_multivariate_feature_state_value" of "FeatureState" has incompatible type "str | int"; expected "str" [arg-type] +features/versioning/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/environment_wrapper.py:124: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +integrations/lead_tracking/hubspot/tasks.py:6: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +organisations/chargebee/chargebee.py:7: error: Skipping analyzing "chargebee.api_error": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:276: error: Argument "environment_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +environments/dynamodb/wrappers/base.py:11: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +audit/tasks.py:128: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/serializers.py:318: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +organisations/task_helpers.py:6: note: Hint: "python3 -m pip install types-python-dateutil" +integrations/lead_tracking/hubspot/client.py:163: error: Incompatible default for argument "organisation_id" (default has type "None", argument has type "int") [assignment] +features/serializers.py:318: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/environment_wrapper.py:73: error: Argument "KeyConditionExpression" to "query_get_all_items" of "BaseDynamoWrapper" has incompatible type "And"; expected "dict[Any, Any]" [arg-type] +app/settings/common.py:1150: error: Module has no attribute "util" [attr-defined] +environments/models.py:75: error: Need type annotation for "name" [var-annotated] +features/versioning/models.py:86: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +audit/models.py:56: error: Need type annotation for "related_object_uuid" [var-annotated] +features/workflows/core/models.py:352: error: Need type annotation for "created_at" [var-annotated] +environments/dynamodb/types.py:35: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:66: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +users/abc.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:57: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/mappers/engine.py:88: error: Argument "type" to "SegmentRuleModel" has incompatible type "str"; expected "Literal['ALL', 'ANY', 'NONE']" [arg-type] +util/mappers/engine.py:419: error: Need type annotation for "prioritised_feature_state_by_feature_id" (hint: "prioritised_feature_state_by_feature_id: dict[, ] = ...") [var-annotated] +core/models.py:166: error: Incompatible return value type (got "None", expected "RelatedObjectType") [return-value] +app/settings/common.py:81: error: Module has no attribute "setdefaultencoding"; maybe "getdefaultencoding"? [attr-defined] +integrations/flagsmith/flagsmith_service.py:27: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/environment_wrapper.py:118: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +features/versioning/versioning_service.py:57: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/models.py:956: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +api_keys/models.py:5: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:129: error: Incompatible default for argument "master_api_key_id" (default has type "None", argument has type "int") [assignment] +features/workflows/core/exceptions.py:18: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +features/feature_states/models.py:37: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] +features/versioning/versioning_service.py:101: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +integrations/lead_tracking/hubspot/tasks.py:6: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:262: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:60: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +integrations/heap/heap.py:31: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/audit_helpers.py:40: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +users/serializers.py:1: error: Skipping analyzing "djoser.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:691: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/serializers.py:17: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:275: error: Argument "project_id" to "get_multiple_event_list_for_organisation" has incompatible type "int | None"; expected "int" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:67: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/models.py:45: error: Couldn't resolve related manager 'environments' for relation 'environments.models.Environment.project'. [django-manager-missing] +features/tasks.py:56: error: Item "None" of "Environment | None" has no attribute "project" [union-attr] +features/audit_helpers.py:40: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:121: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +permissions/permission_service.py:97: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/models.py:45: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.project'. [django-manager-missing] +api_keys/user.py:84: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +environments/permissions/models.py:12: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/serializers.py:8: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/task_helpers.py:6: error: Library stubs not installed for "dateutil.relativedelta" [import-untyped] +environments/tasks.py:2: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/mixpanel/mixpanel.py:52: error: Incompatible return value type (got "list[dict[str, Collection[str]]]", expected "dict[Any, Any]") [return-value] +users/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:100: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:117: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +environments/serializers.py:87: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:620: error: Incompatible default for argument "environment_feature_version" (default has type "None", argument has type "EnvironmentFeatureVersion") [assignment] +segments/models.py:182: note: Left operand is of type "int | None" +environments/models.py:448: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:100: error: Incompatible types in assignment (expression has type "users.models.UserManager[Self]", base class "AbstractUser" defined the type as "django.contrib.auth.models.UserManager[FFAdminUser]") [assignment] +audit/tasks.py:86: error: Incompatible type for lookup 'id': (got "int | None", expected "str | int") [misc] +environments/dynamodb/wrappers/identity_wrapper.py:177: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/launch_darkly/models.py:37: error: Need type annotation for "ld_token" [var-annotated] +features/versioning/models.py:208: error: Need type annotation for "live_from" [var-annotated] +webhooks/webhooks.py:17: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:73: error: Need type annotation for "feature_states_dict" (hint: "feature_states_dict: dict[, ] = ...") [var-annotated] +environments/models.py:110: error: Need type annotation for "banner_colour" [var-annotated] +integrations/rudderstack/rudderstack.py:4: error: Skipping analyzing "rudderstack": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/models.py:109: error: "type[Model]" has no attribute "objects" [attr-defined] +organisations/subscriptions/serializers/mixins.py:26: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +features/workflows/core/models.py:61: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/models.py:1070: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +integrations/webhook/webhook.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:183: error: Need type annotation for "environment" [var-annotated] +features/models.py:153: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +audit/models.py:65: error: Need type annotation for "is_system_event" [var-annotated] +projects/models.py:111: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +environments/dynamodb/wrappers/environment_wrapper.py:111: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +features/workflows/core/models.py:211: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +features/versioning/models.py:97: error: Unsupported operand types for >= ("datetime" and "None") [operator] +permissions/permission_service.py:81: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Project]"; expected "Organisation | Project | Environment" [arg-type] +integrations/lead_tracking/hubspot/lead_tracker.py:47: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +features/serializers.py:281: error: Missing return statement [return] +core/models.py:25: error: "UUIDNaturalKeyManagerMixin" has no attribute "model" [attr-defined] +users/models.py:179: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +users/models.py:244: error: Missing return statement [return] +features/versioning/serializers.py:28: error: Name "CustomCreateSegmentOverrideFeatureStateSerializer.Meta" is not defined [name-defined] +organisations/task_helpers.py:6: note: (or run "mypy --install-types" to install all missing stub packages) +integrations/launch_darkly/models.py:30: error: Need type annotation for "project" [var-annotated] +app_analytics/influxdb_wrapper.py:209: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:77: error: Need type annotation for "created_date" [var-annotated] +features/models.py:617: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/models.py:210: error: Need type annotation for "feature_states_to_create" [var-annotated] +app_analytics/influxdb_wrapper.py:194: error: Need type annotation for "labels" (hint: "labels: list[] = ...") [var-annotated] +environments/models.py:246: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:197: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:71: note: return NotImplemented +permissions/permission_service.py:185: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Organisation]"; expected "Organisation | Project | Environment" [arg-type] +features/versioning/versioning_service.py:52: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +webhooks/webhooks.py:223: error: Module "django.utils.timezone" does not explicitly export attribute "timedelta" [attr-defined] +features/workflows/core/models.py:17: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:332: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +organisations/subscriptions/metadata.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides +core/models.py:71: error: "_BaseHistoricalModel" has no attribute "diff_against" [attr-defined] +api_keys/models.py:29: error: Cannot find implementation or library stub for module named "rbac.models" [import-not-found] +environments/identities/serializers.py:58: error: Need type annotation for "trait_value" [var-annotated] +integrations/github/tasks.py:39: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +features/workflows/core/models.py:232: error: Missing return statement [return] +features/versioning/versioning_service.py:25: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +features/workflows/core/models.py:210: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +environments/models.py:507: error: Need type annotation for "name" [var-annotated] +projects/serializers.py:118: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +api_keys/user.py:98: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/feature_states/models.py:33: error: Incompatible return value type (got "int | str | None", expected "str | int | bool") [return-value] +features/versioning/versioning_service.py:102: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +organisations/subscriptions/metadata.py:71: error: Argument 1 of "__eq__" is incompatible with supertype "object"; supertype defines the argument type as "object" [override] +permissions/permission_service.py:214: error: Incompatible default for argument "for_model" (default has type "None", argument has type "Organisation | Project | Environment") [assignment] +features/models.py:24: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:58: error: Incompatible default for argument "key_function" (default has type "None", argument has type "Callable[[FeatureState], tuple[Any, ...]]") [assignment] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'change_sets' for relation 'features.versioning.models.VersionChangeSet.change_request'. [django-manager-missing] +custom_auth/mfa/trench/exceptions.py:7: error: Generator has incompatible item type "list[_Detail] | dict[str, _Detail] | str"; expected "str" [misc] +permissions/permission_service.py:138: error: Argument 2 to "get_object_id_from_base_permission_filter" has incompatible type "type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +projects/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +integrations/github/tasks.py:49: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:58: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +integrations/github/tasks.py:56: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +features/models.py:678: error: Incompatible default for argument "identity_hash_key" (default has type "None", argument has type "str | int") [assignment] +features/models.py:898: error: Incompatible return value type (got "Literal[0] | bool | None", expected "bool") [return-value] +integrations/common/serializers.py:32: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +integrations/lead_tracking/hubspot/client.py:162: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/serializers.py:222: error: Need type annotation for "events_list" [var-annotated] +webhooks/webhooks.py:254: error: Cannot determine type of "data" [has-type] +organisations/subscriptions/metadata.py:34: error: Unsupported operand types for + ("None" and "int") [operator] +permissions/permission_service.py:111: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +environments/models.py:449: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/models.py:97: note: Left operand is of type "datetime | None" +core/models.py:196: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:80: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +environments/models.py:79: error: Need type annotation for "project" [var-annotated] +users/models.py:283: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/dynamodb/wrappers/environment_wrapper.py:95: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:63: error: Item "None" of "Table | None" has no attribute "delete_item" [union-attr] +permissions/permission_service.py:215: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:12: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +sse/tasks.py:48: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +features/versioning/managers.py:49: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +environments/models.py:137: error: Need type annotation for "use_identity_overrides_in_local_eval" [var-annotated] +sse/tasks.py:49: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +segments/models.py:14: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/rudderstack/rudderstack.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/workflows/core/models.py:209: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +features/versioning/versioning_service.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/serializers.py:123: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/managers.py:8: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/serializers.py:12: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/serializers.py:25: error: "type[_MT?]" has no attribute "objects" [attr-defined] +app/settings/common.py:21: error: Skipping analyzing "dj_database_url": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/webhook/serializers.py:52: error: Missing return statement [return] +api_keys/user.py:98: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:187: error: Need type annotation for "change_request" [var-annotated] +integrations/common/wrapper.py:23: error: Unexpected "..." [misc] +permissions/permission_service.py:258: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:101: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/managers.py:49: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +users/models.py:95: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.author'. [django-manager-missing] +permissions/permission_service.py:272: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:268: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +projects/serializers.py:100: error: Incompatible types in assignment (expression has type "tuple[str, str, str]", base class "Meta" defined the type as "tuple[str, str]") [assignment] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +audit/tasks.py:129: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "str" [arg-type] +core/models.py:67: error: Missing return statement [return] +features/audit_helpers.py:38: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/versioning/serializers.py:94: error: Incompatible types in assignment (expression has type tuple[str, str, ... <10 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +integrations/launch_darkly/models.py:39: error: Incompatible types in assignment (expression has type "JSONField[Any, Any]", variable has type "LaunchDarklyImportStatus") [assignment] +environments/models.py:246: error: Incompatible default for argument "environment_id" (default has type "None", argument has type "int") [assignment] +features/versioning/versioning_service.py:23: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +organisations/tasks.py:10: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +app/settings/common.py:1247: error: Module has no attribute "util" [attr-defined] +environments/identities/models.py:75: error: Argument "traits" to "get_segments" of "Identity" has incompatible type "list[Trait] | None"; expected "list[Trait]" [arg-type] +integrations/rudderstack/rudderstack.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app/utils.py:52: error: Incompatible return value type (got "dict[str, Any]", expected "VersionInfo") [return-value] +environments/models.py:449: error: Incompatible default for argument "identity_identifier" (default has type "None", argument has type "str") [assignment] +features/versioning/versioning_service.py:105: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +features/audit_helpers.py:54: error: Incompatible types in assignment (expression has type "tuple[str | Any, str]", variable has type "tuple[str]") [assignment] +features/versioning/models.py:215: error: Need type annotation for "feature_states_to_update" [var-annotated] +audit/models.py:40: error: Need type annotation for "author" [var-annotated] +features/models.py:535: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +features/managers.py:28: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/github/tasks.py:41: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +app_analytics/influxdb_wrapper.py:10: error: Skipping analyzing "influxdb_client.client.write_api": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/models.py:154: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +users/models.py:142: note: Superclass: +organisations/invites/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permission_service.py:232: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +custom_auth/mfa/trench/models.py:27: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +environments/models.py:450: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:102: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:23: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +audit/tasks.py:7: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:123: error: Need type annotation for "use_identity_composite_key_for_hashing" [var-annotated] +features/models.py:691: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +users/models.py:142: note: Subclass: +integrations/launch_darkly/models.py:33: error: Need type annotation for "updated_at" [var-annotated] +integrations/github/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:131: error: Need type annotation for "hide_sensitive_data" [var-annotated] +app_analytics/influxdb_wrapper.py:122: note: Perhaps you need "Callable[...]" or a callback protocol? +users/abc.py:40: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:78: error: Need type annotation for "description" [var-annotated] +features/versioning/versioning_service.py:100: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +environments/dynamodb/types.py:36: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +features/managers.py:9: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/serializers.py:40: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +environments/serializers.py:102: error: Cannot determine type of "fields" [has-type] +features/audit_helpers.py:25: error: Item "None" of "Identity | None" has no attribute "identifier" [union-attr] +integrations/lead_tracking/hubspot/client.py:173: error: Incompatible types in assignment (expression has type "int", target has type "str") [assignment] +environments/models.py:449: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/identities/models.py:156: error: Incompatible default for argument "traits" (default has type "None", argument has type "list[Trait]") [assignment] +app/settings/common.py:24: error: Skipping analyzing "corsheaders.defaults": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:217: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +audit/tasks.py:130: error: Incompatible default for argument "changed_at" (default has type "None", argument has type "str") [assignment] +features/tasks.py:3: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/segment/segment.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/tasks.py:74: error: Incompatible return value type (got "None", expected "dict[Any, Any]") [return-value] +features/versioning/versioning_service.py:58: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:215: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +integrations/segment/segment.py:4: error: Skipping analyzing "analytics.client": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:49: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +environments/models.py:93: error: Need type annotation for "api_key" [var-annotated] +users/models.py:296: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/identities/serializers.py:64: error: Need type annotation for "traits" [var-annotated] +features/models.py:1127: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/feature_segments/serializers.py:2: error: Skipping analyzing "common.features.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/subscription_info_cache.py:131: error: Incompatible types in assignment (expression has type "int | None", variable has type "float | int | str | Combinable") [assignment] +organisations/subscriptions/serializers/mixins.py:27: error: Incompatible types in assignment (expression has type "None", variable has type "Iterable[str]") [assignment] +features/workflows/core/models.py:349: error: Need type annotation for "change_request" [var-annotated] +core/models.py:77: error: "_BaseHistoricalModel" has no attribute "instance" [attr-defined] +app_analytics/influxdb_wrapper.py:256: error: Incompatible return value type (got "list[dict[Any, Any]]", expected "list[UsageData]") [return-value] +organisations/subscriptions/metadata.py:71: note: if not isinstance(other, BaseSubscriptionMetadata): +segments/models.py:83: error: Cannot override class variable (previously declared on base class "SoftDeleteExportableModel") with instance variable [misc] +integrations/launch_darkly/models.py:29: error: Need type annotation for "created_by" [var-annotated] +features/versioning/models.py:176: error: Need type annotation for "published_by" [var-annotated] +api_keys/user.py:108: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:97: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +app_analytics/influxdb_wrapper.py:208: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:537: note: Both left and right operands are unions +features/models.py:1059: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +users/abc.py:34: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:47: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:100: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:87: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/models.py:54: error: Need type annotation for "related_object_id" [var-annotated] +segments/models.py:182: error: Unsupported operand types for + ("None" and "int") [operator] +integrations/lead_tracking/hubspot/client.py:162: error: Incompatible default for argument "active_subscription" (default has type "None", argument has type "str") [assignment] +integrations/mixpanel/mixpanel.py:42: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:60: error: Function "key_function" could always be true in boolean context [truthy-function] +features/versioning/versioning_service.py:80: note: Perhaps you need a type annotation for "feature_states_dict"? Suggestion: "dict[tuple[Any, ...] | str | int, FeatureState]" +integrations/github/tasks.py:109: error: Argument "feature_external_resources" to "CallGithubData" has incompatible type "None"; expected "list[dict[str, Any]]" [arg-type] +users/models.py:283: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +core/models.py:159: error: "AbstractBaseAuditableModel" has no attribute "id" [attr-defined] +integrations/lead_tracking/hubspot/tasks.py:6: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/github/client.py:282: error: Missing return statement [return] +features/versioning/managers.py:6: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:58: error: Couldn't resolve related manager 'approvals' for relation 'features.workflows.core.models.ChangeRequestApproval.change_request'. [django-manager-missing] +features/import_export/models.py:56: error: Unexpected keyword argument "swappable" for "ForeignKey" [call-arg] +features/feature_external_resources/models.py:107: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked] +users/models.py:95: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.published_by'. [django-manager-missing] +app/settings/common.py:46: error: Need type annotation for "ADMINS" (hint: "ADMINS: list[] = ...") [var-annotated] +environments/dynamodb/wrappers/identity_wrapper.py:148: error: Incompatible types in assignment (expression has type "dict[str, bytes | bytearray | str | int | Decimal | <8 more items> | None] | None", variable has type "str") [assignment] +environments/dynamodb/wrappers/environment_wrapper.py:62: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +features/multivariate/serializers.py:51: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +app/settings/common.py:947: error: Module has no attribute "util" [attr-defined] +custom_auth/mfa/trench/models.py:21: error: Incompatible return value type (got "_T", expected "MFAMethod") [return-value] +util/mappers/engine.py:95: error: Argument "operator" to "SegmentConditionModel" has incompatible type "str"; expected "Literal['EQUAL', 'GREATER_THAN', 'LESS_THAN', 'LESS_THAN_INCLUSIVE', 'CONTAINS', 'GREATER_THAN_INCLUSIVE', 'NOT_CONTAINS', 'NOT_EQUAL', 'REGEX', 'PERCENTAGE_SPLIT', 'MODULO', 'IS_SET', 'IS_NOT_SET', 'IN']" [arg-type] +integrations/github/tasks.py:41: error: Argument 3 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +environments/identities/serializers.py:3: error: Skipping analyzing "drf_yasg.utils": module is installed, but missing library stubs or py.typed marker [import-untyped] +app_analytics/influxdb_wrapper.py:280: error: Argument 1 to "load" of "Schema" has incompatible type "list[UsageData]"; expected "Mapping[str, Any] | Iterable[Mapping[str, Any]]" [arg-type] +integrations/github/client.py:307: error: Incompatible return value type (got "tuple[dict[str, str], int]", expected "dict[str, Any]") [return-value] +features/versioning/models.py:30: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.environment_feature_version'. [django-manager-missing] +features/models.py:934: error: Return value expected [return-value] +environments/models.py:100: error: Need type annotation for "webhook_url" [var-annotated] +environments/models.py:246: error: Incompatible default for argument "project_id" (default has type "None", argument has type "int") [assignment] +app/settings/common.py:1297: error: Module has no attribute "util" [attr-defined] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +users/models.py:283: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +features/models.py:620: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/tasks.py:129: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:288: error: Item "None" of "Project | None" has no attribute "edge_v2_environments_migrated" [union-attr] +util/mappers/engine.py:149: error: Argument "multivariate_feature_state_values" to "FeatureStateModel" has incompatible type "list[MultivariateFeatureStateValueModel]"; expected "MultivariateFeatureStateValueList" [arg-type] +environments/serializers.py:87: error: Incompatible default for argument "validated_data" (default has type "None", argument has type "dict[Any, Any]") [assignment] +features/workflows/core/models.py:216: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +features/versioning/versioning_service.py:24: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +permissions/permission_service.py:272: error: Incompatible default for argument "permission_key" (default has type "None", argument has type "str") [assignment] +environments/models.py:99: error: Need type annotation for "webhooks_enabled" [var-annotated] +segments/tasks.py:1: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:25: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/lead_tracking/hubspot/lead_tracker.py:18: error: Skipping analyzing "re2": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:204: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +users/models.py:13: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:92: error: Couldn't resolve related manager 'versionchangeset_set' for relation 'features.versioning.models.VersionChangeSet.feature'. [django-manager-missing] +app/settings/common.py:47: error: Need type annotation for "MANAGERS" (hint: "MANAGERS: list[] = ...") [var-annotated] +sse/sse_service.py:8: error: Skipping analyzing "gnupg": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/common/serializers.py:36: error: Incompatible types in assignment (expression has type "str", base class "_BaseIntegrationModelSerializer" defined the type as "None") [assignment] +features/versioning/versioning_service.py:24: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "ConditionBase | str | None" [arg-type] +features/versioning/versioning_service.py:58: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:28: error: Incompatible default for argument "additional_prefetch_related_args" (default has type "None", argument has type "Iterable[str | Prefetch]") [assignment] +integrations/heap/heap.py:31: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/models.py:817: error: Incompatible return value type (got "str | None", expected "str") [return-value] +api_keys/user.py:84: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/webhook/webhook.py:34: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:111: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/tasks.py:14: error: Module "features.models" has no attribute "HistoricalFeatureState" [attr-defined] +organisations/subscriptions/metadata.py:34: error: Unsupported left operand type for + ("None") [operator] +permissions/permission_service.py:231: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:401: error: Incompatible types in assignment (expression has type "ChargebeeObjMetadata | None", variable has type "ChargebeeObjMetadata") [assignment] +permissions/permission_service.py:207: error: Argument 2 to "get_base_permission_filter" has incompatible type "type[Project] | type[Environment]"; expected "Organisation | Project | Environment" [arg-type] +api_keys/user.py:76: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/identities/traits/serializers.py:81: error: Need type annotation for "keys" [var-annotated] +features/versioning/models.py:220: error: Need type annotation for "segment_ids_to_delete_overrides" [var-annotated] +features/versioning/versioning_service.py:54: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:598: error: Item "None" of "Environment | None" has no attribute "use_v2_feature_versioning" [union-attr] +permissions/permission_service.py:111: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:52: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:196: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:691: error: Incompatible default for argument "identity" (default has type "None", argument has type "Identity") [assignment] +projects/serializers.py:94: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "organisation" [union-attr] +integrations/lead_tracking/hubspot/lead_tracker.py:109: error: Return value expected [return-value] +audit/models.py:29: error: Need type annotation for "project" [var-annotated] +environments/dynamodb/wrappers/identity_wrapper.py:101: error: Missing key "TableName" for TypedDict "QueryInputRequestTypeDef" [typeddict-item] +permissions/permission_service.py:214: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:448: error: Incompatible default for argument "identity_id" (default has type "None", argument has type "int | str") [assignment] +permissions/permission_service.py:159: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:1117: error: Return value expected [return-value] +util/mappers/engine.py:453: error: Unsupported operand types for in ("UUID | None" and "Iterable[UUID]") [operator] +features/feature_external_resources/models.py:143: error: Argument "organisation_id" to "call_github_task" has incompatible type "int"; expected "str" [arg-type] +audit/models.py:67: error: Need type annotation for "history_record_id" [var-annotated] +users/models.py:101: error: CharField is nullable but its generic get type parameter is not optional [misc] +users/models.py:273: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +features/multivariate/models.py:32: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +webhooks/webhooks.py:290: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +audit/models.py:58: error: Need type annotation for "skip_signals_and_hooks" [var-annotated] +app_analytics/influxdb_wrapper.py:8: error: Skipping analyzing "influxdb_client": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:530: error: Unsupported left operand type for < ("None") [operator] +permissions/permission_service.py:215: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:258: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/tasks.py:5: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:78: error: "_BaseHistoricalModel" has no attribute "_change_details_excluded_fields" [attr-defined] +features/models.py:267: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +environments/models.py:448: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:80: error: Incompatible return value type (got "dict[tuple[Any, ...], FeatureState]", expected "dict[tuple[Any, ...] | str | int, FeatureState]") [return-value] +features/managers.py:28: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +features/versioning/models.py:174: error: Need type annotation for "updated_at" [var-annotated] +environments/dynamodb/wrappers/identity_wrapper.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +api_keys/models.py:21: error: Cannot override class variable (previously declared on base class "AbstractAPIKey") with instance variable [misc] +audit/models.py:8: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +users/models.py:268: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/mixpanel/mixpanel.py:42: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +permissions/permission_service.py:231: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/serializers.py:3: error: Skipping analyzing "common.metadata.serializers": module is installed, but missing library stubs or py.typed marker [import-untyped] +core/models.py:50: error: Cannot override class variable (previously declared on base class "AbstractBaseExportableModel") with instance variable [misc] +features/versioning/versioning_service.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +util/mappers/engine.py:411: error: Argument "identity_features" to "IdentityModel" has incompatible type "list[FeatureStateModel]"; expected "IdentityFeaturesList" [arg-type] +features/versioning/versioning_service.py:102: error: Incompatible default for argument "additional_select_related_args" (default has type "None", argument has type "Iterable[str]") [assignment] +environments/models.py:175: error: Incompatible default for argument "api_key" (default has type "None", argument has type "str") [assignment] +api_keys/user.py:84: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/lead_tracking/hubspot/lead_tracker.py:95: error: Argument 1 to "_get_or_create_company_by_domain" of "HubspotLeadTracker" has incompatible type "Any | None"; expected "str" [arg-type] +api_keys/models.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:175: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:296: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/launch_darkly/models.py:34: error: Need type annotation for "completed_at" [var-annotated] +features/versioning/versioning_service.py:105: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +core/models.py:9: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:505: error: Need type annotation for "key" [var-annotated] +features/models.py:678: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/launch_darkly/models.py:22: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +environments/models.py:292: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/serializers.py:565: error: Need type annotation for "events_list" [var-annotated] +features/versioning/managers.py:49: error: Incompatible default for argument "environment_api_key" (default has type "None", argument has type "str") [assignment] +features/serializers.py:349: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str]") [assignment] +webhooks/webhooks.py:299: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +features/versioning/models.py:194: error: Need type annotation for "environment_feature_version" [var-annotated] +audit/tasks.py:71: error: "type[Model]" has no attribute "objects" [attr-defined] +environments/managers.py:2: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/identities/models.py:156: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +core/models.py:118: error: Incompatible types in assignment (expression has type "None", variable has type "Sequence[str]") [assignment] +permissions/permission_service.py:63: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/models.py:1114: error: Return value expected [return-value] +users/models.py:296: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +features/versioning/versioning_service.py:25: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app_analytics/influxdb_wrapper.py:122: error: Function "builtins.id" is not valid as a type [valid-type] +organisations/chargebee/cache.py:4: error: Skipping analyzing "chargebee.result": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/models.py:142: error: Need type annotation for "is_creating" [var-annotated] +environments/serializers.py:130: error: Item "None" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +features/models.py:34: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/multivariate/models.py:103: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +projects/models.py:45: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.project'. [django-manager-missing] +features/models.py:620: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:53: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +webhooks/webhooks.py:139: error: Cannot determine type of "data" [has-type] +features/models.py:1116: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +environments/models.py:175: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/workflows/core/models.py:144: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +environments/models.py:447: error: Invalid type comment or annotation [valid-type] +environments/models.py:509: error: Need type annotation for "active" [var-annotated] +users/models.py:95: error: Couldn't resolve related manager 'changerequestapproval_set' for relation 'features.workflows.core.models.ChangeRequestApproval.user'. [django-manager-missing] +integrations/lead_tracking/hubspot/tasks.py:2: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/github/tasks.py:49: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +audit/models.py:106: error: Return value expected [return-value] +features/models.py:984: error: Argument "environment" to "get_live_feature_states" of "FeatureStateManager" has incompatible type "Environment | None"; expected "Environment" [arg-type] +features/multivariate/models.py:161: error: Incompatible return value type (got "None", expected "int") [return-value] +integrations/lead_tracking/hubspot/client.py:163: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +app/settings/common.py:952: error: Module has no attribute "util" [attr-defined] +features/models.py:530: note: Both left and right operands are unions +projects/serializers.py:142: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +integrations/lead_tracking/hubspot/lead_tracker.py:67: error: Incompatible default for argument "organisation" (default has type "None", argument has type "Organisation") [assignment] +integrations/github/models.py:6: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/subscriptions/metadata.py:71: note: It is recommended for "__eq__" to work with arbitrary objects, for example: +integrations/launch_darkly/models.py:36: error: Need type annotation for "ld_project_key" [var-annotated] +environments/serializers.py:130: error: Item "Sequence[Any]" of "Any | Sequence[Any] | None" has no attribute "project" [union-attr] +audit/tasks.py:130: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/serializers.py:154: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str]") [assignment] +organisations/models.py:19: error: Skipping analyzing "simple_history.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:16: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:105: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +api_keys/user.py:108: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/segment/segment.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/versioning/managers.py:49: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +environments/models.py:506: error: Need type annotation for "created_at" [var-annotated] +core/models.py:10: error: Skipping analyzing "softdelete.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +edge_api/identities/events.py:19: error: Item "None" of "Any | None" has no attribute "put_events" [union-attr] +features/multivariate/models.py:10: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +permissions/permission_service.py:97: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +webhooks/webhooks.py:270: error: Item "OrganisationWebhook" of "OrganisationWebhook | Webhook" has no attribute "environment" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:142: error: Argument 1 to "get_all_items" of "DynamoIdentityWrapper" has incompatible type "**dict[str, object]"; expected "int" [arg-type] +audit/tasks.py:130: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/environment_api_key_wrapper.py:22: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +environments/dynamodb/wrappers/base.py:37: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +environments/dynamodb/services.py:105: error: Argument "environment_id" to "map_engine_feature_state_to_identity_override" has incompatible type "str"; expected "int" [arg-type] +environments/serializers.py:89: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "project" [union-attr] +users/models.py:95: error: Couldn't resolve related manager 'launchdarklyimportrequest_set' for relation 'integrations.launch_darkly.models.LaunchDarklyImportRequest.created_by'. [django-manager-missing] +features/audit_helpers.py:28: error: Incompatible types in assignment (expression has type "tuple[str | Any, str, str | Any]", variable has type "tuple[str, str | Any]") [assignment] +integrations/github/tasks.py:58: error: Argument 4 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +environments/dynamodb/wrappers/identity_wrapper.py:37: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +organisations/subscriptions/metadata.py:71: note: return +api_keys/models.py:14: error: Couldn't resolve related manager 'audit_logs' for relation 'audit.models.AuditLog.master_api_key'. [django-manager-missing] +integrations/mixpanel/mixpanel.py:35: error: If x = b'abc' then "%s" % x produces "b'abc'", not "abc". If this is desired behavior use "%r" % x. Otherwise, decode the bytes [str-bytes-safe] +organisations/subscriptions/metadata.py:71: note: This violates the Liskov substitution principle +permissions/permission_service.py:214: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/models.py:204: error: Need type annotation for "feature" [var-annotated] +integrations/lead_tracking/hubspot/client.py:163: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +segments/models.py:314: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +users/abc.py:40: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +users/models.py:273: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +projects/models.py:227: error: Cannot override class variable (previously declared on base class "PermissionModel") with instance variable [misc] +features/models.py:931: error: Item "None" of "Environment | None" has no attribute "created_date" [union-attr] +environments/dynamodb/wrappers/identity_wrapper.py:103: error: Incompatible types (expression has type "Equals", TypedDict item "KeyConditionExpression" has type "str") [typeddict-item] +features/versioning/models.py:165: error: Incompatible types in assignment (expression has type "None", variable has type "str | UUID") [assignment] +app_analytics/influxdb_wrapper.py:9: error: Skipping analyzing "influxdb_client.client.exceptions": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/identity_wrapper.py:52: error: Argument 1 to "len" has incompatible type "dict[str, DocumentValue] | str | bool | Decimal | None"; expected "Sized" [arg-type] +environments/dynamodb/wrappers/environment_wrapper.py:41: error: Return type "str | None" of "get_table_name" incompatible with return type "str" in supertype "BaseDynamoWrapper" [override] +environments/models.py:105: error: Need type annotation for "updated_at" [var-annotated] +integrations/github/tasks.py:47: error: Argument 1 to "split" of "bytes" has incompatible type "str"; expected "Buffer | None" [arg-type] +features/versioning/serializers.py:228: error: Item "None" of "FeatureSegment | None" has no attribute "segment" [union-attr] +features/workflows/core/models.py:342: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/versioning_service.py:24: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:33: error: Skipping analyzing "ordered_model.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/workflows/core/models.py:224: error: Missing return statement [return] +environments/models.py:292: error: Incompatible default for argument "filter_kwargs" (default has type "None", argument has type "dict[Any, Any]") [assignment] +features/versioning/dataclasses.py:11: error: Decorators on top of @property are not supported [prop-decorator] +features/models.py:617: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/versioning_service.py:101: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:12: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/tasks.py:51: error: Item "None" of "Environment | None" has no attribute "id" [union-attr] +features/workflows/core/exceptions.py:10: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +integrations/lead_tracking/hubspot/client.py:5: error: Skipping analyzing "hubspot": module is installed, but missing library stubs or py.typed marker [import-untyped] +webhooks/webhooks.py:290: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/models.py:401: error: Argument 1 to "get_subscription_metadata_from_id" has incompatible type "str | None"; expected "str" [arg-type] +permissions/rbac_wrapper.py:64: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/subscriptions/serializers/mixins.py:28: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +audit/models.py:39: error: Need type annotation for "log" [var-annotated] +features/serializers.py:318: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +features/versioning/versioning_service.py:53: error: Incompatible default for argument "additional_filters" (default has type "None", argument has type "Q") [assignment] +environments/models.py:502: error: Need type annotation for "environment" [var-annotated] +permissions/permission_service.py:159: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/github/tasks.py:58: error: Argument 2 to "post_comment_to_github" has incompatible type "bytes"; expected "str" [arg-type] +features/models.py:612: error: Incompatible return value type (got "datetime | bool | None", expected "bool") [return-value] +sse/tasks.py:8: error: Skipping analyzing "task_processor.decorators": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/models.py:699: error: Argument 1 to "get_feature_state_value_by_hash_key" of "FeatureState" has incompatible type "str | None"; expected "str | int" [arg-type] +permissions/rbac_wrapper.py:64: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/launch_darkly/models.py:32: error: Need type annotation for "created_at" [var-annotated] +features/workflows/core/models.py:348: error: Need type annotation for "user" [var-annotated] +app_analytics/influxdb_wrapper.py:209: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +app/settings/common.py:28: error: Skipping analyzing "task_processor.task_run_method": module is installed, but missing library stubs or py.typed marker [import-untyped] +segments/models.py:158: error: Name "ChangeRequest" is not defined [name-defined] +api_keys/user.py:108: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/versioning/models.py:175: error: Need type annotation for "published_at" [var-annotated] +segments/models.py:374: error: Missing return statement [return] +integrations/github/tasks.py:28: error: Argument 5 to "generate_body_comment" has incompatible type "list[dict[str, Any]] | None"; expected "list[dict[str, Any]]" [arg-type] +features/models.py:678: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/github/github.py:212: error: Item "None" of "Environment | Any | None" has no attribute "name" [union-attr] +environments/models.py:76: error: Need type annotation for "uuid" [var-annotated] +util/mappers/engine.py:442: error: Need type annotation for "feature_states_by_segment_id" (hint: "feature_states_by_segment_id: dict[, ] = ...") [var-annotated] +features/feature_segments/serializers.py:174: error: Need type annotation for "feature_states" (hint: "feature_states: list[] = ...") [var-annotated] +app/settings/common.py:961: error: Module has no attribute "util" [attr-defined] +features/multivariate/serializers.py:27: error: Incompatible types in assignment (expression has type "tuple[str, str, str, str, str, str, str, str]", base class "Meta" defined the type as "tuple[str, str, str, str, str, str, str]") [assignment] +environments/dynamodb/wrappers/identity_wrapper.py:41: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +features/workflows/core/models.py:311: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +organisations/serializers.py:118: error: Need type annotation for "emails" [var-annotated] +audit/tasks.py:8: error: Skipping analyzing "task_processor.models": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/models.py:271: error: Argument 1 to "get_by_plan_id" of "SubscriptionPlanFamily" has incompatible type "str | None"; expected "str" [arg-type] +permissions/rbac_wrapper.py:13: error: Cannot find implementation or library stub for module named "rbac.permissions_calculator" [import-not-found] +environments/models.py:450: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +integrations/common/models.py:5: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +integrations/rudderstack/rudderstack.py:28: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +audit/tasks.py:128: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/dynamodb/wrappers/environment_wrapper.py:53: error: Item "None" of "Table | None" has no attribute "get_item" [union-attr] +integrations/lead_tracking/hubspot/lead_tracker.py:103: error: Return value expected [return-value] +custom_auth/mfa/trench/models.py:28: error: "type[_T]" has no attribute "DoesNotExist" [attr-defined] +core/models.py:68: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +audit/models.py:47: error: Need type annotation for "master_api_key" [var-annotated] +environments/dynamodb/wrappers/environment_wrapper.py:45: error: Item "None" of "Table | None" has no attribute "batch_writer" [union-attr] +app/routers.py:101: error: Missing return statement [return] +webhooks/serializers.py:6: error: Incompatible types in assignment (expression has type "DictField", base class "Serializer" defined the type as "ReturnDict[Any, Any]") [assignment] +segments/models.py:41: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/versioning/models.py:15: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +environments/dynamodb/wrappers/identity_wrapper.py:145: error: Incompatible types in assignment (expression has type "float", variable has type "int") [assignment] +environments/models.py:450: error: Incompatible default for argument "feature_segment" (default has type "None", argument has type "FeatureSegment") [assignment] +features/audit_helpers.py:54: error: Item "None" of "datetime | None" has no attribute "strftime" [union-attr] +integrations/github/client.py:116: error: Missing return statement [return] +features/serializers.py:252: error: Item "Sequence[Any]" of "Any | Sequence[Any]" has no attribute "id" [union-attr] +users/models.py:142: note: def delete(self, using: Any | None = ..., keep_parents: bool = ...) -> tuple[int, dict[str, int]] +environments/identities/models.py:156: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +features/models.py:924: error: Return value expected [return-value] +core/models.py:74: error: "_BaseHistoricalModel" has no attribute "history_type" [attr-defined] +environments/models.py:246: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +integrations/mixpanel/mixpanel.py:42: error: Incompatible default for argument "trait_models" (default has type "None", argument has type "list[Trait]") [assignment] +features/workflows/core/exceptions.py:14: error: Incompatible types in assignment (expression has type "Literal[400]", base class "FeatureWorkflowError" defined the type as "Literal[500]") [assignment] +audit/models.py:32: error: Need type annotation for "environment" [var-annotated] +environments/models.py:23: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +audit/models.py:27: error: Need type annotation for "created_date" [var-annotated] +webhooks/webhooks.py:290: error: Incompatible default for argument "status_code" (default has type "None", argument has type "int | str") [assignment] +features/workflows/core/models.py:143: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +core/models.py:196: error: Incompatible default for argument "historical_records_excluded_fields" (default has type "None", argument has type "list[str]") [assignment] +users/abc.py:34: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +features/models.py:617: error: Incompatible default for argument "live_from" (default has type "None", argument has type "datetime") [assignment] +features/managers.py:28: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase +organisations/chargebee/cache.py:3: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/versioning_service.py:12: error: Incompatible default for argument "feature_name" (default has type "None", argument has type "str") [assignment] +environments/models.py:109: error: Need type annotation for "banner_text" [var-annotated] +features/models.py:898: error: Item "None" of "ChangeRequest | None" has no attribute "committed_at" [union-attr] +environments/models.py:508: error: Need type annotation for "expires_at" [var-annotated] +webhooks/webhooks.py:268: error: Item "Webhook" of "OrganisationWebhook | Webhook" has no attribute "organisation" [union-attr] +api_keys/user.py:98: error: Incompatible default for argument "tag_ids" (default has type "None", argument has type "list[int]") [assignment] +integrations/lead_tracking/hubspot/client.py:162: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True +environments/models.py:97: error: Need type annotation for "minimum_change_request_approvals" [var-annotated] +features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_engine" has incompatible type "Any | None"; expected "Identity" [arg-type] +features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] +organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] +features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] diff --git a/api/util/mappers/sdk.py b/api/util/mappers/sdk.py index 01edf12dfba0..2bc9c4a0ff61 100644 --- a/api/util/mappers/sdk.py +++ b/api/util/mappers/sdk.py @@ -48,5 +48,5 @@ def map_environment_to_sdk_document(environment: "Environment") -> SDKDocument: ] return engine_environment.model_dump( - exclude=SDK_DOCUMENT_EXCLUDE, # type: ignore + exclude=SDK_DOCUMENT_EXCLUDE, ) diff --git a/api/util/pydantic.py b/api/util/pydantic.py index 759992f8fcd3..d526c76ee95b 100644 --- a/api/util/pydantic.py +++ b/api/util/pydantic.py @@ -14,7 +14,7 @@ def exclude_model_fields( for field_name, field in model_cls.model_fields.items() if field_name not in exclude_fields } - return create_model( # type: ignore + return create_model( model_cls.__name__, __config__=model_cls.model_config, **fields, From 158ac2b11dfaaec2ef784e13333006f23f2e4a51 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Thu, 5 Dec 2024 20:06:55 +0000 Subject: [PATCH 46/51] Remove command from script output --- api/scripts/mypy_check.py | 1 - 1 file changed, 1 deletion(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index 0752a6522445..c4f16d5e6f38 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -33,7 +33,6 @@ def main() -> None: # Mypy failed in some other way other than listing failing file lines if result.returncode != 1: - print(command) print( f"Error running mypy with return code {result.returncode} and error:", result.stderr, From e2ace23e501d2ff69a9e9ba168267bd1c55ac9d3 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 9 Dec 2024 19:50:22 +0000 Subject: [PATCH 47/51] Add baseline updating to mypy check script --- api/scripts/mypy_check.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index c4f16d5e6f38..f06d76420c6f 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -51,6 +51,13 @@ def main() -> None: pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" removal = None + now_acceptable = baseline - current_errors + if now_acceptable: + print("Baseline errors in scripts/mypy_baseline.txt are now acceptable") + print("Remove these errors and commit baseline changes to the branch") + print(now_acceptable) + sys.exit(1) + for error in new_errors: has_match = re.match(pattern, error) if has_match: From 6d17eb07e4282b3be8f734610c632fda223a3537 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 9 Dec 2024 19:59:41 +0000 Subject: [PATCH 48/51] Try setting up mypy check for CI --- .pre-commit-config.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 99c6ae1f6a6a..1f200088ed5c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,8 +48,9 @@ repos: hooks: - id: mypy-check name: mypy check + additional_dependencies: ['poetry'] entry: bash -c "cd api && poetry run python scripts/mypy_check.py $(git diff --name-only --cached -- '*.py')" - language: system + language: python types: [python] ci: From c3e7907b6ac6a0b1e79d0982443df93d56d0e131 Mon Sep 17 00:00:00 2001 From: Zach Aysan Date: Mon, 9 Dec 2024 20:04:31 +0000 Subject: [PATCH 49/51] Revert now acceptable check since mypy doesn't generate errors for every module --- api/scripts/mypy_check.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index f06d76420c6f..c4f16d5e6f38 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -51,13 +51,6 @@ def main() -> None: pattern = r"Found (\d+) errors in (\d+) files \(checked (\d+) source files\)" removal = None - now_acceptable = baseline - current_errors - if now_acceptable: - print("Baseline errors in scripts/mypy_baseline.txt are now acceptable") - print("Remove these errors and commit baseline changes to the branch") - print(now_acceptable) - sys.exit(1) - for error in new_errors: has_match = re.match(pattern, error) if has_match: From 264ecb727201dc350d6861158fb85393b84384f5 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 17 Dec 2024 16:47:06 +0000 Subject: [PATCH 50/51] update baseline --- api/scripts/mypy_baseline.txt | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/api/scripts/mypy_baseline.txt b/api/scripts/mypy_baseline.txt index 9d65ea519251..ed8b04867a0a 100644 --- a/api/scripts/mypy_baseline.txt +++ b/api/scripts/mypy_baseline.txt @@ -3778,3 +3778,48 @@ integrations/webhook/serializers.py:32: error: Argument 1 to "map_identity_to_en features/custom_lifecycle.py:3: error: Skipping analyzing "django_lifecycle": module is installed, but missing library stubs or py.typed marker [import-untyped] organisations/chargebee/chargebee.py:6: error: Skipping analyzing "chargebee": module is installed, but missing library stubs or py.typed marker [import-untyped] features/versioning/serializers.py:138: error: Incompatible types in assignment (expression has type tuple[str, str, ... <11 more items>], base class "Meta" defined the type as tuple[str, str, str, str, str, str, str, str, str]) [assignment] +../api/app/settings/common.py:22: error: Library stubs not installed for "pytz" [import-untyped] +../api/app/settings/common.py:1253: error: Module has no attribute "util" [attr-defined] +features/workflows/core/models.py:215: error: Item "None" of "Segment | None" has no attribute "save" [union-attr] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['INDEXES', 'NONE', 'TOTAL']" [arg-type] +environments/dynamodb/wrappers/base.py:45: error: Item "None" of "Table | None" has no attribute "query" [union-attr] +../api/app/settings/common.py:1156: error: Module has no attribute "util" [attr-defined] +features/workflows/core/models.py:147: error: Argument "feature_segment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:218: error: Item "None" of "Segment | None" has no attribute "rules" [union-attr] +features/workflows/core/models.py:208: error: Item "None" of "Segment | None" has no attribute "deep_clone" [union-attr] +features/workflows/core/models.py:145: error: Argument "environment_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +features/workflows/core/models.py:356: error: Need type annotation for "created_at" [var-annotated] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['ALL_ATTRIBUTES', 'ALL_PROJECTED_ATTRIBUTES', 'COUNT', 'SPECIFIC_ATTRIBUTES']" [arg-type] +features/workflows/core/models.py:228: error: Missing return statement [return] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "int" [arg-type] +../api/app/settings/common.py:934: error: Module has no attribute "util" [attr-defined] +features/workflows/core/models.py:353: error: Need type annotation for "change_request" [var-annotated] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str" [arg-type] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Sequence[str]" [arg-type] +features/workflows/core/models.py:236: error: Missing return statement [return] +../api/app/settings/common.py:955: error: Module has no attribute "util" [attr-defined] +environments/dynamodb/wrappers/base.py:47: error: Item "None" of "Table | None" has no attribute "scan" [union-attr] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "str | ConditionBase" [arg-type] +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "bool" [arg-type] +../api/app/settings/common.py:950: error: Module has no attribute "util" [attr-defined] +../api/app/settings/common.py:1303: error: Module has no attribute "util" [attr-defined] +features/workflows/core/models.py:357: error: Need type annotation for "approved_at" [var-annotated] +../api/app/settings/common.py:22: note: Hint: "python3 -m pip install types-pytz" +features/workflows/core/models.py:214: error: Item "None" of "Segment | None" has no attribute "feature" [union-attr] +organisations/chargebee/chargebee.py:9: error: Library stubs not installed for "pytz" [import-untyped] +Found 538 errors in 97 files (checked 1 source file) +features/workflows/core/models.py:212: error: Item "None" of "Segment | None" has no attribute "name" [union-attr] +features/workflows/core/models.py:352: error: Need type annotation for "user" [var-annotated] +../api/app/settings/common.py:964: error: Module has no attribute "util" [attr-defined] +features/workflows/core/models.py:346: error: Unsupported dynamic base class "abstract_base_auditable_model_factory" [misc] +features/workflows/core/models.py:213: error: Item "None" of "Segment | None" has no attribute "description" [union-attr] +environments/dynamodb/wrappers/base.py:19: error: Incompatible types in assignment (expression has type "None", variable has type "str") [assignment] +features/workflows/core/models.py:148: error: Argument "identity_id" to "get_next_version_number" of "FeatureState" has incompatible type "int | None"; expected "int" [arg-type] +../api/app/settings/common.py:22: note: (or run "mypy --install-types" to install all missing stub packages) +../api/app/settings/common.py:24: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +environments/dynamodb/wrappers/base.py:45: error: Argument 1 to "query" of "Table" has incompatible type "**dict[str, dict[Any, Any]]"; expected "Literal['AND', 'OR']" [arg-type] +features/workflows/core/models.py:411: error: Missing return statement [return] +features/workflows/core/models.py:315: error: Item "None" of "Environment | None" has no attribute "deleted_at" [union-attr] +environments/dynamodb/wrappers/base.py:33: error: Missing return statement [return] +features/workflows/core/models.py:220: error: Argument 1 to "deep_clone" of "SegmentRule" has incompatible type "Segment | None"; expected "Segment" [arg-type] +../api/app/settings/common.py:959: error: Module has no attribute "util" [attr-defined] \ No newline at end of file From 6dcff3818e9a0277eb25c710456b844db8d314af Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 17 Dec 2024 16:47:17 +0000 Subject: [PATCH 51/51] sort script output --- api/scripts/mypy_check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/scripts/mypy_check.py b/api/scripts/mypy_check.py index c4f16d5e6f38..cce40c8008c4 100644 --- a/api/scripts/mypy_check.py +++ b/api/scripts/mypy_check.py @@ -62,7 +62,7 @@ def main() -> None: if new_errors: print("New mypy errors detected:") - print("\n".join(new_errors)) + print("\n".join(sorted(new_errors))) sys.exit(1) print("No new mypy errors detected.")