Coverage report: 60%

Files Functions Classes

coverage.py v7.15.2, created at 2026-10-07 12:42 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
polar/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/account/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/account/endpoints.py search   100% 2 0 0   100% 0 0   100%
polar/account/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/account/endpoints.py create   80% 5 1 0   100% 2 0   86%
polar/account/endpoints.py patch   75% 4 1 0   50% 2 1   67%
polar/account/endpoints.py onboarding_link   33% 9 6 0   17% 6 1   27%
polar/account/endpoints.py dashboard_link   38% 8 5 0   25% 4 1   33%
polar/account/endpoints.py (no function)   100% 27 0 0   100% 0 0   100%
polar/account/repository.py AccountRepository.get_by_stripe_id   0% 2 2 0   100% 0 0   0%
polar/account/repository.py AccountRepository.get_by_user   0% 2 2 0   100% 0 0   0%
polar/account/repository.py AccountRepository.get_by_organization   0% 2 2 0   100% 0 0   0%
polar/account/repository.py AccountRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/account/repository.py (no function)   100% 12 0 0   100% 0 0   100%
polar/account/schemas.py (no function)   100% 139 0 0   100% 0 0   100%
polar/account/service.py AccountAlreadyExistsError.__init__   0% 1 1 0   100% 0 0   0%
polar/account/service.py AccountExternalIdDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/account/service.py CannotChangeAdminError.__init__   0% 1 1 0   100% 0 0   0%
polar/account/service.py UserNotOrganizationMemberError.__init__   0% 1 1 0   100% 0 0   0%
polar/account/service.py AccountService.search   100% 4 0 0   100% 0 0   100%
polar/account/service.py AccountService.get   100% 4 0 0   100% 0 0   100%
polar/account/service.py AccountService._get_unrestricted   0% 3 3 0   100% 0 0   0%
polar/account/service.py AccountService.is_user_admin   0% 4 4 0   0% 2 0   0%
polar/account/service.py AccountService.update   0% 2 2 0   100% 0 0   0%
polar/account/service.py AccountService.delete   0% 2 2 0   100% 0 0   0%
polar/account/service.py AccountService.delete_stripe_account   0% 10 10 0   0% 4 0   0%
polar/account/service.py AccountService.create_account   50% 4 2 0   100% 0 0   50%
polar/account/service.py AccountService.get_or_create_account_for_organization   6% 32 30 0   10% 10 1   7%
polar/account/service.py AccountService._build_stripe_account_name   0% 7 7 0   0% 4 0   0%
polar/account/service.py AccountService._create_stripe_account   33% 15 10 0   25% 4 1   32%
polar/account/service.py AccountService.update_account_from_stripe   0% 17 17 0   0% 4 0   0%
polar/account/service.py AccountService.onboarding_link   0% 5 5 0   0% 2 0   0%
polar/account/service.py AccountService.dashboard_link   0% 9 9 0   0% 4 0   0%
polar/account/service.py AccountService.sync_to_upstream   0% 6 6 0   0% 4 0   0%
polar/account/service.py AccountService.change_admin   0% 16 16 0   0% 10 0   0%
polar/account/service.py (no function)   100% 47 0 0   100% 0 0   100%
polar/account/sorting.py (no function)   100% 7 0 0   100% 0 0   100%
polar/api.py (no function)   100% 94 0 0   100% 0 0   100%
polar/app.py configure_cors   100% 8 0 0   50% 2 1   90%
polar/app.py configure_cors.polar_frontend_matcher   0% 1 1 0   100% 0 0   0%
polar/app.py generate_unique_openapi_id   100% 2 0 0   100% 0 0   100%
polar/app.py lifespan   86% 28 4 0   50% 6 3   79%
polar/app.py create_app   90% 21 2 0   50% 6 3   81%
polar/app.py (no function)   100% 44 0 0   100% 0 0   100%
polar/auth/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/auth/dependencies.py _get_auth_subject_factory   100% 16 0 0   100% 10 0   100%
polar/auth/dependencies.py _get_auth_subject_factory.get_auth_subject   50% 4 2 0   100% 0 0   50%
polar/auth/dependencies.py _Authenticator.__init__   100% 2 0 0   100% 0 0   100%
polar/auth/dependencies.py _Authenticator.__call__   92% 12 1 0   90% 10 1   91%
polar/auth/dependencies.py Authenticator   100% 7 0 0   100% 0 0   100%
polar/auth/dependencies.py Authenticator._AuthenticatorSignature.__call__   100% 1 0 0   100% 0 0   100%
polar/auth/dependencies.py (no function)   100% 26 0 0   100% 0 0   100%
polar/auth/endpoints.py logout   0% 2 2 0   100% 0 0   0%
polar/auth/endpoints.py (no function)   100% 12 0 0   100% 0 0   100%
polar/auth/middlewares.py get_user_session   100% 1 0 0   100% 0 0   100%
polar/auth/middlewares.py get_bearer_token   86% 7 1 0   75% 4 1   82%
polar/auth/middlewares.py get_oauth2_token   100% 1 0 0   100% 0 0   100%
polar/auth/middlewares.py get_personal_access_token   100% 4 0 0   100% 2 0   100%
polar/auth/middlewares.py get_organization_access_token   75% 4 1 0   50% 2 1   67%
polar/auth/middlewares.py get_customer_session   100% 1 0 0   100% 0 0   100%
polar/auth/middlewares.py get_auth_subject   81% 21 4 0   71% 14 4   77%
polar/auth/middlewares.py AuthSubjectMiddleware.__init__   100% 1 0 0   100% 0 0   100%
polar/auth/middlewares.py AuthSubjectMiddleware.__call__   100% 15 0 0   100% 2 0   100%
polar/auth/middlewares.py (no function)   100% 33 0 0   100% 0 0   100%
polar/auth/models.py AuthSubject.__init__   100% 3 0 0   100% 0 0   100%
polar/auth/models.py AuthSubject.rate_limit_key   0% 1 1 0   100% 0 0   0%
polar/auth/models.py AuthSubject.rate_limit_user   82% 11 2 0   70% 10 3   76%
polar/auth/models.py AuthSubject.rate_limit_group   57% 7 3 0   50% 6 3   54%
polar/auth/models.py AuthSubject.log_context   100% 6 0 0   100% 4 0   100%
polar/auth/models.py is_anonymous   100% 1 0 0   100% 0 0   100%
polar/auth/models.py is_user   100% 1 0 0   100% 0 0   100%
polar/auth/models.py is_organization   100% 1 0 0   100% 0 0   100%
polar/auth/models.py is_customer   100% 1 0 0   100% 0 0   100%
polar/auth/models.py (no function)   100% 25 0 0   50% 2 1   96%
polar/auth/routing.py DocumentedAuthSubjectAPIRoute.__init__   100% 22 0 0   100% 12 0   100%
polar/auth/routing.py (no function)   100% 10 0 0   100% 0 0   100%
polar/auth/scope.py Scope.__get_pydantic_json_schema__   100% 4 0 0   100% 0 0   100%
polar/auth/scope.py scope_to_set   100% 1 0 0   100% 0 0   100%
polar/auth/scope.py scope_to_list   0% 1 1 0   100% 0 0   0%
polar/auth/scope.py (no function)   100% 75 0 0   100% 0 0   100%
polar/auth/service.py AuthService.get_login_response   0% 5 5 0   100% 0 0   0%
polar/auth/service.py AuthService.get_logout_response   0% 5 5 0   0% 2 0   0%
polar/auth/service.py AuthService.authenticate   33% 9 6 0   17% 6 1   27%
polar/auth/service.py AuthService.delete_expired   0% 2 2 0   100% 0 0   0%
polar/auth/service.py AuthService.revoke_leaked   0% 6 6 0   0% 2 0   0%
polar/auth/service.py AuthService._get_user_session_by_token   0% 6 6 0   0% 2 0   0%
polar/auth/service.py AuthService._create_user_session   0% 5 5 0   100% 0 0   0%
polar/auth/service.py AuthService._set_user_session_cookie   0% 4 4 0   100% 0 0   0%
polar/auth/service.py (no function)   100% 28 0 0   100% 0 0   100%
polar/auth/tasks.py auth_delete_expired   0% 2 2 0   100% 0 0   0%
polar/auth/tasks.py (no function)   100% 7 0 0   100% 0 0   100%
polar/benefit/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/benefit/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/benefit/endpoints.py get   100% 4 0 0   100% 2 0   100%
polar/benefit/endpoints.py grants   100% 5 0 0   100% 2 0   100%
polar/benefit/endpoints.py create   100% 2 0 0   100% 0 0   100%
polar/benefit/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/benefit/endpoints.py delete   100% 4 0 0   100% 2 0   100%
polar/benefit/endpoints.py (no function)   100% 32 0 0   100% 0 0   100%
polar/benefit/grant/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/grant/endpoints.py list   50% 8 4 0   25% 4 1   42%
polar/benefit/grant/endpoints.py (no function)   100% 15 0 0   100% 0 0   100%
polar/benefit/grant/repository.py BenefitGrantRepository.get_by_benefit_and_scope   0% 2 2 0   100% 0 0   0%
polar/benefit/grant/repository.py BenefitGrantRepository.list_granted_by_scope   0% 2 2 0   100% 0 0   0%
polar/benefit/grant/repository.py BenefitGrantRepository.list_granted_by_benefit   0% 2 2 0   100% 0 0   0%
polar/benefit/grant/repository.py BenefitGrantRepository.list_granted_by_customer   100% 2 0 0   100% 0 0   100%
polar/benefit/grant/repository.py BenefitGrantRepository.list_granted_by_benefit_and_customer   0% 2 2 0   100% 0 0   0%
polar/benefit/grant/repository.py BenefitGrantRepository.list_by_customer_and_benefit_type   0% 2 2 0   100% 0 0   0%
polar/benefit/grant/repository.py BenefitGrantRepository.list_outdated_grants   0% 3 3 0   100% 0 0   0%
polar/benefit/grant/repository.py BenefitGrantRepository.get_sorting_clause   100% 7 0 0   83% 6 1   92%
polar/benefit/grant/repository.py (no function)   100% 19 0 0   100% 0 0   100%
polar/benefit/grant/schemas.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/grant/scope.py InvalidScopeError.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/grant/scope.py resolve_scope   0% 14 14 0   0% 8 0   0%
polar/benefit/grant/scope.py scope_to_args   0% 6 6 0   0% 4 0   0%
polar/benefit/grant/scope.py (no function)   100% 10 0 0   50% 2 1   92%
polar/benefit/grant/service.py EmptyScopeError.__init__   0% 2 2 0   100% 0 0   0%
polar/benefit/grant/service.py BenefitGrantService.get   100% 0 0 0   100% 0 0   100%
polar/benefit/grant/service.py BenefitGrantService.get   100% 0 0 0   100% 0 0   100%
polar/benefit/grant/service.py BenefitGrantService.get   0% 11 11 0   0% 8 0   0%
polar/benefit/grant/service.py BenefitGrantService.list   100% 6 0 0   100% 4 0   100%
polar/benefit/grant/service.py BenefitGrantService.list_by_organization   100% 8 0 0   100% 4 0   100%
polar/benefit/grant/service.py BenefitGrantService.grant_benefit   0% 23 23 0   0% 4 0   0%
polar/benefit/grant/service.py BenefitGrantService.revoke_benefit   0% 25 25 0   0% 6 0   0%
polar/benefit/grant/service.py BenefitGrantService.enqueue_benefits_grants   0% 6 6 0   0% 4 0   0%
polar/benefit/grant/service.py BenefitGrantService.enqueue_benefit_grant_updates   43% 7 4 0   25% 4 1   36%
polar/benefit/grant/service.py BenefitGrantService.update_benefit_grant   0% 19 19 0   0% 4 0   0%
polar/benefit/grant/service.py BenefitGrantService.enqueue_benefit_grant_cycles   0% 4 4 0   0% 2 0   0%
polar/benefit/grant/service.py BenefitGrantService.cycle_benefit_grant   0% 18 18 0   0% 2 0   0%
polar/benefit/grant/service.py BenefitGrantService.enqueue_benefit_grant_deletions   0% 4 4 0   0% 2 0   0%
polar/benefit/grant/service.py BenefitGrantService.enqueue_customer_grant_deletions   0% 4 4 0   0% 2 0   0%
polar/benefit/grant/service.py BenefitGrantService.delete_benefit_grant   0% 15 15 0   0% 2 0   0%
polar/benefit/grant/service.py BenefitGrantService._send_webhook   0% 5 5 0   100% 0 0   0%
polar/benefit/grant/service.py (no function)   100% 53 0 0   17% 6 5   92%
polar/benefit/grant/sorting.py (no function)   100% 9 0 0   100% 0 0   100%
polar/benefit/registry.py get_benefit_strategy   100% 1 0 0   100% 0 0   100%
polar/benefit/registry.py (no function)   100% 14 0 0   100% 0 0   100%
polar/benefit/repository.py BenefitRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/benefit/repository.py BenefitRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/benefit/repository.py BenefitRepository.get_sorting_clause   100% 7 0 0   83% 6 1   92%
polar/benefit/repository.py (no function)   100% 12 0 0   100% 0 0   100%
polar/benefit/schemas.py (no function)   100% 42 0 0   100% 2 0   100%
polar/benefit/service.py BenefitService.list   100% 12 0 0   75% 8 2   90%
polar/benefit/service.py BenefitService.get   100% 3 0 0   100% 0 0   100%
polar/benefit/service.py BenefitService.user_create   100% 12 0 0   100% 0 0   100%
polar/benefit/service.py BenefitService.update   86% 14 2 0   83% 6 1   85%
polar/benefit/service.py BenefitService.delete   89% 9 1 0   50% 2 1   82%
polar/benefit/service.py (no function)   100% 30 0 0   50% 2 1   97%
polar/benefit/sorting.py (no function)   100% 9 0 0   100% 0 0   100%
polar/benefit/strategies/__init__.py (no function)   100% 8 0 0   100% 0 0   100%
polar/benefit/strategies/base/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/base/properties.py (no function)   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/base/schemas.py BenefitGrantBase.user_id   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/schemas.py (no function)   100% 39 0 0   50% 6 3   93%
polar/benefit/strategies/base/service.py BenefitPropertiesValidationError.__init__   100% 2 0 0   100% 0 0   100%
polar/benefit/strategies/base/service.py BenefitRetriableError.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitRetriableError.defer_milliseconds   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitServiceProtocol.__init__   100% 2 0 0   100% 0 0   100%
polar/benefit/strategies/base/service.py BenefitServiceProtocol.grant   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitServiceProtocol.cycle   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitServiceProtocol.revoke   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitServiceProtocol.requires_update   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitServiceProtocol.validate_properties   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/base/service.py BenefitServiceProtocol._get_properties   100% 1 0 0   100% 0 0   100%
polar/benefit/strategies/base/service.py (no function)   100% 25 0 0   50% 2 1   96%
polar/benefit/strategies/custom/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/custom/properties.py (no function)   100% 3 0 0   100% 2 0   100%
polar/benefit/strategies/custom/schemas.py (no function)   100% 17 0 0   100% 0 0   100%
polar/benefit/strategies/custom/service.py BenefitCustomService.grant   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/custom/service.py BenefitCustomService.cycle   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/custom/service.py BenefitCustomService.revoke   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/custom/service.py BenefitCustomService.requires_update   100% 1 0 0   100% 0 0   100%
polar/benefit/strategies/custom/service.py BenefitCustomService.validate_properties   100% 1 0 0   100% 0 0   100%
polar/benefit/strategies/custom/service.py (no function)   100% 11 0 0   100% 0 0   100%
polar/benefit/strategies/discord/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/discord/properties.py (no function)   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/discord/schemas.py BenefitDiscordProperties.guild_token   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/discord/schemas.py BenefitDiscordCreateProperties.validate_guild_token   80% 5 1 0   100% 0 0   80%
polar/benefit/strategies/discord/schemas.py (no function)   100% 28 0 0   100% 0 0   100%
polar/benefit/strategies/discord/service.py BenefitDiscordService.grant   0% 27 27 0   0% 8 0   0%
polar/benefit/strategies/discord/service.py BenefitDiscordService.cycle   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/discord/service.py BenefitDiscordService.revoke   0% 19 19 0   0% 6 0   0%
polar/benefit/strategies/discord/service.py BenefitDiscordService.requires_update   0% 2 2 0   100% 0 0   0%
polar/benefit/strategies/discord/service.py BenefitDiscordService.validate_properties   0% 9 9 0   0% 4 0   0%
polar/benefit/strategies/discord/service.py BenefitDiscordService._get_customer_oauth_account   0% 20 20 0   0% 6 0   0%
polar/benefit/strategies/discord/service.py (no function)   100% 22 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/properties.py (no function)   100% 4 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/schemas.py get_active_file_ids   100% 7 0 0   75% 4 1   91%
polar/benefit/strategies/downloadables/schemas.py BenefitDownloadablesSubscriberProperties.assign_active_files   0% 5 5 0   0% 2 0   0%
polar/benefit/strategies/downloadables/schemas.py (no function)   100% 19 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/service.py get_active_file_ids   100% 2 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/service.py BenefitDownloadablesService.grant   0% 10 10 0   0% 6 0   0%
polar/benefit/strategies/downloadables/service.py BenefitDownloadablesService.cycle   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/downloadables/service.py BenefitDownloadablesService.revoke   0% 2 2 0   100% 0 0   0%
polar/benefit/strategies/downloadables/service.py BenefitDownloadablesService.requires_update   100% 4 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/service.py BenefitDownloadablesService.validate_properties   100% 1 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/service.py (no function)   100% 19 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/properties.py (no function)   100% 4 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/schemas.py (no function)   100% 20 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService.grant   0% 33 33 0   0% 10 0   0%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService.cycle   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService.revoke   0% 28 28 0   0% 8 0   0%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService.requires_update   0% 2 2 0   100% 0 0   0%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService.validate_properties   32% 19 13 0   10% 10 1   24%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService._get_invitation   0% 4 4 0   0% 4 0   0%
polar/benefit/strategies/github_repository/service.py BenefitGitHubRepositoryService._get_github_app_client   0% 7 7 0   100% 0 0   0%
polar/benefit/strategies/github_repository/service.py (no function)   92% 26 2 0   50% 2 1   89%
polar/benefit/strategies/license_keys/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/properties.py (no function)   100% 6 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/schemas.py (no function)   100% 22 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/service.py BenefitLicenseKeysService.grant   0% 5 5 0   0% 2 0   0%
polar/benefit/strategies/license_keys/service.py BenefitLicenseKeysService.cycle   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/license_keys/service.py BenefitLicenseKeysService.revoke   0% 6 6 0   0% 2 0   0%
polar/benefit/strategies/license_keys/service.py BenefitLicenseKeysService.requires_update   0% 6 6 0   100% 0 0   0%
polar/benefit/strategies/license_keys/service.py BenefitLicenseKeysService.validate_properties   100% 1 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/service.py (no function)   100% 18 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/properties.py (no function)   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/schemas.py (no function)   100% 15 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/service.py BenefitMeterCreditService.grant   0% 3 3 0   100% 0 0   0%
polar/benefit/strategies/meter_credit/service.py BenefitMeterCreditService.cycle   0% 16 16 0   0% 6 0   0%
polar/benefit/strategies/meter_credit/service.py BenefitMeterCreditService.revoke   0% 6 6 0   0% 2 0   0%
polar/benefit/strategies/meter_credit/service.py BenefitMeterCreditService.requires_update   0% 1 1 0   100% 0 0   0%
polar/benefit/strategies/meter_credit/service.py BenefitMeterCreditService.validate_properties   80% 5 1 0   50% 2 1   71%
polar/benefit/strategies/meter_credit/service.py BenefitMeterCreditService._create_event   0% 7 7 0   0% 2 0   0%
polar/benefit/strategies/meter_credit/service.py (no function)   100% 21 0 0   100% 0 0   100%
polar/benefit/tasks.py CustomerDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/tasks.py ProductDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/tasks.py BenefitDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/tasks.py BenefitGrantDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/tasks.py OrganizationDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/benefit/tasks.py enqueue_benefits_grants   0% 11 11 0   0% 4 0   0%
polar/benefit/tasks.py benefit_grant   0% 15 15 0   0% 4 0   0%
polar/benefit/tasks.py benefit_revoke   0% 15 15 0   0% 4 0   0%
polar/benefit/tasks.py benefit_update   0% 9 9 0   0% 2 0   0%
polar/benefit/tasks.py enqueue_benefit_grant_cycles   0% 3 3 0   100% 0 0   0%
polar/benefit/tasks.py benefit_cycle   0% 9 9 0   0% 2 0   0%
polar/benefit/tasks.py benefit_delete   0% 6 6 0   0% 2 0   0%
polar/benefit/tasks.py benefit_revoke_customer   0% 6 6 0   0% 2 0   0%
polar/benefit/tasks.py benefit_delete_grant   0% 9 9 0   0% 2 0   0%
polar/benefit/tasks.py (no function)   100% 44 0 0   50% 2 1   98%
polar/billing_entry/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/billing_entry/repository.py BillingEntryRepository.update_order_item_id   0% 2 2 0   100% 0 0   0%
polar/billing_entry/repository.py BillingEntryRepository.get_pending_by_subscription   0% 2 2 0   100% 0 0   0%
polar/billing_entry/repository.py BillingEntryRepository.get_static_pending_by_subscription   0% 3 3 0   0% 2 0   0%
polar/billing_entry/repository.py BillingEntryRepository.get_pending_metered_by_subscription_tuples   0% 6 6 0   0% 2 0   0%
polar/billing_entry/repository.py BillingEntryRepository.get_pending_ids_by_subscription_and_price   0% 3 3 0   100% 0 0   0%
polar/billing_entry/repository.py BillingEntryRepository.get_pending_ids_by_subscription_and_meter   0% 3 3 0   100% 0 0   0%
polar/billing_entry/repository.py BillingEntryRepository.get_pending_by_subscription_statement   0% 1 1 0   100% 0 0   0%
polar/billing_entry/repository.py (no function)   100% 18 0 0   100% 0 0   100%
polar/billing_entry/service.py BillingEntryService.create_order_items_from_pending   0% 11 11 0   0% 4 0   0%
polar/billing_entry/service.py BillingEntryService.compute_pending_subscription_line_items   0% 26 26 0   0% 14 0   0%
polar/billing_entry/service.py BillingEntryService._get_static_price_line_item   0% 15 15 0   0% 4 0   0%
polar/billing_entry/service.py BillingEntryService._get_metered_line_item   0% 10 10 0   100% 0 0   0%
polar/billing_entry/service.py BillingEntryService._get_metered_line_item_by_meter   0% 10 10 0   100% 0 0   0%
polar/billing_entry/service.py (no function)   100% 34 0 0   100% 0 0   100%
polar/billing_entry/tasks.py set_order_item   0% 3 3 0   100% 0 0   0%
polar/billing_entry/tasks.py (no function)   100% 5 0 0   100% 0 0   100%
polar/campaign/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/campaign/service.py CampaignService.get_eligible   0% 10 10 0   0% 4 0   0%
polar/campaign/service.py (no function)   100% 8 0 0   100% 0 0   100%
polar/checkout/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/checkout/auth.py (no function)   100% 12 0 0   100% 0 0   100%
polar/checkout/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/checkout/endpoints.py get   100% 4 0 0   100% 2 0   100%
polar/checkout/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/checkout/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/checkout/endpoints.py client_get   100% 1 0 0   100% 0 0   100%
polar/checkout/endpoints.py client_create   100% 2 0 0   100% 0 0   100%
polar/checkout/endpoints.py client_update   100% 2 0 0   100% 0 0   100%
polar/checkout/endpoints.py client_confirm   100% 2 0 0   100% 0 0   100%
polar/checkout/endpoints.py client_stream   0% 3 3 0   100% 0 0   0%
polar/checkout/endpoints.py (no function)   100% 52 0 0   100% 0 0   100%
polar/checkout/eventstream.py publish_checkout_event   100% 0 0 0   100% 0 0   100%
polar/checkout/eventstream.py publish_checkout_event   100% 0 0 0   100% 0 0   100%
polar/checkout/eventstream.py publish_checkout_event   100% 0 0 0   100% 0 0   100%
polar/checkout/eventstream.py publish_checkout_event   100% 0 0 0   100% 0 0   100%
polar/checkout/eventstream.py publish_checkout_event   100% 1 0 0   100% 0 0   100%
polar/checkout/eventstream.py (no function)   100% 20 0 0   0% 8 8   71%
polar/checkout/guard.py has_product_checkout   100% 1 0 0   100% 0 0   100%
polar/checkout/guard.py (no function)   86% 7 1 0   50% 2 1   78%
polar/checkout/ip_geolocation.py _get_client_dependency   100% 1 0 0   100% 0 0   100%
polar/checkout/ip_geolocation.py _download_database   0% 2 2 0   100% 0 0   0%
polar/checkout/ip_geolocation.py get_client   0% 3 3 0   0% 2 0   0%
polar/checkout/ip_geolocation.py get_ip_country   0% 4 4 0   0% 2 0   0%
polar/checkout/ip_geolocation.py (no function)   75% 20 5 0   50% 2 1   73%
polar/checkout/price.py get_default_price   75% 4 1 0   50% 4 2   62%
polar/checkout/price.py (no function)   100% 3 0 0   100% 0 0   100%
polar/checkout/repository.py CheckoutRepository.get_by_client_secret   100% 2 0 0   100% 0 0   100%
polar/checkout/repository.py CheckoutRepository.expire_open_checkouts   0% 2 2 0   100% 0 0   0%
polar/checkout/repository.py CheckoutRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/checkout/repository.py CheckoutRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/checkout/repository.py CheckoutRepository.get_sorting_clause   100% 7 0 0   83% 6 1   92%
polar/checkout/repository.py (no function)   100% 16 0 0   100% 0 0   100%
polar/checkout/schemas.py CheckoutBase.subtotal_amount   100% 1 0 0   100% 0 0   100%
polar/checkout/schemas.py get_discount_discriminator_value   0% 7 7 0   0% 2 0   0%
polar/checkout/schemas.py (no function)   100% 159 0 0   50% 4 2   99%
polar/checkout/service.py ExpiredCheckoutError.__init__   0% 2 2 0   100% 0 0   0%
polar/checkout/service.py AlreadyActiveSubscriptionError.__init__   0% 2 2 0   100% 0 0   0%
polar/checkout/service.py PaymentError.__init__   0% 5 5 0   100% 0 0   0%
polar/checkout/service.py CheckoutDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/checkout/service.py NotOpenCheckout.__init__   0% 4 4 0   100% 0 0   0%
polar/checkout/service.py NotConfirmedCheckout.__init__   0% 4 4 0   100% 0 0   0%
polar/checkout/service.py PaymentDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/checkout/service.py ArchivedPriceCheckout.__init__   0% 4 4 0   100% 0 0   0%
polar/checkout/service.py IntentNotSucceeded.__init__   0% 4 4 0   100% 0 0   0%
polar/checkout/service.py NoPaymentMethodOnIntent.__init__   0% 4 4 0   100% 0 0   0%
polar/checkout/service.py PaymentRequired.__init__   0% 3 3 0   100% 0 0   0%
polar/checkout/service.py TrialAlreadyRedeemed.__init__   0% 3 3 0   100% 0 0   0%
polar/checkout/service.py CheckoutService.list   100% 14 0 0   90% 10 1   96%
polar/checkout/service.py CheckoutService.get_by_id   88% 8 1 0   75% 4 1   83%
polar/checkout/service.py CheckoutService.create   4% 95 91 0   4% 56 2   4%
polar/checkout/service.py CheckoutService.client_create   62% 45 17 0   42% 24 6   55%
polar/checkout/service.py CheckoutService.checkout_link_create   0% 85 85 0   0% 42 0   0%
polar/checkout/service.py CheckoutService.update   88% 8 1 0   100% 0 0   88%
polar/checkout/service.py CheckoutService.confirm   40% 10 6 0   50% 2 1   42%
polar/checkout/service.py CheckoutService._confirm_inner   10% 62 56 0   6% 34 2   8%
polar/checkout/service.py CheckoutService.handle_success   0% 22 22 0   0% 12 0   0%
polar/checkout/service.py CheckoutService.handle_failure   0% 8 8 0   0% 2 0   0%
polar/checkout/service.py CheckoutService.get_by_client_secret   86% 7 1 0   75% 4 1   82%
polar/checkout/service.py CheckoutService._get_validated_price   0% 10 10 0   0% 6 0   0%
polar/checkout/service.py CheckoutService._get_validated_product   0% 7 7 0   0% 4 0   0%
polar/checkout/service.py CheckoutService._get_validated_products   65% 17 6 0   50% 10 3   59%
polar/checkout/service.py CheckoutService._get_validated_prices   0% 14 14 0   0% 4 0   0%
polar/checkout/service.py CheckoutService._get_validated_discount   100% 0 0 0   100% 0 0   100%
polar/checkout/service.py CheckoutService._get_validated_discount   100% 0 0 0   100% 0 0   100%
polar/checkout/service.py CheckoutService._get_validated_discount   69% 13 4 0   50% 10 3   61%
polar/checkout/service.py CheckoutService._get_validated_subscription   0% 8 8 0   0% 6 0   0%
polar/checkout/service.py CheckoutService._lock_checkout_update   100% 5 0 0   100% 0 0   100%
polar/checkout/service.py CheckoutService._update_checkout   74% 82 21 0   71% 52 9   73%
polar/checkout/service.py CheckoutService._update_checkout_tax   60% 20 8 0   67% 6 2   62%
polar/checkout/service.py CheckoutService._update_checkout_ip_geolocation   12% 16 14 0   12% 8 1   12%
polar/checkout/service.py CheckoutService._update_trial_end   75% 12 3 0   67% 6 2   72%
polar/checkout/service.py CheckoutService._validate_subscription_uniqueness   40% 20 12 0   38% 16 4   39%
polar/checkout/service.py CheckoutService._validate_custom_price_amount   0% 6 6 0   0% 6 0   0%
polar/checkout/service.py CheckoutService._get_required_confirm_fields   0% 9 9 0   0% 8 0   0%
polar/checkout/service.py CheckoutService._create_or_update_customer   0% 45 45 0   0% 30 0   0%
polar/checkout/service.py CheckoutService._create_ad_hoc_custom_price   0% 10 10 0   0% 4 0   0%
polar/checkout/service.py CheckoutService._after_checkout_created   100% 1 0 0   100% 0 0   100%
polar/checkout/service.py CheckoutService._after_checkout_updated   100% 4 0 0   100% 2 0   100%
polar/checkout/service.py CheckoutService._eager_load_product   0% 2 2 0   100% 0 0   0%
polar/checkout/service.py (no function)   100% 123 0 0   17% 6 5   96%
polar/checkout/sorting.py (no function)   100% 9 0 0   100% 0 0   100%
polar/checkout/tasks.py CheckoutDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/checkout/tasks.py handle_free_success   0% 6 6 0   0% 2 0   0%
polar/checkout/tasks.py expire_open_checkouts   0% 3 3 0   100% 0 0   0%
polar/checkout/tasks.py (no function)   100% 12 0 0   50% 2 1   93%
polar/checkout_link/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/checkout_link/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/checkout_link/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/checkout_link/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/checkout_link/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/checkout_link/endpoints.py update   75% 4 1 0   50% 2 1   67%
polar/checkout_link/endpoints.py delete   75% 4 1 0   50% 2 1   67%
polar/checkout_link/endpoints.py redirect   0% 19 19 0   0% 8 0   0%
polar/checkout_link/endpoints.py (no function)   100% 37 0 0   100% 0 0   100%
polar/checkout_link/repository.py CheckoutLinkRepository.get_by_client_secret   0% 2 2 0   100% 0 0   0%
polar/checkout_link/repository.py CheckoutLinkRepository.get_eager_options   100% 2 0 0   100% 0 0   100%
polar/checkout_link/repository.py CheckoutLinkRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/checkout_link/repository.py CheckoutLinkRepository.count_by_organization_id   100% 2 0 0   100% 0 0   100%
polar/checkout_link/repository.py CheckoutLinkRepository.archive_product   0% 7 7 0   0% 4 0   0%
polar/checkout_link/repository.py (no function)   94% 16 1 0   50% 2 1   89%
polar/checkout_link/schemas.py CheckoutLinkBase.url   0% 1 1 0   100% 0 0   0%
polar/checkout_link/schemas.py (no function)   100% 52 0 0   100% 0 0   100%
polar/checkout_link/service.py CheckoutLinkService.list   100% 22 0 0   86% 14 2   94%
polar/checkout_link/service.py CheckoutLinkService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/checkout_link/service.py CheckoutLinkService.create   43% 14 8 0   62% 8 1   50%
polar/checkout_link/service.py CheckoutLinkService.update   0% 14 14 0   0% 8 0   0%
polar/checkout_link/service.py CheckoutLinkService.delete   0% 2 2 0   100% 0 0   0%
polar/checkout_link/service.py CheckoutLinkService._get_validated_products   65% 17 6 0   50% 10 3   59%
polar/checkout_link/service.py CheckoutLinkService._get_validated_price   33% 12 8 0   17% 6 1   28%
polar/checkout_link/service.py CheckoutLinkService._get_validated_discount   0% 4 4 0   0% 2 0   0%
polar/checkout_link/service.py (no function)   100% 30 0 0   100% 0 0   100%
polar/checkout_link/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/config.py _validate_email_renderer_binary_path   67% 3 1 0   50% 2 1   60%
polar/config.py Settings.redis_url   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.get_postgres_dsn   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.is_read_replica_configured   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.get_postgres_read_dsn   67% 3 1 0   50% 2 1   60%
polar/config.py Settings.is_environment   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.is_development   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.is_testing   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.is_sandbox   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.is_production   0% 1 1 0   100% 0 0   0%
polar/config.py Settings.generate_external_url   0% 1 1 0   100% 0 0   0%
polar/config.py Settings.generate_frontend_url   100% 1 0 0   100% 0 0   100%
polar/config.py Settings.generate_backoffice_url   0% 3 3 0   0% 2 0   0%
polar/config.py Settings.stripe_descriptor_suffix_max_length   0% 1 1 0   100% 0 0   0%
polar/config.py Settings.get_minimum_payout_for_currency   0% 1 1 0   100% 0 0   0%
polar/config.py (no function)   100% 169 0 0   100% 0 0   100%
polar/currency/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/currency/schemas.py (no function)   0% 5 5 0   100% 0 0   0%
polar/custom_field/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/custom_field/attachment.py AttachedCustomFieldMixin.custom_field   100% 1 0 0   100% 0 0   100%
polar/custom_field/attachment.py track_attached_custom_field_mixin   100% 2 0 0   100% 2 0   100%
polar/custom_field/attachment.py (no function)   93% 15 1 0   50% 2 1   88%
polar/custom_field/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/custom_field/data.py track_attached_custom_field_mixin   100% 2 0 0   100% 2 0   100%
polar/custom_field/data.py build_custom_field_data_schema   100% 2 0 0   100% 0 0   100%
polar/custom_field/data.py validate_custom_field_data   60% 5 2 0   100% 0 0   60%
polar/custom_field/data.py (no function)   88% 24 3 0   25% 4 3   79%
polar/custom_field/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/custom_field/endpoints.py get   100% 4 0 0   100% 2 0   100%
polar/custom_field/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/custom_field/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/custom_field/endpoints.py delete   100% 4 0 0   100% 2 0   100%
polar/custom_field/endpoints.py (no function)   100% 29 0 0   100% 0 0   100%
polar/custom_field/schemas.py (no function)   100% 51 0 0   100% 0 0   100%
polar/custom_field/service.py CustomFieldService.list   100% 20 0 0   88% 16 2   94%
polar/custom_field/service.py CustomFieldService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/custom_field/service.py CustomFieldService.create   100% 7 0 0   100% 2 0   100%
polar/custom_field/service.py CustomFieldService.update   100% 15 0 0   100% 12 0   100%
polar/custom_field/service.py CustomFieldService.delete   100% 6 0 0   100% 2 0   100%
polar/custom_field/service.py CustomFieldService.get_by_organization_and_id   100% 3 0 0   100% 0 0   100%
polar/custom_field/service.py CustomFieldService._get_by_organization_id_and_slug   100% 3 0 0   100% 0 0   100%
polar/custom_field/service.py CustomFieldService._get_readable_custom_field_statement   71% 7 2 0   25% 4 1   55%
polar/custom_field/service.py (no function)   100% 29 0 0   50% 2 1   97%
polar/custom_field/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/customer/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/customer/endpoints.py list   80% 20 4 0   70% 10 1   77%
polar/customer/endpoints.py export   100% 3 0 0   100% 0 0   100%
polar/customer/endpoints.py export.create_csv   100% 7 0 0   100% 2 0   100%
polar/customer/endpoints.py get   100% 8 0 0   100% 4 0   100%
polar/customer/endpoints.py get_external   100% 8 0 0   100% 4 0   100%
polar/customer/endpoints.py get_state   75% 4 1 0   50% 2 1   67%
polar/customer/endpoints.py get_state_external   100% 4 0 0   100% 2 0   100%
polar/customer/endpoints.py create   89% 9 1 0   75% 4 1   85%
polar/customer/endpoints.py update   100% 9 0 0   100% 4 0   100%
polar/customer/endpoints.py update_external   100% 9 0 0   100% 4 0   100%
polar/customer/endpoints.py delete   0% 4 4 0   0% 2 0   0%
polar/customer/endpoints.py delete_external   0% 4 4 0   0% 2 0   0%
polar/customer/endpoints.py (no function)   100% 46 0 0   100% 0 0   100%
polar/customer/repository.py _get_changed_value   100% 9 0 0   100% 4 0   100%
polar/customer/repository.py CustomerRepository.create   100% 5 0 0   50% 2 1   86%
polar/customer/repository.py CustomerRepository.create_context   100% 7 0 0   100% 2 0   100%
polar/customer/repository.py CustomerRepository.update   100% 22 0 0   92% 12 1   97%
polar/customer/repository.py CustomerRepository.soft_delete   0% 9 9 0   0% 2 0   0%
polar/customer/repository.py CustomerRepository.touch_meters   0% 2 2 0   100% 0 0   0%
polar/customer/repository.py CustomerRepository.set_meters_updated_at   0% 2 2 0   100% 0 0   0%
polar/customer/repository.py CustomerRepository.get_by_id_and_organization   0% 2 2 0   100% 0 0   0%
polar/customer/repository.py CustomerRepository.get_by_email_and_organization   100% 2 0 0   100% 0 0   100%
polar/customer/repository.py CustomerRepository.get_by_external_id_and_organization   100% 2 0 0   100% 0 0   100%
polar/customer/repository.py CustomerRepository.get_by_stripe_customer_id_and_organization   0% 2 2 0   100% 0 0   0%
polar/customer/repository.py CustomerRepository.stream_by_organization   100% 5 0 0   75% 4 1   89%
polar/customer/repository.py CustomerRepository.get_readable_by_id   100% 2 0 0   100% 0 0   100%
polar/customer/repository.py CustomerRepository.get_readable_by_external_id   100% 2 0 0   100% 0 0   100%
polar/customer/repository.py CustomerRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/customer/repository.py (no function)   100% 32 0 0   100% 0 0   100%
polar/customer/schemas/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer/schemas/customer.py CustomerBase.avatar_url   100% 2 0 0   100% 0 0   100%
polar/customer/schemas/customer.py (no function)   100% 51 0 0   50% 2 1   98%
polar/customer/schemas/state.py (no function)   100% 48 0 0   100% 0 0   100%
polar/customer/service.py CustomerService.list   100% 21 0 0   81% 16 3   92%
polar/customer/service.py CustomerService.get   100% 3 0 0   100% 0 0   100%
polar/customer/service.py CustomerService.get_external   100% 3 0 0   100% 0 0   100%
polar/customer/service.py CustomerService.create   100% 16 0 0   100% 8 0   100%
polar/customer/service.py CustomerService.update   100% 16 0 0   100% 12 0   100%
polar/customer/service.py CustomerService.delete   0% 4 4 0   100% 0 0   0%
polar/customer/service.py CustomerService.get_state   100% 14 0 0   75% 4 1   94%
polar/customer/service.py CustomerService.webhook   0% 6 6 0   0% 4 0   0%
polar/customer/service.py CustomerService.load_members   100% 2 0 0   100% 0 0   100%
polar/customer/service.py (no function)   100% 38 0 0   100% 0 0   100%
polar/customer/sorting.py (no function)   100% 9 0 0   100% 0 0   100%
polar/customer/tasks.py CustomerDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/customer/tasks.py customer_webhook   0% 6 6 0   0% 2 0   0%
polar/customer/tasks.py customer_event   0% 13 13 0   0% 8 0   0%
polar/customer/tasks.py (no function)   100% 18 0 0   50% 2 1   95%
polar/customer_meter/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_meter/auth.py (no function)   100% 8 0 0   100% 0 0   100%
polar/customer_meter/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/customer_meter/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/customer_meter/endpoints.py (no function)   100% 21 0 0   100% 0 0   100%
polar/customer_meter/repository.py CustomerMeterRepository.get_all_by_customer   100% 2 0 0   100% 0 0   100%
polar/customer_meter/repository.py CustomerMeterRepository.get_by_customer_and_meter   0% 2 2 0   100% 0 0   0%
polar/customer_meter/repository.py CustomerMeterRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/customer_meter/repository.py CustomerMeterRepository.get_sorting_clause   100% 19 0 0   94% 18 1   97%
polar/customer_meter/repository.py (no function)   100% 15 0 0   100% 0 0   100%
polar/customer_meter/scheduler.py enqueue_update_customer   0% 2 2 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.shutdown   0% 2 2 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.lookup_job   0% 1 1 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.get_due_jobs   0% 4 4 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.get_next_run_time   0% 6 6 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.get_all_jobs   0% 5 5 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.remove_job   0% 4 4 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.add_job   0% 1 1 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.update_job   0% 1 1 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore.remove_all_jobs   0% 1 1 0   100% 0 0   0%
polar/customer_meter/scheduler.py CustomerMeterJobStore._list_jobs_from_statement   0% 10 10 0   0% 2 0   0%
polar/customer_meter/scheduler.py (no function)   0% 28 28 0   100% 0 0   0%
polar/customer_meter/schemas.py (no function)   100% 16 0 0   100% 0 0   100%
polar/customer_meter/service.py CustomerMeterService.list   100% 13 0 0   88% 8 1   95%
polar/customer_meter/service.py CustomerMeterService.get   100% 3 0 0   100% 0 0   100%
polar/customer_meter/service.py CustomerMeterService.update_customer   0% 10 10 0   0% 4 0   0%
polar/customer_meter/service.py CustomerMeterService.update_customer_meter   0% 22 22 0   0% 6 0   0%
polar/customer_meter/service.py CustomerMeterService.get_rollover_units   0% 13 13 0   0% 2 0   0%
polar/customer_meter/service.py CustomerMeterService._get_current_window_events_statement   0% 6 6 0   0% 2 0   0%
polar/customer_meter/service.py (no function)   100% 30 0 0   100% 0 0   100%
polar/customer_meter/sorting.py (no function)   100% 15 0 0   100% 0 0   100%
polar/customer_meter/tasks.py CustomerDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_meter/tasks.py update_customer   0% 8 8 0   0% 2 0   0%
polar/customer_meter/tasks.py (no function)   100% 11 0 0   50% 2 1   92%
polar/customer_portal/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_portal/auth.py (no function)   100% 11 0 0   100% 0 0   100%
polar/customer_portal/endpoints/__init__.py (no function)   100% 26 0 0   100% 0 0   100%
polar/customer_portal/endpoints/benefit_grant.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/benefit_grant.py get   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/benefit_grant.py update   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/benefit_grant.py (no function)   100% 29 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer.py stream   0% 3 3 0   100% 0 0   0%
polar/customer_portal/endpoints/customer.py get   100% 1 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer.py update   100% 1 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer.py list_payment_methods   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer.py add_payment_method   100% 1 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer.py confirm_payment_method   100% 1 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer.py delete_payment_method   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/customer.py (no function)   100% 32 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_meter.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_meter.py get   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/customer_meter.py (no function)   100% 20 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_seat.py list_seats   71% 24 7 0   75% 8 2   72%
polar/customer_portal/endpoints/customer_seat.py assign_seat   24% 25 19 0   20% 10 2   23%
polar/customer_portal/endpoints/customer_seat.py revoke_seat   80% 5 1 0   50% 2 1   71%
polar/customer_portal/endpoints/customer_seat.py resend_invitation   80% 5 1 0   50% 2 1   71%
polar/customer_portal/endpoints/customer_seat.py list_claimed_subscriptions   100% 4 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_seat.py (no function)   100% 31 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_session.py request   100% 5 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_session.py authenticate   50% 2 1 0   100% 0 0   50%
polar/customer_portal/endpoints/customer_session.py introspect   100% 3 0 0   100% 0 0   100%
polar/customer_portal/endpoints/customer_session.py (no function)   100% 17 0 0   100% 0 0   100%
polar/customer_portal/endpoints/downloadables.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/downloadables.py get   33% 3 2 0   100% 0 0   33%
polar/customer_portal/endpoints/downloadables.py (no function)   100% 16 0 0   100% 0 0   100%
polar/customer_portal/endpoints/license_keys.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/license_keys.py get   33% 9 6 0   25% 4 1   31%
polar/customer_portal/endpoints/license_keys.py validate   50% 2 1 0   100% 0 0   50%
polar/customer_portal/endpoints/license_keys.py activate   50% 2 1 0   100% 0 0   50%
polar/customer_portal/endpoints/license_keys.py deactivate   50% 2 1 0   100% 0 0   50%
polar/customer_portal/endpoints/license_keys.py (no function)   100% 26 0 0   100% 0 0   100%
polar/customer_portal/endpoints/oauth_accounts.py OAuthCallbackError.__init__   0% 1 1 0   100% 0 0   0%
polar/customer_portal/endpoints/oauth_accounts.py authorize   100% 6 0 0   100% 0 0   100%
polar/customer_portal/endpoints/oauth_accounts.py callback   10% 39 35 0   0% 10 0   8%
polar/customer_portal/endpoints/oauth_accounts.py (no function)   100% 34 0 0   100% 0 0   100%
polar/customer_portal/endpoints/order.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/order.py get   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/order.py update   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/order.py generate_invoice   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/order.py invoice   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/order.py get_payment_status   38% 8 5 0   25% 4 1   33%
polar/customer_portal/endpoints/order.py confirm_retry_payment   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/order.py (no function)   100% 38 0 0   100% 0 0   100%
polar/customer_portal/endpoints/organization.py get   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/organization.py (no function)   100% 13 0 0   100% 0 0   100%
polar/customer_portal/endpoints/subscription.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/subscription.py get   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/subscription.py get_charge_preview   33% 9 6 0   12% 8 1   24%
polar/customer_portal/endpoints/subscription.py update   50% 6 3 0   50% 2 1   50%
polar/customer_portal/endpoints/subscription.py cancel   50% 6 3 0   50% 2 1   50%
polar/customer_portal/endpoints/subscription.py (no function)   100% 35 0 0   100% 0 0   100%
polar/customer_portal/endpoints/wallet.py list   100% 2 0 0   100% 0 0   100%
polar/customer_portal/endpoints/wallet.py get   75% 4 1 0   50% 2 1   67%
polar/customer_portal/endpoints/wallet.py (no function)   100% 21 0 0   100% 0 0   100%
polar/customer_portal/repository/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_portal/repository/customer_meter.py CustomerMeterRepository.get_readable_statement   100% 4 0 0   100% 0 0   100%
polar/customer_portal/repository/customer_meter.py CustomerMeterRepository.get_sorting_clause   100% 15 0 0   93% 14 1   97%
polar/customer_portal/repository/customer_meter.py (no function)   100% 14 0 0   100% 0 0   100%
polar/customer_portal/repository/order.py CustomerOrderRepository.get_readable_statement   100% 1 0 0   100% 0 0   100%
polar/customer_portal/repository/order.py CustomerOrderRepository.get_eager_options   100% 3 0 0   100% 2 0   100%
polar/customer_portal/repository/order.py (no function)   92% 13 1 0   50% 2 1   87%
polar/customer_portal/repository/payment_method.py CustomerPaymentMethodRepository.get_readable_statement   100% 1 0 0   100% 0 0   100%
polar/customer_portal/repository/payment_method.py (no function)   100% 8 0 0   100% 0 0   100%
polar/customer_portal/repository/wallet.py CustomerWalletRepository.get_readable_statement   100% 1 0 0   100% 0 0   100%
polar/customer_portal/repository/wallet.py CustomerWalletRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/customer_portal/repository/wallet.py CustomerWalletRepository.get_sorting_clause   100% 5 0 0   75% 4 1   89%
polar/customer_portal/repository/wallet.py (no function)   100% 12 0 0   100% 0 0   100%
polar/customer_portal/schemas/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_portal/schemas/benefit_grant.py CustomerBenefitGrantDiscordUpdate.get_oauth_platform   0% 1 1 0   100% 0 0   0%
polar/customer_portal/schemas/benefit_grant.py CustomerBenefitGrantGitHubRepositoryUpdate.get_oauth_platform   0% 1 1 0   100% 0 0   0%
polar/customer_portal/schemas/benefit_grant.py (no function)   100% 40 0 0   100% 0 0   100%
polar/customer_portal/schemas/customer.py (no function)   100% 21 0 0   100% 0 0   100%
polar/customer_portal/schemas/customer_meter.py (no function)   100% 7 0 0   100% 0 0   100%
polar/customer_portal/schemas/customer_session.py (no function)   100% 10 0 0   100% 0 0   100%
polar/customer_portal/schemas/downloadables.py (no function)   100% 10 0 0   100% 0 0   100%
polar/customer_portal/schemas/oauth_accounts.py (no function)   100% 2 0 0   100% 0 0   100%
polar/customer_portal/schemas/order.py CustomerOrderConfirmPayment.validate_payment_method   100% 5 0 0   100% 4 0   100%
polar/customer_portal/schemas/order.py (no function)   100% 33 0 0   50% 2 1   97%
polar/customer_portal/schemas/organization.py (no function)   100% 12 0 0   50% 2 1   93%
polar/customer_portal/schemas/subscription.py CustomerSubscription.is_polar_managed   0% 1 1 0   100% 0 0   0%
polar/customer_portal/schemas/subscription.py (no function)   100% 33 0 0   100% 0 0   100%
polar/customer_portal/schemas/wallet.py (no function)   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_portal/service/benefit_grant.py CustomerBenefitGrantService.list   100% 25 0 0   95% 20 1   98%
polar/customer_portal/service/benefit_grant.py CustomerBenefitGrantService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/benefit_grant.py CustomerBenefitGrantService.update   0% 20 20 0   0% 12 0   0%
polar/customer_portal/service/benefit_grant.py CustomerBenefitGrantService._get_readable_benefit_grant_statement   100% 1 0 0   100% 0 0   100%
polar/customer_portal/service/benefit_grant.py (no function)   100% 28 0 0   100% 0 0   100%
polar/customer_portal/service/customer.py CustomerNotReady.__init__   0% 2 2 0   100% 0 0   0%
polar/customer_portal/service/customer.py CustomerService.update   90% 21 2 0   83% 12 2   88%
polar/customer_portal/service/customer.py CustomerService.list_payment_methods   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/customer.py CustomerService.get_payment_method   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/customer.py CustomerService.add_payment_method   14% 14 12 0   12% 8 1   14%
polar/customer_portal/service/customer.py CustomerService.confirm_payment_method   67% 9 3 0   25% 4 1   54%
polar/customer_portal/service/customer.py CustomerService._save_payment_method   0% 12 12 0   0% 6 0   0%
polar/customer_portal/service/customer.py CustomerService.delete_payment_method   0% 5 5 0   100% 0 0   0%
polar/customer_portal/service/customer.py (no function)   100% 28 0 0   50% 2 1   97%
polar/customer_portal/service/customer_meter.py CustomerMeterService.list   100% 8 0 0   100% 4 0   100%
polar/customer_portal/service/customer_meter.py CustomerMeterService.get   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/customer_meter.py (no function)   100% 15 0 0   100% 0 0   100%
polar/customer_portal/service/customer_session.py OrganizationDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_portal/service/customer_session.py CustomerDoesNotExist.__init__   100% 4 0 0   100% 0 0   100%
polar/customer_portal/service/customer_session.py CustomerSessionCodeInvalidOrExpired.__init__   100% 1 0 0   100% 0 0   100%
polar/customer_portal/service/customer_session.py CustomerSessionService.request   92% 12 1 0   75% 4 1   88%
polar/customer_portal/service/customer_session.py CustomerSessionService.send   100% 8 0 0   100% 0 0   100%
polar/customer_portal/service/customer_session.py CustomerSessionService.authenticate   50% 12 6 0   25% 4 1   44%
polar/customer_portal/service/customer_session.py CustomerSessionService._generate_code_hash   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/customer_session.py (no function)   100% 30 0 0   50% 2 1   97%
polar/customer_portal/service/downloadables.py DownloadableService.get_list   100% 4 0 0   100% 2 0   100%
polar/customer_portal/service/downloadables.py DownloadableService.grant_for_benefit_file   0% 12 12 0   0% 2 0   0%
polar/customer_portal/service/downloadables.py DownloadableService.revoke_for_benefit   0% 3 3 0   100% 0 0   0%
polar/customer_portal/service/downloadables.py DownloadableService.increment_download_count   0% 5 5 0   100% 0 0   0%
polar/customer_portal/service/downloadables.py DownloadableService.generate_downloadable_schemas   60% 5 2 0   50% 2 1   57%
polar/customer_portal/service/downloadables.py DownloadableService.generate_downloadable_schema   0% 3 3 0   100% 0 0   0%
polar/customer_portal/service/downloadables.py DownloadableService.create_download_token   0% 7 7 0   0% 2 0   0%
polar/customer_portal/service/downloadables.py DownloadableService.get_from_token_or_raise   36% 14 9 0   0% 2 0   31%
polar/customer_portal/service/downloadables.py DownloadableService.generate_download_schema   0% 2 2 0   100% 0 0   0%
polar/customer_portal/service/downloadables.py DownloadableService._get_base_query   100% 1 0 0   100% 0 0   100%
polar/customer_portal/service/downloadables.py (no function)   100% 34 0 0   100% 0 0   100%
polar/customer_portal/service/order.py InvoiceNotAvailable.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_portal/service/order.py OrderNotEligibleForRetry.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_portal/service/order.py PaymentAlreadyInProgress.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_portal/service/order.py CustomerOrderService.list   100% 23 0 0   94% 18 1   98%
polar/customer_portal/service/order.py CustomerOrderService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/order.py CustomerOrderService.update   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/order.py CustomerOrderService.trigger_invoice_generation   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/order.py CustomerOrderService.get_order_invoice   0% 4 4 0   0% 2 0   0%
polar/customer_portal/service/order.py CustomerOrderService.confirm_retry_payment   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/order.py (no function)   100% 40 0 0   50% 2 1   98%
polar/customer_portal/service/organization.py CustomerOrganizationService.get_by_slug   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/organization.py (no function)   100% 8 0 0   100% 0 0   100%
polar/customer_portal/service/subscription.py UpdateSubscriptionNotAllowed.__init__   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/subscription.py CustomerSubscriptionService.list   100% 25 0 0   95% 20 1   98%
polar/customer_portal/service/subscription.py CustomerSubscriptionService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/subscription.py CustomerSubscriptionService.update   0% 15 15 0   0% 10 0   0%
polar/customer_portal/service/subscription.py CustomerSubscriptionService.update_product   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/subscription.py CustomerSubscriptionService.uncancel   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/subscription.py CustomerSubscriptionService.cancel   0% 1 1 0   100% 0 0   0%
polar/customer_portal/service/subscription.py CustomerSubscriptionService._get_readable_subscription_statement   100% 1 0 0   100% 0 0   100%
polar/customer_portal/service/subscription.py (no function)   100% 34 0 0   50% 2 1   97%
polar/customer_portal/service/wallet.py CustomerWalletService.list   100% 4 0 0   100% 0 0   100%
polar/customer_portal/service/wallet.py CustomerWalletService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/wallet.py (no function)   100% 14 0 0   100% 0 0   100%
polar/customer_portal/sorting/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_portal/sorting/customer_meter.py (no function)   100% 13 0 0   100% 0 0   100%
polar/customer_portal/sorting/wallet.py (no function)   100% 4 0 0   100% 0 0   100%
polar/customer_seat/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_seat/auth.py (no function)   100% 11 0 0   100% 0 0   100%
polar/customer_seat/endpoints.py assign_seat   40% 40 24 0   29% 24 5   36%
polar/customer_seat/endpoints.py list_seats   73% 26 7 0   80% 10 2   75%
polar/customer_seat/endpoints.py revoke_seat   50% 14 7 0   38% 8 1   45%
polar/customer_seat/endpoints.py resend_invitation   50% 14 7 0   38% 8 1   45%
polar/customer_seat/endpoints.py get_claim_info   21% 14 11 0   12% 8 1   18%
polar/customer_seat/endpoints.py claim_stream   0% 5 5 0   0% 2 0   0%
polar/customer_seat/endpoints.py claim_seat   67% 3 1 0   100% 0 0   67%
polar/customer_seat/endpoints.py (no function)   100% 40 0 0   100% 0 0   100%
polar/customer_seat/repository.py CustomerSeatRepository.list_by_container   0% 3 3 0   0% 2 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_available_seats_count_for_container   0% 3 3 0   0% 2 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_container_and_customer   0% 3 3 0   0% 2 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_revoked_seat_by_container   0% 3 3 0   0% 2 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.list_by_subscription_id   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.list_by_order_id   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_invitation_token   100% 2 0 0   100% 0 0   100%
polar/customer_seat/repository.py CustomerSeatRepository.count_assigned_seats_for_subscription   0% 3 3 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_available_seats_count   0% 8 8 0   0% 2 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_available_seats_count_for_order   0% 8 8 0   0% 2 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.list_by_customer_id   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_subscription_and_customer   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_order_and_customer   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_revoked_seat_by_subscription   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_revoked_seat_by_order   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_id   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_id_for_customer   100% 2 0 0   100% 0 0   100%
polar/customer_seat/repository.py CustomerSeatRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_id_and_auth_subject   100% 2 0 0   100% 0 0   100%
polar/customer_seat/repository.py CustomerSeatRepository.get_by_subscription_and_auth_subject   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_active_seat_for_customer   0% 2 2 0   100% 0 0   0%
polar/customer_seat/repository.py CustomerSeatRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/customer_seat/repository.py CustomerSeatRepository.get_eager_options_with_prices   0% 1 1 0   100% 0 0   0%
polar/customer_seat/repository.py (no function)   100% 37 0 0   100% 0 0   100%
polar/customer_seat/schemas.py SeatAssign.validate_metadata   88% 8 1 0   83% 6 1   86%
polar/customer_seat/schemas.py SeatAssign.validate_identifiers   100% 9 0 0   100% 4 0   100%
polar/customer_seat/schemas.py CustomerSeat.extract_customer_email   0% 10 10 0   0% 10 0   0%
polar/customer_seat/schemas.py (no function)   100% 52 0 0   100% 0 0   100%
polar/customer_seat/sender.py send_seat_invitation_email   0% 7 7 0   0% 2 0   0%
polar/customer_seat/sender.py (no function)   100% 9 0 0   100% 0 0   100%
polar/customer_seat/service.py SeatNotAvailable.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_seat/service.py InvalidInvitationToken.__init__   100% 3 0 0   100% 0 0   100%
polar/customer_seat/service.py FeatureNotEnabled.__init__   0% 2 2 0   100% 0 0   0%
polar/customer_seat/service.py SeatAlreadyAssigned.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_seat/service.py SeatNotPending.__init__   0% 2 2 0   100% 0 0   0%
polar/customer_seat/service.py InvalidSeatAssignmentRequest.__init__   0% 2 2 0   100% 0 0   0%
polar/customer_seat/service.py CustomerNotFound.__init__   0% 3 3 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._get_customer_id   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._get_product   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._get_organization_id   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._get_seats_count   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._get_container_id   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._is_subscription   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._enqueue_benefit_grant   0% 3 3 0   0% 2 0   0%
polar/customer_seat/service.py SeatService._publish_seat_claimed_event   0% 1 1 0   100% 0 0   0%
polar/customer_seat/service.py SeatService._send_seat_claimed_webhook   0% 4 4 0   0% 2 0   0%
polar/customer_seat/service.py SeatService.check_seat_feature_enabled   0% 7 7 0   0% 4 0   0%
polar/customer_seat/service.py SeatService.list_seats   0% 3 3 0   100% 0 0   0%
polar/customer_seat/service.py SeatService.get_available_seats_count   0% 3 3 0   100% 0 0   0%
polar/customer_seat/service.py SeatService.count_assigned_seats_for_subscription   0% 2 2 0   100% 0 0   0%
polar/customer_seat/service.py SeatService.assign_seat   0% 54 54 0   0% 20 0   0%
polar/customer_seat/service.py SeatService.get_seat_by_token   57% 7 3 0   25% 4 1   45%
polar/customer_seat/service.py SeatService.claim_seat   13% 31 27 0   8% 12 1   12%
polar/customer_seat/service.py SeatService.revoke_seat   0% 24 24 0   0% 10 0   0%
polar/customer_seat/service.py SeatService.get_seat   0% 16 16 0   0% 12 0   0%
polar/customer_seat/service.py SeatService.resend_invitation   0% 20 20 0   0% 10 0   0%
polar/customer_seat/service.py SeatService.get_seat_for_customer   100% 3 0 0   100% 0 0   100%
polar/customer_seat/service.py SeatService.revoke_all_seats_for_subscription   0% 11 11 0   0% 4 0   0%
polar/customer_seat/service.py SeatService._find__or_create_customer   0% 19 19 0   0% 12 0   0%
polar/customer_seat/service.py (no function)   100% 63 0 0   50% 2 1   98%
polar/customer_session/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/customer_session/auth.py (no function)   100% 8 0 0   100% 0 0   100%
polar/customer_session/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/customer_session/endpoints.py (no function)   100% 12 0 0   100% 0 0   100%
polar/customer_session/schemas.py (no function)   100% 15 0 0   100% 0 0   100%
polar/customer_session/service.py CustomerSessionService.create   80% 15 3 0   75% 4 1   79%
polar/customer_session/service.py CustomerSessionService.create_customer_session   0% 5 5 0   100% 0 0   0%
polar/customer_session/service.py CustomerSessionService.get_by_token   100% 6 0 0   50% 2 1   88%
polar/customer_session/service.py CustomerSessionService.delete_expired   0% 2 2 0   100% 0 0   0%
polar/customer_session/service.py CustomerSessionService.revoke_leaked   0% 6 6 0   0% 2 0   0%
polar/customer_session/service.py (no function)   100% 27 0 0   100% 0 0   100%
polar/customer_session/tasks.py customer_session_delete_expired   0% 2 2 0   100% 0 0   0%
polar/customer_session/tasks.py (no function)   100% 4 0 0   100% 0 0   100%
polar/discount/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/discount/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/discount/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/discount/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/discount/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/discount/endpoints.py update   75% 4 1 0   50% 2 1   67%
polar/discount/endpoints.py delete   75% 4 1 0   50% 2 1   67%
polar/discount/endpoints.py (no function)   100% 28 0 0   100% 0 0   100%
polar/discount/repository.py DiscountRedemptionRepository.set_subscription_by_checkout   0% 2 2 0   100% 0 0   0%
polar/discount/repository.py (no function)   100% 7 0 0   100% 0 0   100%
polar/discount/schemas.py _code_validator   100% 7 0 0   100% 6 0   100%
polar/discount/schemas.py _starts_at_ends_at_validator   100% 3 0 0   100% 4 0   100%
polar/discount/schemas.py DiscountCreateBase.validate_starts_at_ends_at   100% 2 0 0   100% 0 0   100%
polar/discount/schemas.py DiscountUpdate.validate_starts_at_ends_at   100% 2 0 0   100% 0 0   100%
polar/discount/schemas.py get_discriminator_value   100% 9 0 0   100% 4 0   100%
polar/discount/schemas.py (no function)   100% 94 0 0   50% 8 4   96%
polar/discount/service.py DiscountNotRedeemableError.__init__   0% 1 1 0   100% 0 0   0%
polar/discount/service.py DiscountService.list   100% 18 0 0   86% 14 2   94%
polar/discount/service.py DiscountService.get_by_id   100% 3 0 0   100% 0 0   100%
polar/discount/service.py DiscountService.create   75% 20 5 0   70% 10 3   73%
polar/discount/service.py DiscountService.update   0% 44 44 0   0% 28 0   0%
polar/discount/service.py DiscountService.delete   0% 4 4 0   100% 0 0   0%
polar/discount/service.py DiscountService.get_by_id_and_organization   42% 12 7 0   10% 10 1   27%
polar/discount/service.py DiscountService.get_by_code_and_organization   62% 8 3 0   25% 4 1   50%
polar/discount/service.py DiscountService.get_by_code_and_product   17% 6 5 0   0% 4 0   10%
polar/discount/service.py DiscountService.get_by_stripe_coupon_id   0% 3 3 0   100% 0 0   0%
polar/discount/service.py DiscountService.is_redeemable_discount   0% 10 10 0   0% 6 0   0%
polar/discount/service.py DiscountService.redeem_discount   0% 8 8 0   0% 2 0   0%
polar/discount/service.py DiscountService.remove_checkout_redemption   0% 2 2 0   100% 0 0   0%
polar/discount/service.py DiscountService._get_readable_discount_statement   71% 7 2 0   25% 4 1   55%
polar/discount/service.py (no function)   100% 42 0 0   50% 2 1   98%
polar/discount/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/email/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/email/react.py render_email_template   80% 5 1 0   50% 2 1   71%
polar/email/react.py (no function)   86% 7 1 0   50% 2 1   78%
polar/email/schemas.py (no function)   98% 115 2 0   50% 10 5   94%
polar/email/sender.py to_ascii_email   0% 2 2 0   100% 0 0   0%
polar/email/sender.py SendEmailError.__init__   0% 1 1 0   100% 0 0   0%
polar/email/sender.py EmailSender.send   0% 1 1 0   100% 0 0   0%
polar/email/sender.py LoggingEmailSender.send   0% 1 1 0   100% 0 0   0%
polar/email/sender.py ResendEmailSender.__init__   0% 1 1 0   100% 0 0   0%
polar/email/sender.py ResendEmailSender.send   0% 12 12 0   0% 2 0   0%
polar/email/sender.py enqueue_email   100% 1 0 0   100% 0 0   100%
polar/email/sender.py (no function)   97% 35 1 0   50% 4 2   92%
polar/email/tasks.py email_send   0% 1 1 0   100% 0 0   0%
polar/email/tasks.py (no function)   100% 4 0 0   100% 0 0   100%
polar/email_update/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/email_update/endpoints.py request_email_update   100% 2 0 0   100% 0 0   100%
polar/email_update/endpoints.py verify_email_update   50% 8 4 0   100% 0 0   50%
polar/email_update/endpoints.py (no function)   100% 19 0 0   100% 0 0   100%
polar/email_update/schemas.py EmailUpdateRequest.validate_return_to   100% 1 0 0   100% 0 0   100%
polar/email_update/schemas.py (no function)   100% 9 0 0   100% 0 0   100%
polar/email_update/service.py InvalidEmailUpdate.__init__   100% 1 0 0   100% 0 0   100%
polar/email_update/service.py EmailUpdateService.request_email_update   100% 10 0 0   100% 2 0   100%
polar/email_update/service.py EmailUpdateService.send_email   100% 6 0 0   100% 0 0   100%
polar/email_update/service.py EmailUpdateService.verify   44% 9 5 0   50% 2 1   45%
polar/email_update/service.py EmailUpdateService._get_email_update_record_by_token_hash   100% 3 0 0   100% 0 0   100%
polar/email_update/service.py EmailUpdateService.delete_expired_record   0% 3 3 0   100% 0 0   0%
polar/email_update/service.py (no function)   100% 29 0 0   50% 2 1   97%
polar/email_update/tasks.py email_update_delete_expired_record   0% 2 2 0   100% 0 0   0%
polar/email_update/tasks.py (no function)   100% 7 0 0   100% 0 0   100%
polar/enums.py AccountType.get_display_name   0% 1 1 0   100% 0 0   0%
polar/enums.py SubscriptionRecurringInterval.as_literal   0% 1 1 0   100% 0 0   0%
polar/enums.py SubscriptionRecurringInterval.get_next_period   0% 9 9 0   0% 8 0   0%
polar/enums.py SubscriptionProrationBehavior.to_stripe   0% 5 5 0   0% 4 0   0%
polar/enums.py (no function)   100% 41 0 0   100% 0 0   100%
polar/event/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/event/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/event/endpoints.py list   90% 10 1 0   75% 4 1   86%
polar/event/endpoints.py list_statistics_timeseries   91% 11 1 0   83% 6 1   88%
polar/event/endpoints.py list_names   100% 2 0 0   100% 0 0   100%
polar/event/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/event/endpoints.py ingest   100% 1 0 0   100% 0 0   100%
polar/event/endpoints.py (no function)   100% 37 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.get_all_by_name   0% 2 2 0   100% 0 0   0%
polar/event/repository.py EventRepository.get_all_by_organization   0% 2 2 0   100% 0 0   0%
polar/event/repository.py EventRepository.insert_batch   9% 23 21 0   7% 14 1   8%
polar/event/repository.py EventRepository.get_latest_meter_reset   0% 2 2 0   100% 0 0   0%
polar/event/repository.py EventRepository.get_event_names_statement   100% 1 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/event/repository.py EventRepository.get_customer_id_filter_clause   100% 1 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.get_external_customer_id_filter_clause   100% 1 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.get_meter_clause   100% 1 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.get_meter_system_clause   0% 1 1 0   100% 0 0   0%
polar/event/repository.py EventRepository.get_meter_statement   100% 1 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.get_by_pending_entries_statement   0% 1 1 0   100% 0 0   0%
polar/event/repository.py EventRepository.get_by_pending_entries_for_meter_statement   0% 1 1 0   100% 0 0   0%
polar/event/repository.py EventRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/event/repository.py EventRepository.list_with_closure_table   36% 50 32 0   15% 20 3   30%
polar/event/repository.py EventRepository.get_hierarchy_stats   100% 64 0 0   88% 32 4   96%
polar/event/repository.py (no function)   100% 33 0 0   100% 0 0   100%
polar/event/schemas.py default_timestamp_factory   100% 1 0 0   100% 0 0   100%
polar/event/schemas.py is_past_timestamp   100% 4 0 0   100% 2 0   100%
polar/event/schemas.py metadata_default_factory   100% 1 0 0   100% 0 0   100%
polar/event/schemas.py (no function)   100% 134 0 0   100% 0 0   100%
polar/event/service.py EventIngestValidationError.__init__   100% 2 0 0   100% 0 0   100%
polar/event/service.py _topological_sort_events   77% 30 7 0   77% 22 3   77%
polar/event/service.py EventService._build_filtered_statement   94% 36 2 0   83% 30 5   89%
polar/event/service.py EventService.list   100% 7 0 0   100% 4 0   100%
polar/event/service.py EventService.get   100% 3 0 0   100% 0 0   100%
polar/event/service.py EventService.list_statistics_timeseries   75% 36 9 0   50% 16 2   67%
polar/event/service.py EventService.list_names   93% 30 2 0   86% 22 3   90%
polar/event/service.py EventService.ingest   53% 60 28 0   43% 28 0   50%
polar/event/service.py EventService.create_event   0% 5 5 0   100% 0 0   0%
polar/event/service.py EventService.populate_event_closures_batch   0% 24 24 0   0% 14 0   0%
polar/event/service.py EventService.ingested   0% 10 10 0   0% 2 0   0%
polar/event/service.py EventService._get_organization_validation_function   75% 8 2 0   50% 2 1   70%
polar/event/service.py EventService._get_organization_validation_function._validate_organization_id_by_organization   0% 3 3 0   0% 2 0   0%
polar/event/service.py EventService._get_organization_validation_function._validate_organization_id_by_user   80% 5 1 0   75% 4 1   78%
polar/event/service.py EventService._get_customer_validation_function   88% 8 1 0   50% 2 1   80%
polar/event/service.py EventService._get_customer_validation_function._validate_customer_id   0% 3 3 0   0% 2 0   0%
polar/event/service.py EventService._resolve_parent   0% 14 14 0   0% 6 0   0%
polar/event/service.py (no function)   100% 46 0 0   50% 2 1   98%
polar/event/sorting.py (no function)   100% 21 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   100% 0 0 0   100% 0 0   100%
polar/event/system.py build_system_event   0% 1 1 0   100% 0 0   0%
polar/event/system.py (no function)   69% 153 48 0   0% 64 64   48%
polar/event/tasks.py event_ingested   0% 2 2 0   100% 0 0   0%
polar/event/tasks.py (no function)   100% 6 0 0   100% 0 0   100%
polar/event_type/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
polar/event_type/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/event_type/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/event_type/endpoints.py update   60% 5 2 0   50% 2 1   57%
polar/event_type/endpoints.py (no function)   100% 18 0 0   100% 0 0   100%
polar/event_type/repository.py EventTypeRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/event_type/repository.py EventTypeRepository.get_event_types_with_stats_statement   100% 1 0 0   100% 0 0   100%
polar/event_type/repository.py EventTypeRepository.get_by_name_and_organization   0% 3 3 0   100% 0 0   0%
polar/event_type/repository.py EventTypeRepository.get_or_create   0% 7 7 0   0% 2 0   0%
polar/event_type/repository.py (no function)   100% 13 0 0   100% 0 0   100%
polar/event_type/schemas.py EventTypeUpdate.strip_and_validate_label   75% 4 1 0   50% 2 1   67%
polar/event_type/schemas.py EventTypeUpdate.strip_and_validate_label_property_selector   80% 5 1 0   75% 4 1   78%
polar/event_type/schemas.py (no function)   100% 26 0 0   100% 0 0   100%
polar/event_type/service.py EventTypeService.get   100% 3 0 0   100% 0 0   100%
polar/event_type/service.py EventTypeService.list_with_stats   88% 40 5 0   83% 30 3   86%
polar/event_type/service.py EventTypeService.update   0% 4 4 0   100% 0 0   0%
polar/event_type/service.py (no function)   100% 20 0 0   100% 0 0   100%
polar/event_type/sorting.py (no function)   100% 11 0 0   100% 0 0   100%
polar/eventstream/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/eventstream/endpoints.py _uvicorn_should_exit   0% 13 13 0   0% 10 0   0%
polar/eventstream/endpoints.py subscribe   0% 17 17 0   0% 6 0   0%
polar/eventstream/endpoints.py user_stream   0% 2 2 0   100% 0 0   0%
polar/eventstream/endpoints.py org_stream   0% 5 5 0   0% 2 0   0%
polar/eventstream/endpoints.py (no function)   100% 24 0 0   100% 0 0   100%
polar/eventstream/service.py Receivers.generate_channel_name   100% 1 0 0   100% 0 0   100%
polar/eventstream/service.py Receivers.get_channels   80% 10 2 0   75% 8 2   78%
polar/eventstream/service.py send_event   0% 3 3 0   0% 2 0   0%
polar/eventstream/service.py publish   100% 4 0 0   100% 0 0   100%
polar/eventstream/service.py publish_members   0% 6 6 0   0% 2 0   0%
polar/eventstream/service.py (no function)   100% 22 0 0   100% 0 0   100%
polar/eventstream/tasks.py eventstream_publish   0% 1 1 0   100% 0 0   0%
polar/eventstream/tasks.py (no function)   100% 4 0 0   100% 0 0   100%
polar/exception_handlers.py polar_exception_handler   100% 1 0 0   100% 0 0   100%
polar/exception_handlers.py request_validation_exception_handler   100% 1 0 0   100% 0 0   100%
polar/exception_handlers.py polar_redirection_exception_handler   100% 3 0 0   100% 0 0   100%
polar/exception_handlers.py polar_not_modified_handler   0% 1 1 0   100% 0 0   0%
polar/exception_handlers.py add_exception_handlers   100% 5 0 0   100% 0 0   100%
polar/exception_handlers.py (no function)   100% 12 0 0   100% 0 0   100%
polar/exceptions.py PolarError.__init__   100% 4 0 0   100% 0 0   100%
polar/exceptions.py PolarError.schema   100% 6 0 0   100% 2 0   100%
polar/exceptions.py PolarTaskError.__init__   0% 1 1 0   100% 0 0   0%
polar/exceptions.py PolarRedirectionError.__init__   100% 2 0 0   100% 0 0   100%
polar/exceptions.py BadRequest.__init__   100% 1 0 0   100% 0 0   100%
polar/exceptions.py NotPermitted.__init__   100% 1 0 0   100% 0 0   100%
polar/exceptions.py Unauthorized.__init__   100% 1 0 0   100% 0 0   100%
polar/exceptions.py InternalServerError.__init__   0% 1 1 0   100% 0 0   0%
polar/exceptions.py ResourceNotFound.__init__   100% 1 0 0   100% 0 0   100%
polar/exceptions.py ResourceNotModified.__init__   0% 1 1 0   100% 0 0   0%
polar/exceptions.py ResourceUnavailable.__init__   0% 1 1 0   100% 0 0   0%
polar/exceptions.py ResourceAlreadyExists.__init__   0% 1 1 0   100% 0 0   0%
polar/exceptions.py PaymentNotReady.__init__   100% 1 0 0   100% 0 0   100%
polar/exceptions.py PolarRequestValidationError.__init__   100% 1 0 0   100% 0 0   100%
polar/exceptions.py PolarRequestValidationError.errors   100% 5 0 0   100% 2 0   100%
polar/exceptions.py (no function)   100% 37 0 0   100% 0 0   100%
polar/external_event/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/external_event/repository.py ExternalEventRepository.get_by_source_and_id   0% 2 2 0   100% 0 0   0%
polar/external_event/repository.py ExternalEventRepository.get_by_source_and_external_id   0% 2 2 0   100% 0 0   0%
polar/external_event/repository.py ExternalEventRepository.get_all_unhandled   0% 4 4 0   0% 2 0   0%
polar/external_event/repository.py ExternalEventRepository.get_sorting_clause   0% 9 9 0   0% 8 0   0%
polar/external_event/repository.py (no function)   100% 12 0 0   100% 0 0   100%
polar/external_event/service.py ExternalEventDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/external_event/service.py ExternalEventAlreadyHandled.__init__   0% 3 3 0   100% 0 0   0%
polar/external_event/service.py ExternalEventService.enqueue   0% 7 7 0   0% 2 0   0%
polar/external_event/service.py ExternalEventService.resend   0% 3 3 0   0% 2 0   0%
polar/external_event/service.py ExternalEventService.handle   0% 11 11 0   0% 4 0   0%
polar/external_event/service.py ExternalEventService.handle_stripe   0% 2 2 0   100% 0 0   0%
polar/external_event/service.py (no function)   100% 24 0 0   50% 2 1   96%
polar/external_event/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/file/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/file/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/file/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/file/endpoints.py create   100% 3 0 0   100% 0 0   100%
polar/file/endpoints.py uploaded   75% 4 1 0   50% 2 1   67%
polar/file/endpoints.py update   75% 4 1 0   50% 2 1   67%
polar/file/endpoints.py delete   75% 4 1 0   50% 2 1   67%
polar/file/endpoints.py (no function)   100% 28 0 0   100% 0 0   100%
polar/file/repository.py FileRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/file/repository.py FileRepository.get_all_by_organization   0% 5 5 0   0% 2 0   0%
polar/file/repository.py FileRepository.get_sorting_clause   0% 5 5 0   0% 4 0   0%
polar/file/repository.py (no function)   100% 14 0 0   100% 0 0   100%
polar/file/s3.py _get_s3_service   100% 1 0 0   100% 0 0   100%
polar/file/s3.py (no function)   100% 5 0 0   100% 0 0   100%
polar/file/schemas.py PublicFileReadBase.public_url   0% 1 1 0   100% 0 0   0%
polar/file/schemas.py FileDownload.from_presigned   0% 4 4 0   0% 2 0   0%
polar/file/schemas.py (no function)   100% 37 0 0   50% 2 1   97%
polar/file/service.py FileService.list   100% 7 0 0   75% 4 1   91%
polar/file/service.py FileService.get   100% 3 0 0   100% 0 0   100%
polar/file/service.py FileService.patch   0% 12 12 0   0% 6 0   0%
polar/file/service.py FileService.generate_presigned_upload   29% 7 5 0   100% 0 0   29%
polar/file/service.py FileService.complete_upload   0% 14 14 0   0% 6 0   0%
polar/file/service.py FileService.generate_download_url   0% 2 2 0   100% 0 0   0%
polar/file/service.py FileService.generate_downloadable_schema   0% 2 2 0   100% 0 0   0%
polar/file/service.py FileService.delete   0% 9 9 0   100% 0 0   0%
polar/file/service.py FileService.get_selectable_product_media_file   100% 3 0 0   100% 0 0   100%
polar/file/service.py (no function)   100% 26 0 0   50% 2 1   96%
polar/file/sorting.py (no function)   100% 4 0 0   100% 0 0   100%
polar/health/endpoints.py healthz   56% 9 4 0   100% 0 0   56%
polar/health/endpoints.py (no function)   100% 10 0 0   100% 0 0   100%
polar/held_balance/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/held_balance/service.py HeldBalanceService.create   0% 3 3 0   100% 0 0   0%
polar/held_balance/service.py HeldBalanceService.release_account   0% 14 14 0   0% 4 0   0%
polar/held_balance/service.py (no function)   100% 20 0 0   50% 2 1   95%
polar/integrations/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/apple/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/apple/endpoints.py apple_authorize   91% 11 1 0   50% 4 2   80%
polar/integrations/apple/endpoints.py apple_callback   20% 35 28 0   17% 12 0   19%
polar/integrations/apple/endpoints.py (no function)   100% 27 0 0   50% 2 1   97%
polar/integrations/apple/service.py get_apple_oauth_client   100% 5 0 0   100% 2 0   100%
polar/integrations/apple/service.py CannotLinkUnverifiedEmailError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/apple/service.py AccountLinkedToAnotherUserError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/apple/service.py AppleService.get_updated_or_create   0% 24 24 0   0% 6 0   0%
polar/integrations/apple/service.py AppleService.link_user   0% 14 14 0   0% 4 0   0%
polar/integrations/apple/service.py AppleService._decode_profile   0% 2 2 0   100% 0 0   0%
polar/integrations/apple/service.py (no function)   100% 30 0 0   50% 2 1   97%
polar/integrations/aws/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/aws/s3/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
polar/integrations/aws/s3/client.py get_client   100% 1 0 0   100% 0 0   100%
polar/integrations/aws/s3/client.py (no function)   89% 9 1 0   50% 2 1   82%
polar/integrations/aws/s3/exceptions.py (no function)   100% 2 0 0   100% 2 0   100%
polar/integrations/aws/s3/schemas.py get_downloadable_content_disposition   0% 1 1 0   100% 0 0   0%
polar/integrations/aws/s3/schemas.py S3FileCreatePart.get_boto3_arguments   0% 3 3 0   0% 2 0   0%
polar/integrations/aws/s3/schemas.py S3File.size_readable   100% 1 0 0   100% 0 0   100%
polar/integrations/aws/s3/schemas.py S3File.to_metadata   67% 6 2 0   50% 4 2   60%
polar/integrations/aws/s3/schemas.py S3File.from_head   0% 2 2 0   100% 0 0   0%
polar/integrations/aws/s3/schemas.py S3FileUploadPart.generate_headers   0% 3 3 0   0% 2 0   0%
polar/integrations/aws/s3/schemas.py S3FileUploadCompleted.generate_base64_multipart_checksum   0% 3 3 0   100% 0 0   0%
polar/integrations/aws/s3/schemas.py S3FileUploadCompleted.get_boto3_arguments   0% 14 14 0   0% 6 0   0%
polar/integrations/aws/s3/schemas.py (no function)   100% 38 0 0   100% 0 0   100%
polar/integrations/aws/s3/service.py S3Service.__init__   100% 3 0 0   100% 0 0   100%
polar/integrations/aws/s3/service.py S3Service.upload   0% 8 8 0   0% 4 0   0%
polar/integrations/aws/s3/service.py S3Service.create_multipart_upload   53% 17 8 0   50% 6 1   52%
polar/integrations/aws/s3/service.py S3Service.generate_presigned_upload_parts   0% 8 8 0   0% 2 0   0%
polar/integrations/aws/s3/service.py S3Service.get_object_or_raise   0% 5 5 0   100% 0 0   0%
polar/integrations/aws/s3/service.py S3Service.get_head_or_raise   0% 5 5 0   100% 0 0   0%
polar/integrations/aws/s3/service.py S3Service.complete_multipart_upload   0% 8 8 0   0% 2 0   0%
polar/integrations/aws/s3/service.py S3Service.generate_presigned_download_url   0% 5 5 0   100% 0 0   0%
polar/integrations/aws/s3/service.py S3Service.get_public_url   0% 2 2 0   100% 0 0   0%
polar/integrations/aws/s3/service.py S3Service.delete_file   0% 2 2 0   100% 0 0   0%
polar/integrations/aws/s3/service.py (no function)   92% 25 2 0   50% 2 1   89%
polar/integrations/discord/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/discord/client.py DiscordClient.__init__   100% 1 0 0   100% 0 0   100%
polar/integrations/discord/client.py DiscordClient.get_me   0% 3 3 0   100% 0 0   0%
polar/integrations/discord/client.py DiscordClient.get_guild   0% 3 3 0   100% 0 0   0%
polar/integrations/discord/client.py DiscordClient.add_member   0% 13 13 0   0% 4 0   0%
polar/integrations/discord/client.py DiscordClient.add_member_role   0% 5 5 0   100% 0 0   0%
polar/integrations/discord/client.py DiscordClient.remove_member_role   0% 5 5 0   100% 0 0   0%
polar/integrations/discord/client.py DiscordClient.remove_member   0% 5 5 0   100% 0 0   0%
polar/integrations/discord/client.py DiscordClient._handle_response   0% 2 2 0   100% 0 0   0%
polar/integrations/discord/client.py (no function)   100% 17 0 0   100% 0 0   100%
polar/integrations/discord/endpoints.py get_decoded_token_state   80% 5 1 0   100% 0 0   80%
polar/integrations/discord/endpoints.py discord_bot_authorize   100% 4 0 0   100% 0 0   100%
polar/integrations/discord/endpoints.py discord_bot_callback   6% 18 17 0   0% 4 0   5%
polar/integrations/discord/endpoints.py discord_guild_lookup   67% 6 2 0   100% 0 0   67%
polar/integrations/discord/endpoints.py (no function)   100% 25 0 0   100% 0 0   100%
polar/integrations/discord/oauth.py (no function)   100% 4 0 0   100% 0 0   100%
polar/integrations/discord/schemas.py DiscordGuildRole.int_color_to_hex   0% 3 3 0   0% 2 0   0%
polar/integrations/discord/schemas.py (no function)   100% 9 0 0   100% 0 0   100%
polar/integrations/discord/service.py DiscordAccountNotConnected.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordExpiredAccessToken.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordCustomerAccountDoesNotExist.__init__   0% 4 4 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordCustomerExpiredAccessToken.__init__   0% 4 4 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordBotService.get_guild   0% 10 10 0   0% 8 0   0%
polar/integrations/discord/service.py DiscordBotService.add_member   0% 1 1 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordBotService.remove_member_role   0% 1 1 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordBotService.remove_member   0% 1 1 0   100% 0 0   0%
polar/integrations/discord/service.py DiscordBotService.is_bot_role_above_role   0% 8 8 0   0% 8 0   0%
polar/integrations/discord/service.py (no function)   100% 24 0 0   50% 2 1   96%
polar/integrations/discord/webhook.py get_branded_discord_embed   100% 1 0 0   100% 0 0   100%
polar/integrations/discord/webhook.py (no function)   100% 14 0 0   100% 0 0   100%
polar/integrations/github/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/github/client.py ensure_expected_response   0% 5 5 0   0% 2 0   0%
polar/integrations/github/client.py get_client   0% 1 1 0   100% 0 0   0%
polar/integrations/github/client.py get_app_client   0% 1 1 0   100% 0 0   0%
polar/integrations/github/client.py get_app_installation_client   0% 3 3 0   0% 2 0   0%
polar/integrations/github/client.py (no function)   100% 17 0 0   50% 10 5   81%
polar/integrations/github/endpoints.py NotPermittedOrganizationBillingPlan.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/github/endpoints.py github_authorize   91% 11 1 0   83% 6 1   88%
polar/integrations/github/endpoints.py github_callback   0% 28 28 0   0% 10 0   0%
polar/integrations/github/endpoints.py secret_scanning   0% 5 5 0   100% 0 0   0%
polar/integrations/github/endpoints.py (no function)   100% 34 0 0   50% 2 1   97%
polar/integrations/github/service/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
polar/integrations/github/service/secret_scanning.py _normalize_token_type   0% 3 3 0   0% 2 0   0%
polar/integrations/github/service/secret_scanning.py RevokedLeakedProtocol.revoke_leaked   100% 0 0 0   100% 0 0   100%
polar/integrations/github/service/secret_scanning.py PublicKeyNotFound.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/github/service/secret_scanning.py InvalidPublicKey.__init__   0% 4 4 0   100% 0 0   0%
polar/integrations/github/service/secret_scanning.py InvalidSignature.__init__   0% 5 5 0   100% 0 0   0%
polar/integrations/github/service/secret_scanning.py GitHubSecretScanningService.verify_signature   0% 10 10 0   0% 2 0   0%
polar/integrations/github/service/secret_scanning.py GitHubSecretScanningService.validate_payload   0% 4 4 0   100% 0 0   0%
polar/integrations/github/service/secret_scanning.py GitHubSecretScanningService.handle_alert   0% 5 5 0   0% 2 0   0%
polar/integrations/github/service/secret_scanning.py GitHubSecretScanningService._check_token   0% 3 3 0   100% 0 0   0%
polar/integrations/github/service/secret_scanning.py GitHubSecretScanningService._get_public_key   0% 7 7 0   0% 4 0   0%
polar/integrations/github/service/secret_scanning.py (no function)   100% 45 0 0   50% 4 2   96%
polar/integrations/github/service/user.py NoPrimaryEmailError.__init__   0% 1 1 0   100% 0 0   0%
polar/integrations/github/service/user.py CannotLinkUnverifiedEmailError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/github/service/user.py AccountLinkedToAnotherUserError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/github/service/user.py GithubUserService.get_updated_or_create   0% 26 26 0   0% 6 0   0%
polar/integrations/github/service/user.py GithubUserService.link_user   0% 19 19 0   0% 4 0   0%
polar/integrations/github/service/user.py GithubUserService.fetch_authenticated_user_primary_email   0% 11 11 0   0% 4 0   0%
polar/integrations/github/service/user.py GithubUserService._fetch_authenticated_user   0% 3 3 0   100% 0 0   0%
polar/integrations/github/service/user.py (no function)   97% 31 1 0   50% 4 2   91%
polar/integrations/github_repository_benefit/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/endpoints.py get_decoded_token_state   0% 8 8 0   0% 2 0   0%
polar/integrations/github_repository_benefit/endpoints.py NotPermittedOrganizationBillingPlan.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/github_repository_benefit/endpoints.py user_authorize   100% 4 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/endpoints.py user_callback   0% 8 8 0   100% 0 0   0%
polar/integrations/github_repository_benefit/endpoints.py user_repositories   20% 5 4 0   100% 0 0   20%
polar/integrations/github_repository_benefit/endpoints.py installation_install   100% 1 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/endpoints.py installation_callback   100% 2 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/endpoints.py (no function)   100% 33 0 0   50% 2 1   97%
polar/integrations/github_repository_benefit/schemas.py (no function)   100% 4 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitAccountNotConnected.__init__   100% 3 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitExpiredAccessToken.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryRefreshTokenError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitNoAccess.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.create_oauth_account   0% 17 17 0   100% 0 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.update_oauth_account   0% 14 14 0   0% 2 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.get_oauth_account   18% 17 14 0   17% 6 1   17%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.list_user_installations   0% 6 6 0   0% 2 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.list_user_installations.map_installations_func   0% 1 1 0   100% 0 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.list_orgs_with_billing_plans   0% 5 5 0   0% 4 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.get_billing_plan   0% 22 22 0   0% 12 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.list_repositories   0% 12 12 0   0% 8 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.list_repositories.map_repos_func   0% 1 1 0   100% 0 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.get_repository_installation   0% 5 5 0   0% 2 0   0%
polar/integrations/github_repository_benefit/service.py GitHubRepositoryBenefitUserService.user_has_access_to_repository   0% 8 8 0   0% 4 0   0%
polar/integrations/github_repository_benefit/service.py (no function)   98% 41 1 0   50% 4 2   93%
polar/integrations/github_repository_benefit/types.py (no function)   100% 2 0 0   100% 0 0   100%
polar/integrations/google/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/google/endpoints.py google_authorize   90% 10 1 0   75% 4 1   86%
polar/integrations/google/endpoints.py google_callback   0% 28 28 0   0% 10 0   0%
polar/integrations/google/endpoints.py (no function)   100% 28 0 0   50% 2 1   97%
polar/integrations/google/service.py CannotLinkUnverifiedEmailError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/google/service.py AccountLinkedToAnotherUserError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/google/service.py GoogleService.get_updated_or_create   0% 24 24 0   0% 6 0   0%
polar/integrations/google/service.py GoogleService.link_user   0% 14 14 0   0% 4 0   0%
polar/integrations/google/service.py GoogleService._get_profile   0% 5 5 0   100% 0 0   0%
polar/integrations/google/service.py (no function)   100% 28 0 0   50% 2 1   97%
polar/integrations/loops/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/loops/client.py LoopsClient.__init__   100% 1 0 0   100% 0 0   100%
polar/integrations/loops/client.py LoopsClient.update_contact   0% 3 3 0   100% 0 0   0%
polar/integrations/loops/client.py LoopsClient.send_event   0% 3 3 0   100% 0 0   0%
polar/integrations/loops/client.py LoopsClient._handle_response   0% 2 2 0   100% 0 0   0%
polar/integrations/loops/client.py (no function)   100% 15 0 0   100% 0 0   100%
polar/integrations/loops/service.py Loops.user_organization_added   100% 2 0 0   100% 0 0   100%
polar/integrations/loops/service.py Loops.user_created_product   0% 1 1 0   100% 0 0   0%
polar/integrations/loops/service.py Loops.user_installed_github_organization   0% 1 1 0   100% 0 0   0%
polar/integrations/loops/service.py Loops.user_badged_github_issue   0% 1 1 0   100% 0 0   0%
polar/integrations/loops/service.py Loops.user_signup   0% 3 3 0   0% 2 0   0%
polar/integrations/loops/service.py Loops.user_update   80% 5 1 0   50% 2 1   71%
polar/integrations/loops/service.py Loops.user_created_personal_access_token   75% 4 1 0   50% 2 1   67%
polar/integrations/loops/service.py Loops.user_created_account   0% 4 4 0   0% 2 0   0%
polar/integrations/loops/service.py Loops.is_creator   75% 4 1 0   50% 2 1   67%
polar/integrations/loops/service.py Loops.get_updated_user_properties   100% 4 0 0   100% 0 0   100%
polar/integrations/loops/service.py Loops.enqueue_event   100% 2 0 0   100% 0 0   100%
polar/integrations/loops/service.py (no function)   100% 21 0 0   100% 0 0   100%
polar/integrations/loops/tasks.py loops_update_contact   0% 1 1 0   100% 0 0   0%
polar/integrations/loops/tasks.py loops_send_event   0% 1 1 0   100% 0 0   0%
polar/integrations/loops/tasks.py (no function)   100% 8 0 0   100% 0 0   100%
polar/integrations/open_collective/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/open_collective/service.py OpenCollectiveCollective.is_eligible   0% 1 1 0   100% 0 0   0%
polar/integrations/open_collective/service.py CollectiveNotFoundError.__init__   0% 1 1 0   100% 0 0   0%
polar/integrations/open_collective/service.py OpenCollectiveService.__init__   100% 1 0 0   100% 0 0   100%
polar/integrations/open_collective/service.py OpenCollectiveService.create_dashboard_link   0% 1 1 0   100% 0 0   0%
polar/integrations/open_collective/service.py OpenCollectiveService.get_collective   0% 14 14 0   0% 2 0   0%
polar/integrations/open_collective/service.py OpenCollectiveService._get_graphql_client   0% 5 5 0   0% 2 0   0%
polar/integrations/open_collective/service.py (no function)   100% 25 0 0   100% 0 0   100%
polar/integrations/plain/endpoints.py get_cards   0% 8 8 0   0% 4 0   0%
polar/integrations/plain/endpoints.py (no function)   100% 11 0 0   100% 0 0   100%
polar/integrations/plain/schemas.py (no function)   100% 14 0 0   100% 0 0   100%
polar/integrations/plain/service.py AccountAdminDoesNotExistError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/plain/service.py AccountReviewThreadCreationError.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/plain/service.py NoUserFoundError.__init__   0% 2 2 0   100% 0 0   0%
polar/integrations/plain/service.py _card_getter_task   0% 2 2 0   100% 0 0   0%
polar/integrations/plain/service.py PlainService.get_cards   0% 14 14 0   0% 10 0   0%
polar/integrations/plain/service.py PlainService.create_organization_review_thread   0% 23 23 0   0% 14 0   0%
polar/integrations/plain/service.py PlainService.create_appeal_review_thread   14% 14 12 0   12% 8 1   14%
polar/integrations/plain/service.py PlainService.create_organization_deletion_thread   0% 10 10 0   0% 6 0   0%
polar/integrations/plain/service.py PlainService._get_user_card   0% 7 7 0   0% 2 0   0%
polar/integrations/plain/service.py PlainService._get_organization_card   0% 12 12 0   0% 6 0   0%
polar/integrations/plain/service.py PlainService._get_organization_component_container   0% 1 1 0   100% 0 0   0%
polar/integrations/plain/service.py PlainService.get_customer_card   0% 13 13 0   0% 6 0   0%
polar/integrations/plain/service.py PlainService.get_customer_card._get_customer_container   0% 4 4 0   0% 2 0   0%
polar/integrations/plain/service.py PlainService._get_order_card   0% 13 13 0   0% 6 0   0%
polar/integrations/plain/service.py PlainService._get_order_card._get_order_container   0% 2 2 0   100% 0 0   0%
polar/integrations/plain/service.py PlainService._get_snippets_card   0% 14 14 0   0% 6 0   0%
polar/integrations/plain/service.py PlainService._get_snippets_card._get_snippet_container   0% 7 7 0   0% 4 0   0%
polar/integrations/plain/service.py PlainService._get_customer_identifier   0% 5 5 0   0% 4 0   0%
polar/integrations/plain/service.py PlainService.check_thread_exists   0% 19 19 0   0% 8 0   0%
polar/integrations/plain/service.py PlainService._get_plain_client   0% 3 3 0   100% 0 0   0%
polar/integrations/plain/service.py PlainService.create_manual_organization_thread   0% 12 12 0   0% 8 0   0%
polar/integrations/plain/service.py (no function)   100% 49 0 0   50% 2 1   98%
polar/integrations/stripe/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/integrations/stripe/endpoints.py enqueue   0% 3 3 0   100% 0 0   0%
polar/integrations/stripe/endpoints.py stripe_connect_refresh   0% 3 3 0   0% 2 0   0%
polar/integrations/stripe/endpoints.py WebhookEventGetter.__init__   100% 1 0 0   100% 0 0   100%
polar/integrations/stripe/endpoints.py WebhookEventGetter.__call__   0% 8 8 0   100% 0 0   0%
polar/integrations/stripe/endpoints.py webhook   0% 2 2 0   0% 2 0   0%
polar/integrations/stripe/endpoints.py webhook_connect   0% 2 2 0   0% 2 0   0%
polar/integrations/stripe/endpoints.py (no function)   100% 24 0 0   100% 0 0   100%
polar/integrations/stripe/payment.py OrderDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/stripe/payment.py OutdatedCheckoutIntent.__init__   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/payment.py resolve_checkout   0% 6 6 0   0% 4 0   0%
polar/integrations/stripe/payment.py resolve_wallet   0% 14 14 0   0% 8 0   0%
polar/integrations/stripe/payment.py resolve_order   0% 15 15 0   0% 10 0   0%
polar/integrations/stripe/payment.py handle_success   0% 20 20 0   0% 14 0   0%
polar/integrations/stripe/payment.py handle_failure   0% 12 12 0   0% 8 0   0%
polar/integrations/stripe/payment.py (no function)   100% 25 0 0   100% 0 0   100%
polar/integrations/stripe/schemas.py (no function)   100% 22 0 0   100% 0 0   100%
polar/integrations/stripe/service.py MissingOrganizationBillingEmail.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/stripe/service.py MissingLatestInvoiceForOutofBandSubscription.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/stripe/service.py MissingPaymentMethod.__init__   0% 3 3 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.retrieve_intent   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_account   86% 7 1 0   75% 4 1   82%
polar/integrations/stripe/service.py StripeService.update_account   0% 5 5 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.account_exists   0% 5 5 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.delete_account   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.retrieve_balance   0% 6 6 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.create_account_link   0% 3 3 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_login_link   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.transfer   0% 7 7 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.get_transfer   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.update_transfer   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_customer   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_product   100% 5 0 0   100% 2 0   100%
polar/integrations/stripe/service.py StripeService.create_price_for_product   0% 5 5 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.update_product   100% 1 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.archive_product   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.unarchive_product   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.archive_price   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_ad_hoc_custom_price   0% 9 9 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.create_placeholder_price   0% 7 7 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.update_subscription_price   0% 20 20 0   0% 10 0   0%
polar/integrations/stripe/service.py StripeService.update_subscription_discount   0% 7 7 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.uncancel_subscription   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.cancel_subscription   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.revoke_subscription   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService._generate_subscription_cancellation_details   0% 6 6 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.update_invoice   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_balance_transaction   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_invoice   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.list_balance_transactions   0% 9 9 0   0% 6 0   0%
polar/integrations/stripe/service.py StripeService.create_refund   0% 5 5 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.get_charge   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_refund   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_dispute   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_payout   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_payment_intent   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_payment_intent   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_setup_intent   100% 2 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.get_setup_intent   100% 1 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.create_customer   0% 5 5 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.update_customer   23% 13 10 0   0% 6 0   16%
polar/integrations/stripe/service.py StripeService.create_customer_session   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_out_of_band_subscription   0% 11 11 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.update_out_of_band_subscription   0% 27 27 0   0% 16 0   0%
polar/integrations/stripe/service.py StripeService.set_automatically_charged_subscription   0% 4 4 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService._pay_out_of_band_subscription_invoice   0% 6 6 0   0% 4 0   0%
polar/integrations/stripe/service.py StripeService.create_out_of_band_invoice   0% 20 20 0   0% 10 0   0%
polar/integrations/stripe/service.py StripeService.create_invoice_item   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_tax_calculation   100% 1 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.get_tax_calculation   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_tax_transaction   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.revert_tax_transaction   100% 0 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.revert_tax_transaction   100% 0 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.revert_tax_transaction   0% 4 4 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.create_coupon   100% 2 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.update_coupon   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.delete_coupon   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.list_payment_methods   0% 3 3 0   0% 2 0   0%
polar/integrations/stripe/service.py StripeService.get_payment_method   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.delete_payment_method   0% 2 2 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.get_verification_session   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py StripeService.create_verification_session   100% 1 0 0   100% 0 0   100%
polar/integrations/stripe/service.py StripeService.get_tax_rate   0% 1 1 0   100% 0 0   0%
polar/integrations/stripe/service.py (no function)   98% 95 2 0   25% 8 6   92%
polar/integrations/stripe/tasks.py stripe_api_connection_error_retry   100% 2 0 0   100% 0 0   100%
polar/integrations/stripe/tasks.py stripe_api_connection_error_retry.wrapper   0% 5 5 0   100% 0 0   0%
polar/integrations/stripe/tasks.py account_updated   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/tasks.py payment_intent_succeeded   0% 16 16 0   0% 10 0   0%
polar/integrations/stripe/tasks.py payment_intent_payment_failed   0% 11 11 0   0% 2 0   0%
polar/integrations/stripe/tasks.py setup_intent_succeeded   0% 11 11 0   0% 2 0   0%
polar/integrations/stripe/tasks.py setup_intent_setup_failed   0% 9 9 0   0% 2 0   0%
polar/integrations/stripe/tasks.py charge_pending   0% 11 11 0   0% 2 0   0%
polar/integrations/stripe/tasks.py charge_failed   0% 9 9 0   0% 2 0   0%
polar/integrations/stripe/tasks.py charge_succeeded   0% 9 9 0   0% 2 0   0%
polar/integrations/stripe/tasks.py refund_created   0% 5 5 0   100% 0 0   0%
polar/integrations/stripe/tasks.py refund_updated   0% 5 5 0   100% 0 0   0%
polar/integrations/stripe/tasks.py refund_failed   0% 5 5 0   100% 0 0   0%
polar/integrations/stripe/tasks.py charge_dispute_closed   0% 7 7 0   100% 0 0   0%
polar/integrations/stripe/tasks.py customer_subscription_updated   0% 12 12 0   0% 2 0   0%
polar/integrations/stripe/tasks.py customer_subscription_deleted   0% 12 12 0   0% 2 0   0%
polar/integrations/stripe/tasks.py invoice_created   0% 12 12 0   0% 2 0   0%
polar/integrations/stripe/tasks.py invoice_paid   0% 10 10 0   0% 2 0   0%
polar/integrations/stripe/tasks.py payout_updated   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/tasks.py payout_paid   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/tasks.py identity_verification_session_verified   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/tasks.py identity_verification_session_processing   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/tasks.py identity_verification_session_requires_input   0% 4 4 0   100% 0 0   0%
polar/integrations/stripe/tasks.py (no function)   100% 94 0 0   50% 2 1   99%
polar/integrations/stripe/utils.py get_expandable_id   0% 5 5 0   0% 4 0   0%
polar/integrations/stripe/utils.py get_fingerprint   0% 3 3 0   0% 2 0   0%
polar/integrations/stripe/utils.py (no function)   100% 5 0 0   100% 0 0   100%
polar/invoice/generator.py format_currency   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py format_number   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py format_percent   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py format_date   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py InvoiceHeadingItem.display_value   0% 3 3 0   0% 2 0   0%
polar/invoice/generator.py Invoice.formatted_subtotal_amount   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py Invoice.formatted_discount_amount   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py Invoice.formatted_tax_amount   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py Invoice.formatted_total_amount   0% 2 2 0   100% 0 0   0%
polar/invoice/generator.py Invoice.formatted_applied_balance_amount   0% 3 3 0   0% 2 0   0%
polar/invoice/generator.py Invoice.formatted_due_amount   0% 4 4 0   0% 2 0   0%
polar/invoice/generator.py Invoice.tax_displayed   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py Invoice.tax_label   0% 12 12 0   0% 10 0   0%
polar/invoice/generator.py Invoice.heading_items   0% 1 1 0   100% 0 0   0%
polar/invoice/generator.py Invoice.from_order   0% 4 4 0   100% 0 0   0%
polar/invoice/generator.py InvoiceGenerator.__init__   0% 8 8 0   100% 0 0   0%
polar/invoice/generator.py InvoiceGenerator.cell_height   0% 2 2 0   100% 0 0   0%
polar/invoice/generator.py InvoiceGenerator.header   0% 5 5 0   0% 2 0   0%
polar/invoice/generator.py InvoiceGenerator.footer   0% 4 4 0   100% 0 0   0%
polar/invoice/generator.py InvoiceGenerator.generate   0% 83 83 0   0% 16 0   0%
polar/invoice/generator.py InvoiceGenerator.set_metadata   0% 4 4 0   100% 0 0   0%
polar/invoice/generator.py (no function)   100% 83 0 0   100% 0 0   100%
polar/invoice/service.py MissingAccountBillingDetails.__init__   0% 3 3 0   100% 0 0   0%
polar/invoice/service.py InvoiceService.create_order_invoice   0% 6 6 0   100% 0 0   0%
polar/invoice/service.py InvoiceService.get_order_invoice_url   0% 4 4 0   100% 0 0   0%
polar/invoice/service.py InvoiceService.create_payout_invoice   0% 25 25 0   0% 8 0   0%
polar/invoice/service.py InvoiceService.get_payout_invoice_url   0% 5 5 0   100% 0 0   0%
polar/invoice/service.py (no function)   100% 20 0 0   50% 2 1   95%
polar/kit/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/kit/address.py Address.validate_state   70% 10 3 0   70% 10 3   70%
polar/kit/address.py Address.to_dict   100% 1 0 0   100% 0 0   100%
polar/kit/address.py Address.get_unprefixed_state   0% 5 5 0   0% 4 0   0%
polar/kit/address.py Address.has_state   0% 1 1 0   100% 0 0   0%
polar/kit/address.py Address.has_address   0% 1 1 0   100% 0 0   0%
polar/kit/address.py Address.to_text   0% 23 23 0   0% 18 0   0%
polar/kit/address.py AddressType.process_bind_param   67% 3 1 0   50% 2 1   60%
polar/kit/address.py AddressType.process_result_value   100% 3 0 0   100% 2 0   100%
polar/kit/address.py (no function)   96% 106 4 0   50% 2 1   95%
polar/kit/anonymization.py anonymize_for_deletion   0% 3 3 0   100% 0 0   0%
polar/kit/anonymization.py anonymize_email_for_deletion   0% 2 2 0   100% 0 0   0%
polar/kit/anonymization.py (no function)   100% 3 0 0   100% 0 0   100%
polar/kit/cors.py CORSMatcher.__call__   100% 1 0 0   50% 2 1   67%
polar/kit/cors.py CORSConfig.get_middleware   100% 1 0 0   100% 0 0   100%
polar/kit/cors.py CORSMatcherMiddleware.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/cors.py CORSMatcherMiddleware.__call__   50% 18 9 0   38% 8 1   46%
polar/kit/cors.py CORSMatcherMiddleware._get_config_middleware   0% 4 4 0   0% 4 0   0%
polar/kit/cors.py (no function)   100% 22 0 0   100% 0 0   100%
polar/kit/crypto.py _crc32_to_base62   100% 7 0 0   100% 2 0   100%
polar/kit/crypto.py get_token_hash   100% 2 0 0   100% 0 0   100%
polar/kit/crypto.py generate_token   100% 4 0 0   100% 0 0   100%
polar/kit/crypto.py generate_token_hash_pair   100% 2 0 0   100% 0 0   100%
polar/kit/crypto.py (no function)   100% 9 0 0   100% 0 0   100%
polar/kit/csv.py get_iterable_from_binary_io   0% 2 2 0   0% 2 0   0%
polar/kit/csv.py get_emails_from_csv   0% 17 17 0   0% 6 0   0%
polar/kit/csv.py IterableCSVWriter.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/csv.py IterableCSVWriter.getrow   100% 2 0 0   100% 0 0   100%
polar/kit/csv.py IterableCSVWriter.write   100% 1 0 0   100% 0 0   100%
polar/kit/csv.py IterableCSVWriter.read   100% 1 0 0   100% 0 0   100%
polar/kit/csv.py (no function)   93% 14 1 0   50% 2 1   88%
polar/kit/db/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/kit/db/models/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
polar/kit/db/models/base.py TimestampedModel.set_modified_at   0% 1 1 0   100% 0 0   0%
polar/kit/db/models/base.py TimestampedModel.set_deleted_at   100% 1 0 0   100% 0 0   100%
polar/kit/db/models/base.py IDModel.__eq__   0% 1 1 0   100% 0 0   0%
polar/kit/db/models/base.py IDModel.__hash__   100% 1 0 0   100% 0 0   100%
polar/kit/db/models/base.py IDModel.__repr__   100% 5 0 0   100% 2 0   100%
polar/kit/db/models/base.py IDModel.generate_id   0% 1 1 0   100% 0 0   0%
polar/kit/db/models/base.py (no function)   100% 31 0 0   100% 0 0   100%
polar/kit/db/postgres.py _json_obj_serializer   0% 3 3 0   0% 2 0   0%
polar/kit/db/postgres.py json_serializer   100% 1 0 0   100% 0 0   100%
polar/kit/db/postgres.py create_async_engine   100% 6 0 0   50% 4 2   80%
polar/kit/db/postgres.py create_sync_engine   100% 6 0 0   50% 4 2   80%
polar/kit/db/postgres.py create_async_sessionmaker   100% 1 0 0   100% 0 0   100%
polar/kit/db/postgres.py create_sync_sessionmaker   100% 1 0 0   100% 0 0   100%
polar/kit/db/postgres.py (no function)   100% 24 0 0   100% 0 0   100%
polar/kit/email.py _validate_email_dns   100% 5 0 0   100% 0 0   100%
polar/kit/email.py (no function)   93% 15 1 0   50% 2 1   88%
polar/kit/extensions/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/sql.py (no function)   100% 6 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/types.py EnumType.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/types.py EnumType.process_bind_param   100% 1 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/types.py EnumType.process_result_value   100% 1 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/types.py StrEnumType.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/types.py StrEnumType.process_bind_param   67% 3 1 0   50% 2 1   60%
polar/kit/extensions/sqlalchemy/types.py StrEnumType.process_result_value   0% 3 3 0   0% 2 0   0%
polar/kit/extensions/sqlalchemy/types.py (no function)   93% 27 2 0   50% 2 1   90%
polar/kit/hook.py Hook.__init__   100% 1 0 0   100% 0 0   100%
polar/kit/hook.py Hook.add   0% 3 3 0   0% 2 0   0%
polar/kit/hook.py Hook.call   0% 2 2 0   0% 2 0   0%
polar/kit/hook.py (no function)   100% 7 0 0   100% 0 0   100%
polar/kit/html.py dangerously_strip_tags   0% 4 4 0   100% 0 0   0%
polar/kit/html.py (no function)   0% 3 3 0   100% 0 0   0%
polar/kit/http.py get_safe_return_url   83% 6 1 0   75% 4 1   80%
polar/kit/http.py _get_safe_return_url_dependency   100% 1 0 0   100% 0 0   100%
polar/kit/http.py add_query_parameters   0% 3 3 0   100% 0 0   0%
polar/kit/http.py (no function)   100% 9 0 0   100% 0 0   100%
polar/kit/jwk.py generate_jwks   100% 4 0 0   100% 0 0   100%
polar/kit/jwk.py _validate_jwks   67% 9 3 0   50% 2 1   64%
polar/kit/jwk.py (no function)   100% 18 0 0   100% 2 0   100%
polar/kit/jwt.py create_expiration_dt   100% 1 0 0   100% 0 0   100%
polar/kit/jwt.py encode   100% 8 0 0   50% 4 2   83%
polar/kit/jwt.py decode_unsafe   100% 1 0 0   100% 0 0   100%
polar/kit/jwt.py decode   25% 4 3 0   0% 2 0   17%
polar/kit/jwt.py (no function)   100% 13 0 0   100% 0 0   100%
polar/kit/math.py non_negative_running_sum   0% 4 4 0   0% 2 0   0%
polar/kit/math.py polar_round   0% 3 3 0   0% 2 0   0%
polar/kit/math.py (no function)   100% 5 0 0   100% 0 0   100%
polar/kit/metadata.py add_metadata_query_schema   100% 2 0 0   100% 0 0   100%
polar/kit/metadata.py get_metadata_query_openapi_schema   100% 1 0 0   100% 0 0   100%
polar/kit/metadata.py _get_metadata_query   100% 10 0 0   100% 4 0   100%
polar/kit/metadata.py get_metadata_clause   100% 9 0 0   100% 6 0   100%
polar/kit/metadata.py apply_metadata_clause   100% 2 0 0   100% 0 0   100%
polar/kit/metadata.py extract_metadata_value   0% 11 11 0   0% 8 0   0%
polar/kit/metadata.py (no function)   100% 34 0 0   100% 0 0   100%
polar/kit/money.py get_cents_in_dollar_string   0% 4 4 0   0% 2 0   0%
polar/kit/money.py (no function)   0% 1 1 0   100% 0 0   0%
polar/kit/operator.py attrgetter   0% 6 6 0   0% 2 0   0%
polar/kit/operator.py (no function)   100% 2 0 0   100% 0 0   100%
polar/kit/pagination.py paginate   100% 0 0 0   100% 0 0   100%
polar/kit/pagination.py paginate   100% 0 0 0   100% 0 0   100%
polar/kit/pagination.py paginate   100% 0 0 0   100% 0 0   100%
polar/kit/pagination.py paginate   88% 16 2 0   67% 6 2   82%
polar/kit/pagination.py get_pagination_params   100% 1 0 0   100% 0 0   100%
polar/kit/pagination.py ListResource.from_paginated_results   100% 1 0 0   100% 0 0   100%
polar/kit/pagination.py ListResource.model_parametrized_name   100% 9 0 0   100% 8 0   100%
polar/kit/pagination.py ListResource.__get_pydantic_core_schema__   100% 3 0 0   100% 0 0   100%
polar/kit/pagination.py (no function)   100% 32 0 0   50% 6 3   92%
polar/kit/repository/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryProtocol.get_one   100% 1 0 0   0% 2 2   33%
polar/kit/repository/base.py RepositoryProtocol.get_one_or_none   100% 1 0 0   0% 2 2   33%
polar/kit/repository/base.py RepositoryProtocol.get_all   100% 1 0 0   0% 2 2   33%
polar/kit/repository/base.py RepositoryProtocol.paginate   100% 0 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryProtocol.get_base_statement   100% 1 0 0   0% 2 2   33%
polar/kit/repository/base.py RepositoryProtocol.create   100% 1 0 0   0% 2 2   33%
polar/kit/repository/base.py RepositoryProtocol.update   100% 0 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryBase.__init__   100% 1 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryBase.get_one   0% 2 2 0   100% 0 0   0%
polar/kit/repository/base.py RepositoryBase.get_one_or_none   100% 2 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryBase.get_all   100% 2 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryBase.stream   100% 5 0 0   100% 2 0   100%
polar/kit/repository/base.py RepositoryBase.paginate   100% 9 0 0   100% 2 0   100%
polar/kit/repository/base.py RepositoryBase.get_base_statement   100% 1 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryBase.create   100% 4 0 0   100% 2 0   100%
polar/kit/repository/base.py RepositoryBase.update   73% 11 3 0   67% 6 2   71%
polar/kit/repository/base.py RepositoryBase.count   100% 3 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryBase.from_session   100% 1 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositorySoftDeletionProtocol.get_base_statement   100% 0 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositorySoftDeletionProtocol.soft_delete   100% 0 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositorySoftDeletionMixin.get_base_statement   100% 4 0 0   100% 2 0   100%
polar/kit/repository/base.py RepositorySoftDeletionMixin.soft_delete   100% 1 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositoryIDMixin.get_by_id   0% 2 2 0   100% 0 0   0%
polar/kit/repository/base.py RepositorySoftDeletionIDMixin.get_by_id   100% 2 0 0   100% 0 0   100%
polar/kit/repository/base.py RepositorySortingMixin.apply_sorting   100% 5 0 0   100% 2 0   100%
polar/kit/repository/base.py RepositorySortingMixin.get_sorting_clause   0% 1 1 0   100% 0 0   0%
polar/kit/repository/base.py (no function)   100% 47 0 0   12% 8 7   87%
polar/kit/routing.py AutoCommitAPIRoute.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/routing.py AutoCommitAPIRoute.wrap_endpoint   100% 2 0 0   100% 0 0   100%
polar/kit/routing.py AutoCommitAPIRoute.wrap_endpoint.wrapped_endpoint   100% 9 0 0   100% 6 0   100%
polar/kit/routing.py IncludedInSchemaAPIRoute.__init__   88% 8 1 0   83% 6 1   86%
polar/kit/routing.py SpeakeasyNameOverrideAPIRoute.__init__   100% 5 0 0   100% 2 0   100%
polar/kit/routing.py SpeakeasyIgnoreAPIRoute.__init__   100% 5 0 0   100% 2 0   100%
polar/kit/routing.py SpeakeasyGroupAPIRoute.__init__   100% 5 0 0   50% 2 1   86%
polar/kit/routing.py SpeakeasyPaginationAPIRoute.__init__   100% 5 0 0   100% 2 0   100%
polar/kit/routing.py SpeakeasyMCPAPIRoute.__init__   100% 11 0 0   75% 4 1   93%
polar/kit/routing.py _inherit_signature_from   100% 1 0 0   100% 0 0   100%
polar/kit/routing.py get_api_router_class   100% 4 0 0   100% 0 0   100%
polar/kit/routing.py get_api_router_class._CustomAPIRouter.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/routing.py (no function)   100% 29 0 0   100% 0 0   100%
polar/kit/schemas.py empty_str_to_none   100% 6 0 0   100% 4 0   100%
polar/kit/schemas.py _validate_slug   100% 4 0 0   100% 2 0   100%
polar/kit/schemas.py ClassName.__hash__   100% 1 0 0   100% 0 0   100%
polar/kit/schemas.py MergeJSONSchema.__get_pydantic_json_schema__   80% 5 1 0   50% 2 1   71%
polar/kit/schemas.py MergeJSONSchema.__hash__   100% 1 0 0   100% 0 0   100%
polar/kit/schemas.py SetSchemaReference.__get_pydantic_core_schema__   100% 3 0 0   100% 0 0   100%
polar/kit/schemas.py SetSchemaReference.__hash__   100% 1 0 0   100% 0 0   100%
polar/kit/schemas.py SelectorWidget.__get_pydantic_json_schema__   100% 2 0 0   100% 0 0   100%
polar/kit/schemas.py SelectorWidget._get_extra_attributes   100% 1 0 0   100% 0 0   100%
polar/kit/schemas.py SelectorWidget.__hash__   100% 1 0 0   100% 0 0   100%
polar/kit/schemas.py MultipleQueryFilter.__init__   0% 1 1 0   100% 0 0   0%
polar/kit/schemas.py MultipleQueryFilter.__getitem__   100% 1 0 0   0% 2 2   33%
polar/kit/schemas.py MultipleQueryFilter.__getitem__   100% 1 0 0   0% 2 2   33%
polar/kit/schemas.py MultipleQueryFilter.__getitem__   0% 1 1 0   100% 0 0   0%
polar/kit/schemas.py MultipleQueryFilter.__len__   0% 1 1 0   100% 0 0   0%
polar/kit/schemas.py MultipleQueryFilter.__get_pydantic_core_schema__   88% 8 1 0   50% 2 1   80%
polar/kit/schemas.py MultipleQueryFilter._scalar_to_sequence   67% 3 1 0   50% 2 1   60%
polar/kit/schemas.py (no function)   100% 60 0 0   100% 0 0   100%
polar/kit/services.py ResourceServiceReader.__init__   100% 1 0 0   100% 0 0   100%
polar/kit/services.py ResourceServiceReader.get   0% 7 7 0   0% 4 0   0%
polar/kit/services.py ResourceServiceReader.get_by   0% 3 3 0   100% 0 0   0%
polar/kit/services.py ResourceServiceReader.soft_delete   0% 3 3 0   100% 0 0   0%
polar/kit/services.py ResourceService.upsert_many   0% 1 1 0   100% 0 0   0%
polar/kit/services.py ResourceService._db_upsert_many   0% 10 10 0   0% 4 0   0%
polar/kit/services.py (no function)   100% 18 0 0   100% 0 0   100%
polar/kit/sorting.py _SortingGetter.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/sorting.py _SortingGetter.__call__   77% 13 3 0   83% 6 1   79%
polar/kit/sorting.py SortingGetter   100% 11 0 0   100% 2 0   100%
polar/kit/sorting.py SortingGetter._SortingGetterSignature.__call__   100% 1 0 0   100% 0 0   100%
polar/kit/sorting.py (no function)   100% 11 0 0   100% 0 0   100%
polar/kit/tax.py UnsupportedTaxIDFormat.__init__   100% 2 0 0   100% 0 0   100%
polar/kit/tax.py InvalidTaxID.__init__   100% 3 0 0   100% 0 0   100%
polar/kit/tax.py ValidatorProtocol.validate   100% 1 0 0   50% 2 1   67%
polar/kit/tax.py StdNumValidator.__init__   100% 5 0 0   100% 2 0   100%
polar/kit/tax.py StdNumValidator.validate   100% 4 0 0   100% 0 0   100%
polar/kit/tax.py CAGSTHSTValidator.validate   43% 7 4 0   50% 2 1   44%
polar/kit/tax.py CLTINValidator.validate   100% 5 0 0   100% 0 0   100%
polar/kit/tax.py TRTINValidator.validate   100% 5 0 0   100% 0 0   100%
polar/kit/tax.py INGSTValidator.validate   100% 5 0 0   100% 0 0   100%
polar/kit/tax.py _get_validator   100% 11 0 0   100% 8 0   100%
polar/kit/tax.py validate_tax_id   100% 11 0 0   100% 2 0   100%
polar/kit/tax.py to_stripe_tax_id   0% 2 2 0   100% 0 0   0%
polar/kit/tax.py TaxIDType.process_bind_param   80% 5 1 0   75% 4 1   78%
polar/kit/tax.py TaxIDType.process_result_value   100% 3 0 0   100% 2 0   100%
polar/kit/tax.py TaxCalculationError.__init__   0% 3 3 0   100% 0 0   0%
polar/kit/tax.py IncompleteTaxLocation.__init__   0% 1 1 0   100% 0 0   0%
polar/kit/tax.py InvalidTaxLocation.__init__   0% 1 1 0   100% 0 0   0%
polar/kit/tax.py TaxabilityReason.from_stripe   0% 5 5 0   0% 4 0   0%
polar/kit/tax.py from_stripe_tax_rate   0% 4 4 0   0% 2 0   0%
polar/kit/tax.py from_stripe_tax_rate_details   0% 18 18 0   0% 10 0   0%
polar/kit/tax.py TaxCode.to_stripe   100% 3 0 0   50% 2 1   80%
polar/kit/tax.py calculate_tax   50% 24 12 0   17% 6 1   43%
polar/kit/tax.py (no function)   100% 157 0 0   50% 2 1   99%
polar/kit/time_queries.py TimeInterval.sql_interval   100% 1 0 0   100% 0 0   100%
polar/kit/time_queries.py TimeInterval.sql_date_trunc   100% 1 0 0   100% 0 0   100%
polar/kit/time_queries.py get_timestamp_series_cte   100% 1 0 0   100% 0 0   100%
polar/kit/time_queries.py is_under_limits   100% 1 0 0   100% 0 0   100%
polar/kit/time_queries.py (no function)   100% 17 0 0   100% 0 0   100%
polar/kit/trial.py TrialInterval.get_end   0% 9 9 0   0% 8 0   0%
polar/kit/trial.py TrialConfigurationInputMixin.is_complete_configuration   100% 5 0 0   100% 4 0   100%
polar/kit/trial.py (no function)   100% 26 0 0   100% 0 0   100%
polar/kit/utils.py utc_now   100% 1 0 0   100% 0 0   100%
polar/kit/utils.py generate_uuid   100% 1 0 0   100% 0 0   100%
polar/kit/utils.py human_readable_size   100% 5 0 0   100% 4 0   100%
polar/kit/utils.py (no function)   100% 5 0 0   100% 0 0   100%
polar/license_key/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/license_key/auth.py (no function)   100% 7 0 0   100% 0 0   100%
polar/license_key/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/license_key/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/license_key/endpoints.py update   60% 5 2 0   50% 2 1   57%
polar/license_key/endpoints.py get_activation   60% 5 2 0   50% 2 1   57%
polar/license_key/endpoints.py validate   80% 5 1 0   50% 2 1   71%
polar/license_key/endpoints.py activate   80% 5 1 0   50% 2 1   71%
polar/license_key/endpoints.py deactivate   80% 5 1 0   50% 2 1   71%
polar/license_key/endpoints.py (no function)   100% 31 0 0   100% 0 0   100%
polar/license_key/repository.py LicenseKeyRepository.get_by_organization_and_key   100% 2 0 0   100% 0 0   100%
polar/license_key/repository.py LicenseKeyRepository.get_by_id_organization_customer_and_benefit   0% 2 2 0   100% 0 0   0%
polar/license_key/repository.py LicenseKeyRepository.get_readable_by_key   100% 2 0 0   100% 0 0   100%
polar/license_key/repository.py LicenseKeyRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/license_key/repository.py LicenseKeyRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/license_key/repository.py (no function)   100% 13 0 0   100% 0 0   100%
polar/license_key/schemas.py LicenseKeyCreate.generate_key   0% 5 5 0   0% 2 0   0%
polar/license_key/schemas.py LicenseKeyCreate.generate_expiration_dt   0% 8 8 0   0% 4 0   0%
polar/license_key/schemas.py LicenseKeyCreate.build   0% 11 11 0   0% 6 0   0%
polar/license_key/schemas.py (no function)   100% 51 0 0   50% 2 1   98%
polar/license_key/service.py LicenseKeyService.list   100% 7 0 0   75% 4 1   91%
polar/license_key/service.py LicenseKeyService.get   100% 3 0 0   100% 0 0   100%
polar/license_key/service.py LicenseKeyService.get_or_raise_by_key   80% 5 1 0   50% 2 1   71%
polar/license_key/service.py LicenseKeyService.get_by_grant_or_raise   0% 5 5 0   0% 2 0   0%
polar/license_key/service.py LicenseKeyService.get_activation_or_raise   0% 7 7 0   0% 2 0   0%
polar/license_key/service.py LicenseKeyService.update   0% 6 6 0   0% 2 0   0%
polar/license_key/service.py LicenseKeyService.validate   0% 29 29 0   0% 18 0   0%
polar/license_key/service.py LicenseKeyService.get_activation_count   0% 6 6 0   0% 2 0   0%
polar/license_key/service.py LicenseKeyService.activate   0% 17 17 0   0% 10 0   0%
polar/license_key/service.py LicenseKeyService.deactivate   0% 7 7 0   100% 0 0   0%
polar/license_key/service.py LicenseKeyService.customer_grant   0% 6 6 0   0% 2 0   0%
polar/license_key/service.py LicenseKeyService.customer_update_grant   0% 12 12 0   0% 4 0   0%
polar/license_key/service.py LicenseKeyService.customer_create_grant   0% 6 6 0   100% 0 0   0%
polar/license_key/service.py LicenseKeyService.customer_revoke   0% 6 6 0   100% 0 0   0%
polar/license_key/service.py LicenseKeyService.get_customer_list   100% 4 0 0   100% 2 0   100%
polar/license_key/service.py LicenseKeyService.get_customer_license_key   100% 3 0 0   100% 0 0   100%
polar/license_key/service.py LicenseKeyService._get_select_customer_base   100% 1 0 0   100% 0 0   100%
polar/license_key/service.py (no function)   100% 35 0 0   100% 0 0   100%
polar/locker.py LockerError.__init__   0% 1 1 0   100% 0 0   0%
polar/locker.py Locker.__init__   100% 1 0 0   100% 0 0   100%
polar/locker.py Locker.lock   75% 16 4 0   50% 2 1   72%
polar/locker.py Locker.is_locked   0% 2 2 0   100% 0 0   0%
polar/locker.py Locker._get_key   100% 1 0 0   100% 0 0   100%
polar/locker.py get_locker   100% 1 0 0   100% 0 0   100%
polar/locker.py (no function)   100% 22 0 0   100% 0 0   100%
polar/logfire.py IgnoreSampler.__init__   100% 2 0 0   100% 0 0   100%
polar/logfire.py IgnoreSampler.should_sample   100% 6 0 0   100% 4 0   100%
polar/logfire.py IgnoreSampler.get_description   0% 1 1 0   100% 0 0   0%
polar/logfire.py _healthz_matcher   100% 1 0 0   100% 0 0   100%
polar/logfire.py _worker_health_matcher   100% 2 0 0   100% 0 0   100%
polar/logfire.py _scrubbing_callback   67% 3 1 0   50% 2 1   60%
polar/logfire.py configure_logfire   100% 1 0 0   100% 0 0   100%
polar/logfire.py instrument_httpx   100% 3 0 0   100% 2 0   100%
polar/logfire.py instrument_fastapi   100% 1 0 0   100% 0 0   100%
polar/logfire.py instrument_sqlalchemy   100% 1 0 0   100% 0 0   100%
polar/logfire.py (no function)   86% 28 4 0   50% 2 1   83%
polar/logging.py Logging.get_level   100% 1 0 0   100% 0 0   100%
polar/logging.py Logging.get_processors   100% 1 0 0   100% 0 0   100%
polar/logging.py Logging.get_renderer   0% 1 1 0   100% 0 0   0%
polar/logging.py Logging.configure_stdlib   100% 2 0 0   100% 0 0   100%
polar/logging.py Logging.configure_structlog   100% 1 0 0   100% 0 0   100%
polar/logging.py Logging.configure   100% 2 0 0   100% 0 0   100%
polar/logging.py Development.get_renderer   100% 1 0 0   100% 0 0   100%
polar/logging.py Production.get_renderer   0% 1 1 0   100% 0 0   0%
polar/logging.py configure   60% 5 2 0   50% 4 2   56%
polar/logging.py generate_correlation_id   100% 1 0 0   100% 0 0   100%
polar/logging.py (no function)   100% 29 0 0   100% 0 0   100%
polar/login_code/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/login_code/endpoints.py request_login_code   100% 2 0 0   100% 0 0   100%
polar/login_code/endpoints.py authenticate_login_code   13% 15 13 0   25% 4 1   16%
polar/login_code/endpoints.py (no function)   100% 23 0 0   100% 0 0   100%
polar/login_code/schemas.py LoginCodeRequest.validate_return_to   100% 1 0 0   100% 0 0   100%
polar/login_code/schemas.py (no function)   100% 12 0 0   100% 0 0   100%
polar/login_code/service.py LoginCodeInvalidOrExpired.__init__   0% 1 1 0   100% 0 0   0%
polar/login_code/service.py LoginCodeService.request   100% 7 0 0   100% 0 0   100%
polar/login_code/service.py LoginCodeService.send   100% 8 0 0   50% 2 1   90%
polar/login_code/service.py LoginCodeService.authenticate   0% 16 16 0   0% 6 0   0%
polar/login_code/service.py LoginCodeService._generate_code_hash   100% 3 0 0   100% 0 0   100%
polar/login_code/service.py (no function)   100% 29 0 0   50% 2 1   97%
polar/member/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
polar/member/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/member/endpoints.py list_members   100% 8 0 0   100% 2 0   100%
polar/member/endpoints.py (no function)   100% 14 0 0   100% 0 0   100%
polar/member/repository.py MemberRepository.get_by_customer_and_email   0% 4 4 0   100% 0 0   0%
polar/member/repository.py MemberRepository.list_by_customer   100% 3 0 0   100% 0 0   100%
polar/member/repository.py MemberRepository.list_by_customers   80% 5 1 0   50% 2 1   71%
polar/member/repository.py MemberRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/member/repository.py (no function)   100% 15 0 0   100% 0 0   100%
polar/member/schemas.py (no function)   100% 26 0 0   100% 0 0   100%
polar/member/service.py MemberService.list   91% 11 1 0   67% 6 2   82%
polar/member/service.py MemberService.create_owner_member   12% 24 21 0   17% 6 1   13%
polar/member/service.py MemberService.list_by_customer   100% 2 0 0   100% 0 0   100%
polar/member/service.py MemberService.list_by_customers   100% 2 0 0   100% 0 0   100%
polar/member/service.py (no function)   100% 22 0 0   100% 0 0   100%
polar/member/sorting.py (no function)   100% 7 0 0   100% 0 0   100%
polar/meter/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/meter/aggregation.py AggregationFunction.get_sql_function   100% 13 0 0   92% 12 1   96%
polar/meter/aggregation.py CountAggregation.get_sql_column   100% 1 0 0   100% 0 0   100%
polar/meter/aggregation.py CountAggregation.get_sql_clause   100% 1 0 0   100% 0 0   100%
polar/meter/aggregation.py CountAggregation.is_summable   0% 1 1 0   100% 0 0   0%
polar/meter/aggregation.py _strip_metadata_prefix   100% 2 0 0   100% 0 0   100%
polar/meter/aggregation.py PropertyAggregation.get_sql_column   60% 5 2 0   50% 2 1   57%
polar/meter/aggregation.py PropertyAggregation.get_sql_clause   50% 4 2 0   50% 2 1   50%
polar/meter/aggregation.py PropertyAggregation.is_summable   0% 1 1 0   100% 0 0   0%
polar/meter/aggregation.py UniqueAggregation.get_sql_column   100% 2 0 0   100% 0 0   100%
polar/meter/aggregation.py UniqueAggregation.get_sql_clause   100% 1 0 0   100% 0 0   100%
polar/meter/aggregation.py UniqueAggregation.is_summable   0% 1 1 0   100% 0 0   0%
polar/meter/aggregation.py AggregationType.process_bind_param   67% 3 1 0   50% 2 1   60%
polar/meter/aggregation.py AggregationType.process_result_value   100% 3 0 0   100% 2 0   100%
polar/meter/aggregation.py (no function)   100% 36 0 0   100% 0 0   100%
polar/meter/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/meter/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/meter/endpoints.py get   100% 4 0 0   100% 2 0   100%
polar/meter/endpoints.py quantities   100% 6 0 0   100% 4 0   100%
polar/meter/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/meter/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/meter/endpoints.py (no function)   100% 30 0 0   100% 0 0   100%
polar/meter/filter.py _strip_metadata_prefix   100% 2 0 0   100% 0 0   100%
polar/meter/filter.py FilterClause.get_sql_clause   38% 13 8 0   30% 10 1   35%
polar/meter/filter.py FilterClause._get_comparison_clause   94% 17 1 0   94% 16 1   94%
polar/meter/filter.py FilterClause._get_str_value   100% 3 0 0   100% 2 0   100%
polar/meter/filter.py FilterClause._get_number_value   80% 5 1 0   75% 4 1   78%
polar/meter/filter.py Filter.get_sql_clause   100% 3 0 0   100% 0 0   100%
polar/meter/filter.py FilterType.process_bind_param   67% 3 1 0   50% 2 1   60%
polar/meter/filter.py FilterType.process_result_value   100% 3 0 0   100% 2 0   100%
polar/meter/filter.py (no function)   100% 35 0 0   100% 0 0   100%
polar/meter/repository.py MeterRepository.get_readable_by_id   100% 2 0 0   100% 0 0   100%
polar/meter/repository.py MeterRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/meter/repository.py (no function)   100% 9 0 0   100% 0 0   100%
polar/meter/schemas.py (no function)   100% 34 0 0   100% 0 0   100%
polar/meter/service.py MeterService.list   100% 21 0 0   81% 16 3   92%
polar/meter/service.py MeterService.get   100% 3 0 0   100% 0 0   100%
polar/meter/service.py MeterService.create   100% 8 0 0   100% 0 0   100%
polar/meter/service.py MeterService.update   74% 19 5 0   62% 16 2   69%
polar/meter/service.py MeterService.archive   75% 8 2 0   50% 4 2   67%
polar/meter/service.py MeterService.unarchive   100% 2 0 0   100% 0 0   100%
polar/meter/service.py MeterService.events   0% 3 3 0   100% 0 0   0%
polar/meter/service.py MeterService.get_quantities   100% 22 0 0   90% 10 1   97%
polar/meter/service.py MeterService.enqueue_billing   0% 4 4 0   0% 2 0   0%
polar/meter/service.py MeterService._create_subscription_holder_billing_entry   0% 2 2 0   100% 0 0   0%
polar/meter/service.py MeterService.create_billing_entries   0% 31 31 0   0% 10 0   0%
polar/meter/service.py MeterService.get_quantity   0% 3 3 0   100% 0 0   0%
polar/meter/service.py (no function)   100% 39 0 0   50% 2 1   98%
polar/meter/sorting.py (no function)   100% 8 0 0   100% 0 0   100%
polar/meter/tasks.py MeterDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/meter/tasks.py meter_enqueue_billing   0% 2 2 0   100% 0 0   0%
polar/meter/tasks.py meter_billing_entries   0% 6 6 0   0% 2 0   0%
polar/meter/tasks.py (no function)   100% 15 0 0   50% 2 1   94%
polar/metrics/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/metrics/auth.py (no function)   100% 7 0 0   100% 0 0   100%
polar/metrics/endpoints.py get   100% 3 0 0   100% 2 0   100%
polar/metrics/endpoints.py limits   100% 1 0 0   100% 0 0   100%
polar/metrics/endpoints.py (no function)   100% 22 0 0   100% 0 0   100%
polar/metrics/metrics.py cumulative_sum   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py cumulative_last   100% 2 0 0   100% 0 0   100%
polar/metrics/metrics.py Metric.get_cumulative   100% 1 0 0   0% 2 2   33%
polar/metrics/metrics.py SQLMetric.get_sql_expression   100% 0 0 0   100% 0 0   100%
polar/metrics/metrics.py MetaMetric.compute_from_period   100% 1 0 0   50% 2 1   67%
polar/metrics/metrics.py OrdersMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py OrdersMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NetRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NetRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CumulativeRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CumulativeRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NetCumulativeRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NetCumulativeRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py AverageOrderValueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py AverageOrderValueMetric.get_cumulative   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py NetAverageOrderValueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NetAverageOrderValueMetric.get_cumulative   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py OneTimeProductsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py OneTimeProductsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py OneTimeProductsRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py OneTimeProductsRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py OneTimeProductsNetRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py OneTimeProductsNetRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NewSubscriptionsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NewSubscriptionsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NewSubscriptionsRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NewSubscriptionsRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NewSubscriptionsNetRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py NewSubscriptionsNetRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RenewedSubscriptionsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RenewedSubscriptionsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RenewedSubscriptionsRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RenewedSubscriptionsRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RenewedSubscriptionsNetRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py RenewedSubscriptionsNetRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ActiveSubscriptionsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ActiveSubscriptionsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py MonthlyRecurringRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py MonthlyRecurringRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CommittedMonthlyRecurringRevenueMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CommittedMonthlyRecurringRevenueMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CheckoutsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CheckoutsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py SucceededCheckoutsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py SucceededCheckoutsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CheckoutsConversionMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CheckoutsConversionMetric.get_cumulative   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsCustomerServiceMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsCustomerServiceMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsLowQualityMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsLowQualityMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsMissingFeaturesMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsMissingFeaturesMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsSwitchedServiceMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsSwitchedServiceMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsTooComplexMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsTooComplexMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsTooExpensiveMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsTooExpensiveMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsUnusedMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsUnusedMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsOtherMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CanceledSubscriptionsOtherMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ChurnedSubscriptionsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ChurnedSubscriptionsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CostsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CostsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CumulativeCostsMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CumulativeCostsMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py AverageRevenuePerUserMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py AverageRevenuePerUserMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CostPerUserMetric.get_sql_expression   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py CostPerUserMetric.get_cumulative   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py GrossMarginMetric.compute_from_period   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py GrossMarginMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py GrossMarginPercentageMetric.compute_from_period   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py GrossMarginPercentageMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py CashflowMetric.compute_from_period   100% 3 0 0   100% 0 0   100%
polar/metrics/metrics.py CashflowMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ChurnRateMetric.compute_from_period   100% 6 0 0   100% 0 0   100%
polar/metrics/metrics.py ChurnRateMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py LTVMetric.compute_from_period   62% 8 3 0   50% 2 1   60%
polar/metrics/metrics.py LTVMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ActiveUserMetric.get_sql_expression   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py ActiveUserMetric.get_cumulative   100% 1 0 0   100% 0 0   100%
polar/metrics/metrics.py (no function)   99% 406 1 0   25% 4 3   99%
polar/metrics/queries.py _get_metrics_columns   100% 1 0 0   100% 0 0   100%
polar/metrics/queries.py QueryCallable.__call__   100% 0 0 0   100% 0 0   100%
polar/metrics/queries.py _get_readable_orders_statement   86% 14 2 0   67% 12 2   77%
polar/metrics/queries.py get_orders_metrics_cte   100% 15 0 0   50% 4 2   89%
polar/metrics/queries.py get_active_subscriptions_cte   100% 4 0 0   100% 0 0   100%
polar/metrics/queries.py _get_readable_subscriptions_statement   86% 14 2 0   67% 12 2   77%
polar/metrics/queries.py get_checkouts_cte   88% 16 2 0   67% 12 2   79%
polar/metrics/queries.py get_canceled_subscriptions_cte   100% 4 0 0   100% 0 0   100%
polar/metrics/queries.py get_churned_subscriptions_cte   100% 4 0 0   100% 0 0   100%
polar/metrics/queries.py _get_readable_cost_events_statement   0% 10 10 0   0% 8 0   0%
polar/metrics/queries.py get_events_metrics_cte   100% 6 0 0   100% 0 0   100%
polar/metrics/queries.py _get_readable_events_statement   80% 10 2 0   50% 8 2   67%
polar/metrics/queries.py (no function)   97% 33 1 0   50% 4 2   92%
polar/metrics/schemas.py Metrics.__getattr__   0% 1 1 0   0% 2 0   0%
polar/metrics/schemas.py MetricsPeriod.__getattr__   0% 1 1 0   0% 2 0   0%
polar/metrics/schemas.py MetricsTotals.__getattr__   0% 1 1 0   0% 2 0   0%
polar/metrics/schemas.py (no function)   92% 37 3 0   50% 6 3   86%
polar/metrics/service.py MetricsService.get_metrics   100% 39 0 0   100% 14 0   100%
polar/metrics/service.py (no function)   100% 18 0 0   100% 0 0   100%
polar/middlewares.py LogCorrelationIdMiddleware.__init__   100% 1 0 0   100% 0 0   100%
polar/middlewares.py LogCorrelationIdMiddleware.__call__   100% 5 0 0   100% 2 0   100%
polar/middlewares.py FlushEnqueuedWorkerJobsMiddleware.__init__   100% 1 0 0   100% 0 0   100%
polar/middlewares.py FlushEnqueuedWorkerJobsMiddleware.__call__   100% 5 0 0   100% 2 0   100%
polar/middlewares.py PathRewriteMiddleware.__init__   100% 4 0 0   100% 0 0   100%
polar/middlewares.py PathRewriteMiddleware.__call__   88% 8 1 0   75% 4 1   83%
polar/middlewares.py PathRewriteMiddleware.send   88% 8 1 0   75% 4 1   83%
polar/middlewares.py SandboxResponseHeaderMiddleware.__init__   0% 1 1 0   100% 0 0   0%
polar/middlewares.py SandboxResponseHeaderMiddleware.__call__   0% 5 5 0   0% 2 0   0%
polar/middlewares.py SandboxResponseHeaderMiddleware.__call__.send_wrapper   0% 5 5 0   0% 2 0   0%
polar/middlewares.py (no function)   100% 21 0 0   100% 0 0   100%
polar/models/__init__.py (no function)   100% 71 0 0   100% 0 0   100%
polar/models/account.py Account.Status.get_display_name   0% 1 1 0   100% 0 0   0%
polar/models/account.py Account.admin   100% 1 0 0   100% 0 0   100%
polar/models/account.py Account.users   100% 1 0 0   100% 0 0   100%
polar/models/account.py Account.all_organizations   100% 1 0 0   100% 0 0   100%
polar/models/account.py Account.organizations   100% 1 0 0   100% 0 0   100%
polar/models/account.py Account.is_active   0% 1 1 0   100% 0 0   0%
polar/models/account.py Account.is_under_review   0% 1 1 0   100% 0 0   0%
polar/models/account.py Account.is_payout_ready   0% 1 1 0   100% 0 0   0%
polar/models/account.py Account.get_associations_names   0% 6 6 0   0% 4 0   0%
polar/models/account.py Account.platform_fee   0% 7 7 0   0% 4 0   0%
polar/models/account.py Account.calculate_fee_in_cents   0% 3 3 0   100% 0 0   0%
polar/models/account.py (no function)   97% 64 2 0   50% 2 1   95%
polar/models/benefit.py TaxApplicationMustBeSpecified.__init__   0% 3 3 0   100% 0 0   0%
polar/models/benefit.py BenefitType.get_display_name   0% 1 1 0   100% 0 0   0%
polar/models/benefit.py BenefitType.is_tax_applicable   60% 5 2 0   100% 0 0   60%
polar/models/benefit.py Benefit.properties   100% 1 0 0   100% 0 0   100%
polar/models/benefit.py Benefit.organization   100% 1 0 0   100% 0 0   100%
polar/models/benefit.py Benefit.grants   100% 1 0 0   100% 0 0   100%
polar/models/benefit.py (no function)   95% 38 2 0   50% 2 1   92%
polar/models/benefit_grant.py BenefitGrantScopeComparator.__eq__   0% 7 7 0   0% 4 0   0%
polar/models/benefit_grant.py BenefitGrant.customer   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.member   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.benefit   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.subscription   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.order   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.properties   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.error   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.is_granted   0% 1 1 0   100% 0 0   0%
polar/models/benefit_grant.py BenefitGrant._is_granted_expression   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.is_revoked   0% 1 1 0   100% 0 0   0%
polar/models/benefit_grant.py BenefitGrant._is_revoked_expression   100% 1 0 0   100% 0 0   100%
polar/models/benefit_grant.py BenefitGrant.set_granted   0% 3 3 0   100% 0 0   0%
polar/models/benefit_grant.py BenefitGrant.set_revoked   0% 2 2 0   100% 0 0   0%
polar/models/benefit_grant.py BenefitGrant.set_grant_failed   0% 3 3 0   100% 0 0   0%
polar/models/benefit_grant.py BenefitGrant.previous_properties   0% 1 1 0   100% 0 0   0%
polar/models/benefit_grant.py BenefitGrant.previous_properties   0% 1 1 0   100% 0 0   0%
polar/models/benefit_grant.py (no function)   86% 69 10 0   25% 8 2   79%
polar/models/billing_entry.py BillingEntry.customer   100% 1 0 0   100% 0 0   100%
polar/models/billing_entry.py BillingEntry.product_price   100% 1 0 0   100% 0 0   100%
polar/models/billing_entry.py BillingEntry.subscription   100% 1 0 0   100% 0 0   100%
polar/models/billing_entry.py BillingEntry.discount   100% 1 0 0   100% 0 0   100%
polar/models/billing_entry.py BillingEntry.event   100% 1 0 0   100% 0 0   100%
polar/models/billing_entry.py BillingEntry.order_item   100% 1 0 0   100% 0 0   100%
polar/models/billing_entry.py BillingEntry.from_metered_event   0% 1 1 0   100% 0 0   0%
polar/models/billing_entry.py (no function)   98% 50 1 0   50% 2 1   96%
polar/models/campaign.py (no function)   100% 15 0 0   100% 0 0   100%
polar/models/checkout.py get_expires_at   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.organization   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.product   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.product_price   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.discount   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.customer   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.subscription   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.is_expired   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout._is_expired_expression   0% 1 1 0   100% 0 0   0%
polar/models/checkout.py Checkout.customer_ip_address   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout._customer_ip_address_setter   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.success_url   67% 6 2 0   100% 2 0   75%
polar/models/checkout.py Checkout.success_url   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.customer_tax_id_number   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.discount_amount   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.net_amount   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.total_amount   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.is_discount_applicable   67% 3 1 0   50% 2 1   60%
polar/models/checkout.py Checkout.is_free_product_price   67% 3 1 0   50% 2 1   60%
polar/models/checkout.py Checkout.has_metered_prices   0% 3 3 0   0% 2 0   0%
polar/models/checkout.py Checkout.is_payment_required   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.is_payment_setup_required   67% 3 1 0   50% 2 1   60%
polar/models/checkout.py Checkout.should_save_payment_method   0% 1 1 0   100% 0 0   0%
polar/models/checkout.py Checkout.is_payment_form_required   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.url   100% 1 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.customer_session_token   0% 1 1 0   100% 0 0   0%
polar/models/checkout.py Checkout.customer_session_token   0% 1 1 0   100% 0 0   0%
polar/models/checkout.py Checkout.customer_billing_address_fields   100% 5 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.billing_address_fields   100% 5 0 0   100% 0 0   100%
polar/models/checkout.py Checkout.active_trial_interval   80% 5 1 0   75% 4 1   78%
polar/models/checkout.py Checkout.active_trial_interval_count   80% 5 1 0   75% 4 1   78%
polar/models/checkout.py Checkout.price_per_seat   40% 5 3 0   25% 4 1   33%
polar/models/checkout.py Checkout.description   0% 3 3 0   0% 2 0   0%
polar/models/checkout.py Checkout.prices   83% 6 1 0   75% 4 1   80%
polar/models/checkout.py Checkout.product_prices   67% 3 1 0   50% 2 1   60%
polar/models/checkout.py check_expiration   50% 2 1 0   50% 2 1   50%
polar/models/checkout.py (no function)   99% 150 2 0   50% 2 1   98%
polar/models/checkout_link.py CheckoutLink.discount   100% 1 0 0   100% 0 0   100%
polar/models/checkout_link.py CheckoutLink.organization   100% 1 0 0   100% 0 0   100%
polar/models/checkout_link.py CheckoutLink.success_url   0% 1 1 0   100% 0 0   0%
polar/models/checkout_link.py CheckoutLink.success_url   0% 1 1 0   100% 0 0   0%
polar/models/checkout_link.py (no function)   94% 34 2 0   50% 2 1   92%
polar/models/checkout_link_product.py CheckoutLinkProduct.checkout_link   100% 1 0 0   100% 0 0   100%
polar/models/checkout_link_product.py CheckoutLinkProduct.product   100% 1 0 0   100% 0 0   100%
polar/models/checkout_link_product.py (no function)   94% 17 1 0   50% 2 1   89%
polar/models/checkout_product.py CheckoutProduct.checkout   100% 1 0 0   100% 0 0   100%
polar/models/checkout_product.py CheckoutProduct.product   100% 1 0 0   100% 0 0   100%
polar/models/checkout_product.py CheckoutProduct.ad_hoc_prices   100% 1 0 0   100% 0 0   100%
polar/models/checkout_product.py (no function)   95% 19 1 0   50% 2 1   90%
polar/models/custom_field.py CustomFieldType.get_model   0% 1 1 0   100% 0 0   0%
polar/models/custom_field.py validate_ge_le   100% 4 0 0   100% 2 0   100%
polar/models/custom_field.py CustomField.organization   100% 1 0 0   100% 0 0   100%
polar/models/custom_field.py CustomField.get_field_definition   0% 1 1 0   100% 0 0   0%
polar/models/custom_field.py CustomFieldText.get_field_definition   0% 1 1 0   100% 0 0   0%
polar/models/custom_field.py CustomFieldNumber.get_field_definition   0% 1 1 0   100% 0 0   0%
polar/models/custom_field.py CustomFieldDate.get_field_definition   0% 5 5 0   100% 0 0   0%
polar/models/custom_field.py CustomFieldCheckbox.get_field_definition   0% 1 1 0   100% 0 0   0%
polar/models/custom_field.py CustomFieldSelect.get_field_definition   0% 2 2 0   100% 0 0   0%
polar/models/custom_field.py (no function)   99% 71 1 0   50% 2 1   97%
polar/models/customer.py short_id_to_base26   0% 7 7 0   0% 2 0   0%
polar/models/customer.py CustomerOAuthPlatform.get_account_key   0% 1 1 0   100% 0 0   0%
polar/models/customer.py CustomerOAuthPlatform.get_account_id   0% 5 5 0   0% 4 0   0%
polar/models/customer.py CustomerOAuthPlatform.get_account_username   0% 5 5 0   0% 4 0   0%
polar/models/customer.py CustomerOAuthAccount.is_expired   0% 3 3 0   0% 2 0   0%
polar/models/customer.py Customer.organization   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.payment_methods   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.members   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.default_payment_method   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.can_authenticate   0% 1 1 0   100% 0 0   0%
polar/models/customer.py Customer._can_authenticate_expression   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.get_oauth_account   0% 4 4 0   0% 2 0   0%
polar/models/customer.py Customer.set_oauth_account   0% 2 2 0   100% 0 0   0%
polar/models/customer.py Customer.remove_oauth_account   0% 2 2 0   100% 0 0   0%
polar/models/customer.py Customer.oauth_accounts   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.short_id_str   0% 1 1 0   100% 0 0   0%
polar/models/customer.py Customer.legacy_user_id   0% 1 1 0   100% 0 0   0%
polar/models/customer.py Customer.legacy_user_public_name   0% 3 3 0   0% 2 0   0%
polar/models/customer.py Customer.active_subscriptions   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.active_subscriptions   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.granted_benefits   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.granted_benefits   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.active_meters   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.active_meters   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.billing_name   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.billing_name   100% 1 0 0   100% 0 0   100%
polar/models/customer.py Customer.actual_billing_name   0% 1 1 0   100% 0 0   0%
polar/models/customer.py Customer.touch_meters_dirtied_at   0% 1 1 0   100% 0 0   0%
polar/models/customer.py (no function)   94% 102 6 0   50% 2 1   93%
polar/models/customer_meter.py CustomerMeter.customer   100% 1 0 0   100% 0 0   100%
polar/models/customer_meter.py CustomerMeter.meter   100% 1 0 0   100% 0 0   100%
polar/models/customer_meter.py CustomerMeter.last_balanced_event   100% 1 0 0   100% 0 0   100%
polar/models/customer_meter.py (no function)   86% 28 4 0   50% 2 1   83%
polar/models/customer_seat.py CustomerSeat.subscription   100% 1 0 0   100% 0 0   100%
polar/models/customer_seat.py CustomerSeat.order   100% 1 0 0   100% 0 0   100%
polar/models/customer_seat.py CustomerSeat.customer   100% 1 0 0   100% 0 0   100%
polar/models/customer_seat.py CustomerSeat.is_pending   0% 1 1 0   100% 0 0   0%
polar/models/customer_seat.py CustomerSeat.is_claimed   0% 1 1 0   100% 0 0   0%
polar/models/customer_seat.py CustomerSeat.is_revoked   0% 1 1 0   100% 0 0   0%
polar/models/customer_seat.py CustomerSeat.has_metered_pricing   0% 3 3 0   0% 2 0   0%
polar/models/customer_seat.py (no function)   92% 39 3 0   50% 2 1   90%
polar/models/customer_session.py get_expires_at   0% 1 1 0   100% 0 0   0%
polar/models/customer_session.py CustomerSession.customer   100% 1 0 0   100% 0 0   100%
polar/models/customer_session.py CustomerSession.raw_token   0% 1 1 0   100% 0 0   0%
polar/models/customer_session.py CustomerSession.raw_token   0% 1 1 0   100% 0 0   0%
polar/models/customer_session.py CustomerSession.customer_portal_url   0% 2 2 0   100% 0 0   0%
polar/models/customer_session.py (no function)   100% 24 0 0   100% 0 0   100%
polar/models/customer_session_code.py get_expires_at   100% 1 0 0   100% 0 0   100%
polar/models/customer_session_code.py CustomerSessionCode.customer   100% 1 0 0   100% 0 0   100%
polar/models/customer_session_code.py (no function)   100% 17 0 0   100% 0 0   100%
polar/models/discount.py DiscountType.get_model   100% 1 0 0   100% 0 0   100%
polar/models/discount.py Discount.__table_args__   100% 4 0 0   100% 2 0   100%
polar/models/discount.py Discount.organization   100% 1 0 0   100% 0 0   100%
polar/models/discount.py Discount.redemptions_count   100% 2 0 0   100% 0 0   100%
polar/models/discount.py Discount.get_discount_amount   0% 1 1 0   100% 0 0   0%
polar/models/discount.py Discount.get_stripe_coupon_params   75% 4 1 0   50% 2 1   67%
polar/models/discount.py Discount.is_applicable   0% 3 3 0   0% 2 0   0%
polar/models/discount.py Discount.is_repetition_expired   0% 8 8 0   0% 6 0   0%
polar/models/discount.py DiscountFixed.get_discount_amount   0% 1 1 0   100% 0 0   0%
polar/models/discount.py DiscountFixed.get_stripe_coupon_params   100% 2 0 0   100% 0 0   100%
polar/models/discount.py DiscountPercentage.get_discount_amount   0% 2 2 0   100% 0 0   0%
polar/models/discount.py DiscountPercentage.get_stripe_coupon_params   100% 2 0 0   100% 0 0   100%
polar/models/discount.py (no function)   98% 62 1 0   50% 2 1   97%
polar/models/discount_product.py DiscountProduct.discount   100% 1 0 0   100% 0 0   100%
polar/models/discount_product.py DiscountProduct.product   100% 1 0 0   100% 0 0   100%
polar/models/discount_product.py (no function)   93% 15 1 0   50% 2 1   88%
polar/models/discount_redemption.py DiscountRedemption.discount   100% 1 0 0   100% 0 0   100%
polar/models/discount_redemption.py DiscountRedemption.checkout   100% 1 0 0   100% 0 0   100%
polar/models/discount_redemption.py DiscountRedemption.subscription   100% 1 0 0   100% 0 0   100%
polar/models/discount_redemption.py (no function)   94% 18 1 0   50% 2 1   90%
polar/models/downloadable.py Downloadable.file   100% 1 0 0   100% 0 0   100%
polar/models/downloadable.py Downloadable.customer   100% 1 0 0   100% 0 0   100%
polar/models/downloadable.py Downloadable.benefit   100% 1 0 0   100% 0 0   100%
polar/models/downloadable.py (no function)   100% 27 0 0   100% 0 0   100%
polar/models/email_verification.py get_expires_at   100% 1 0 0   100% 0 0   100%
polar/models/email_verification.py EmailVerification.user   100% 1 0 0   100% 0 0   100%
polar/models/email_verification.py (no function)   100% 17 0 0   100% 0 0   100%
polar/models/event.py CustomerComparator.__eq__   0% 6 6 0   0% 4 0   0%
polar/models/event.py CustomerComparator.is_   0% 3 3 0   0% 2 0   0%
polar/models/event.py CustomerComparator.is_not   0% 3 3 0   0% 2 0   0%
polar/models/event.py Event.parent   100% 1 0 0   100% 0 0   100%
polar/models/event.py Event.customer   100% 1 0 0   100% 0 0   100%
polar/models/event.py Event.organization   100% 1 0 0   100% 0 0   100%
polar/models/event.py Event.event_types   100% 1 0 0   100% 0 0   100%
polar/models/event.py Event.label   0% 11 11 0   0% 8 0   0%
polar/models/event.py Event.is_meter_credit   0% 1 1 0   100% 0 0   0%
polar/models/event.py Event._is_meter_credit_expression   0% 1 1 0   100% 0 0   0%
polar/models/event.py EventClosure.ancestor   100% 1 0 0   100% 0 0   100%
polar/models/event.py EventClosure.descendant   100% 1 0 0   100% 0 0   100%
polar/models/event.py populate_event_closure   0% 13 13 0   0% 6 0   0%
polar/models/event.py (no function)   97% 69 2 0   50% 2 1   96%
polar/models/event_type.py EventType.organization   100% 1 0 0   100% 0 0   100%
polar/models/event_type.py (no function)   94% 16 1 0   50% 2 1   89%
polar/models/external_event.py ExternalEvent.is_handled   0% 1 1 0   100% 0 0   0%
polar/models/external_event.py ExternalEvent._is_handled_expression   0% 1 1 0   100% 0 0   0%
polar/models/external_event.py StripeEvent.stripe_data   0% 1 1 0   100% 0 0   0%
polar/models/external_event.py (no function)   100% 31 0 0   100% 0 0   100%
polar/models/file.py File.organization   100% 1 0 0   100% 0 0   100%
polar/models/file.py (no function)   97% 38 1 0   50% 2 1   95%
polar/models/held_balance.py HeldBalance.organization   100% 1 0 0   100% 0 0   100%
polar/models/held_balance.py HeldBalance.account   100% 1 0 0   100% 0 0   100%
polar/models/held_balance.py HeldBalance.payment_transaction   100% 1 0 0   100% 0 0   100%
polar/models/held_balance.py HeldBalance.pledge   100% 1 0 0   100% 0 0   100%
polar/models/held_balance.py HeldBalance.order   100% 1 0 0   100% 0 0   100%
polar/models/held_balance.py HeldBalance.issue_reward   100% 1 0 0   100% 0 0   100%
polar/models/held_balance.py (no function)   97% 35 1 0   50% 2 1   95%
polar/models/issue_reward.py IssueReward.organization   100% 1 0 0   100% 0 0   100%
polar/models/issue_reward.py IssueReward.user   100% 1 0 0   100% 0 0   100%
polar/models/issue_reward.py IssueReward.pct   0% 1 1 0   100% 0 0   0%
polar/models/issue_reward.py IssueReward.get_share_amount   0% 1 1 0   100% 0 0   0%
polar/models/issue_reward.py IssueReward.get_rewarded   0% 5 5 0   0% 4 0   0%
polar/models/issue_reward.py IssueReward.get_rewarded_account   0% 4 4 0   0% 2 0   0%
polar/models/issue_reward.py (no function)   93% 28 2 0   50% 2 1   90%
polar/models/license_key.py LicenseKey.organization   100% 1 0 0   100% 0 0   100%
polar/models/license_key.py LicenseKey.customer   100% 1 0 0   100% 0 0   100%
polar/models/license_key.py LicenseKey.benefit   100% 1 0 0   100% 0 0   100%
polar/models/license_key.py LicenseKey.all_activations   100% 1 0 0   100% 0 0   100%
polar/models/license_key.py LicenseKey.activations   100% 1 0 0   100% 0 0   100%
polar/models/license_key.py LicenseKey.display_key   0% 3 3 0   100% 0 0   0%
polar/models/license_key.py LicenseKey.activation   0% 1 1 0   100% 0 0   0%
polar/models/license_key.py LicenseKey.activation   0% 1 1 0   100% 0 0   0%
polar/models/license_key.py LicenseKey.mark_revoked   0% 1 1 0   100% 0 0   0%
polar/models/license_key.py LicenseKey.mark_validated   0% 4 4 0   0% 2 0   0%
polar/models/license_key.py LicenseKey.is_active   0% 1 1 0   100% 0 0   0%
polar/models/license_key.py (no function)   96% 49 2 0   50% 2 1   94%
polar/models/license_key_activation.py LicenseKeyActivation.license_key   100% 1 0 0   100% 0 0   100%
polar/models/license_key_activation.py LicenseKeyActivation.mark_deleted   0% 1 1 0   100% 0 0   0%
polar/models/license_key_activation.py (no function)   94% 18 1 0   50% 2 1   90%
polar/models/login_code.py (no function)   93% 15 1 0   50% 2 1   88%
polar/models/member.py Member.customer   100% 1 0 0   100% 0 0   100%
polar/models/member.py (no function)   100% 21 0 0   100% 0 0   100%
polar/models/meter.py Meter.last_billed_event   100% 1 0 0   100% 0 0   100%
polar/models/meter.py Meter.organization   100% 1 0 0   100% 0 0   100%
polar/models/meter.py (no function)   92% 24 2 0   50% 2 1   88%
polar/models/notification.py (no function)   93% 15 1 0   50% 2 1   88%
polar/models/notification_recipient.py NotificationRecipient.user   100% 1 0 0   100% 0 0   100%
polar/models/notification_recipient.py (no function)   93% 15 1 0   50% 2 1   88%
polar/models/oauth2_authorization_code.py (no function)   100% 8 0 0   100% 0 0   100%
polar/models/oauth2_client.py OAuth2Client.user   100% 1 0 0   100% 0 0   100%
polar/models/oauth2_client.py OAuth2Client.default_sub_type   100% 4 0 0   100% 0 0   100%
polar/models/oauth2_client.py (no function)   95% 20 1 0   50% 2 1   91%
polar/models/oauth2_grant.py OAuth2Grant.user   100% 1 0 0   100% 0 0   100%
polar/models/oauth2_grant.py OAuth2Grant.organization   100% 1 0 0   100% 0 0   100%
polar/models/oauth2_grant.py OAuth2Grant.scopes   0% 1 1 0   100% 0 0   0%
polar/models/oauth2_grant.py (no function)   100% 19 0 0   100% 0 0   100%
polar/models/oauth2_token.py OAuth2Token.client   100% 1 0 0   100% 0 0   100%
polar/models/oauth2_token.py OAuth2Token.expires_at   0% 1 1 0   100% 0 0   0%
polar/models/oauth2_token.py OAuth2Token.scopes   0% 1 1 0   100% 0 0   0%
polar/models/oauth2_token.py OAuth2Token.get_introspection_data   0% 1 1 0   100% 0 0   0%
polar/models/oauth2_token.py (no function)   95% 20 1 0   50% 2 1   91%
polar/models/order.py OrderRefundExceedsBalance.__init__   0% 2 2 0   100% 0 0   0%
polar/models/order.py Order.customer   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.product   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.discount   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.subscription   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.checkout   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.customer_seats   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.legacy_product_price   0% 6 6 0   0% 6 0   0%
polar/models/order.py Order.legacy_product_price_id   0% 4 4 0   0% 2 0   0%
polar/models/order.py Order.paid   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order._paid_expression   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.net_amount   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order._net_amount_expression   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.total_amount   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order._total_amount_expression   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.due_amount   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order._due_amount_expression   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.payout_amount   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order._payout_amount_expression   100% 1 0 0   100% 0 0   100%
polar/models/order.py Order.taxed   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.refunded   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.refundable_amount   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.refundable_tax_amount   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.remaining_balance   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.update_refunds   0% 13 13 0   0% 6 0   0%
polar/models/order.py Order.is_invoice_generated   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.invoice_filename   0% 1 1 0   100% 0 0   0%
polar/models/order.py Order.statement_descriptor_suffix   0% 3 3 0   0% 2 0   0%
polar/models/order.py Order.description   0% 3 3 0   0% 2 0   0%
polar/models/order.py (no function)   99% 130 1 0   50% 2 1   98%
polar/models/order_item.py OrderItem.product_price   100% 1 0 0   100% 0 0   100%
polar/models/order_item.py OrderItem.order   100% 1 0 0   100% 0 0   100%
polar/models/order_item.py OrderItem.total_amount   0% 1 1 0   100% 0 0   0%
polar/models/order_item.py OrderItem.discountable   0% 1 1 0   100% 0 0   0%
polar/models/order_item.py OrderItem.from_price   0% 10 10 0   0% 8 0   0%
polar/models/order_item.py OrderItem.from_trial   0% 4 4 0   100% 0 0   0%
polar/models/order_item.py OrderItem.from_wallet   0% 2 2 0   100% 0 0   0%
polar/models/order_item.py (no function)   97% 34 1 0   50% 2 1   94%
polar/models/organization.py OrganizationStatus.get_display_name   0% 1 1 0   100% 0 0   0%
polar/models/organization.py OrganizationStatus.review_statuses   100% 1 0 0   100% 0 0   100%
polar/models/organization.py OrganizationStatus.payment_ready_statuses   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.account   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.can_authenticate   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization._can_authenticate_expression   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.storefront_enabled   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization._storefront_enabled_expression   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.is_under_review   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization._is_under_review_expression   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.polar_site_url   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.account_url   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.allow_multiple_subscriptions   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.allow_customer_updates   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.proration_behavior   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.benefit_revocation_grace_period   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.prevent_trial_abuse   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.invoice_numbering   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.all_products   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.products   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.review   100% 1 0 0   100% 0 0   100%
polar/models/organization.py Organization.is_blocked   67% 3 1 0   50% 2 1   60%
polar/models/organization.py Organization.is_active   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.statement_descriptor   0% 5 5 0   0% 2 0   0%
polar/models/organization.py Organization.statement_descriptor_prefixed   0% 1 1 0   100% 0 0   0%
polar/models/organization.py Organization.email_from_reply   100% 1 0 0   100% 0 0   100%
polar/models/organization.py (no function)   98% 118 2 0   50% 2 1   98%
polar/models/organization_access_token.py OrganizationAccessToken.organization   100% 1 0 0   100% 0 0   100%
polar/models/organization_access_token.py OrganizationAccessToken.scopes   100% 1 0 0   100% 0 0   100%
polar/models/organization_access_token.py (no function)   100% 19 0 0   100% 0 0   100%
polar/models/organization_review.py OrganizationReview.organization   100% 1 0 0   100% 0 0   100%
polar/models/organization_review.py OrganizationReview.__repr__   0% 1 1 0   100% 0 0   0%
polar/models/organization_review.py (no function)   97% 35 1 0   50% 2 1   95%
polar/models/payment.py PaymentStatus.from_stripe_charge   0% 1 1 0   100% 0 0   0%
polar/models/payment.py Payment.organization   100% 1 0 0   100% 0 0   100%
polar/models/payment.py Payment.checkout   100% 1 0 0   100% 0 0   100%
polar/models/payment.py Payment.wallet   100% 1 0 0   100% 0 0   100%
polar/models/payment.py Payment.order   100% 1 0 0   100% 0 0   100%
polar/models/payment.py Payment.is_succeeded   0% 1 1 0   100% 0 0   0%
polar/models/payment.py Payment._is_succeeded_expression   0% 1 1 0   100% 0 0   0%
polar/models/payment.py Payment.is_failed   0% 1 1 0   100% 0 0   0%
polar/models/payment.py Payment._is_failed_expression   0% 1 1 0   100% 0 0   0%
polar/models/payment.py (no function)   93% 59 4 0   50% 2 1   92%
polar/models/payment_method.py PaymentMethod.customer   100% 1 0 0   100% 0 0   100%
polar/models/payment_method.py PaymentMethod.fingerprint   0% 1 1 0   100% 0 0   0%
polar/models/payment_method.py (no function)   95% 22 1 0   50% 2 1   92%
polar/models/payout.py PayoutStatus.from_stripe   0% 5 5 0   0% 4 0   0%
polar/models/payout.py Payout.gross_amount   0% 1 1 0   100% 0 0   0%
polar/models/payout.py Payout.fees_transactions   0% 1 1 0   100% 0 0   0%
polar/models/payout.py Payout.is_invoice_generated   0% 1 1 0   100% 0 0   0%
polar/models/payout.py (no function)   96% 55 2 0   50% 2 1   95%
polar/models/personal_access_token.py PersonalAccessToken.user   100% 1 0 0   100% 0 0   100%
polar/models/personal_access_token.py PersonalAccessToken.scopes   100% 1 0 0   100% 0 0   100%
polar/models/personal_access_token.py (no function)   100% 19 0 0   100% 0 0   100%
polar/models/pledge.py PledgeState.active_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.to_created_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.to_confirmation_pending_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.to_pending_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.to_disputed_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.to_paid_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.to_refunded_states   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeState.from_str   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py PledgeType.from_str   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py Pledge.organization   100% 1 0 0   100% 0 0   100%
polar/models/pledge.py Pledge.amount_including_fee   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py Pledge.user   100% 1 0 0   100% 0 0   100%
polar/models/pledge.py Pledge.by_organization   100% 1 0 0   100% 0 0   100%
polar/models/pledge.py Pledge.on_behalf_of_organization   100% 1 0 0   100% 0 0   100%
polar/models/pledge.py Pledge.created_by_user   100% 1 0 0   100% 0 0   100%
polar/models/pledge.py Pledge.ready_for_transfer   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py Pledge._ready_for_transfer_expression   0% 1 1 0   100% 0 0   0%
polar/models/pledge.py (no function)   100% 81 0 0   100% 0 0   100%
polar/models/pledge_transaction.py PledgeTransaction.pledge   100% 1 0 0   100% 0 0   100%
polar/models/pledge_transaction.py PledgeTransaction.issue_reward   100% 1 0 0   100% 0 0   100%
polar/models/pledge_transaction.py (no function)   100% 23 0 0   100% 0 0   100%
polar/models/processor_transaction.py ProcessorTransaction.from_stripe   0% 1 1 0   100% 0 0   0%
polar/models/processor_transaction.py (no function)   100% 27 0 0   100% 0 0   100%
polar/models/product.py Product.organization   100% 1 0 0   100% 0 0   100%
polar/models/product.py Product.all_prices   100% 1 0 0   100% 0 0   100%
polar/models/product.py Product.prices   100% 1 0 0   100% 0 0   100%
polar/models/product.py Product.get_stripe_name   100% 1 0 0   100% 0 0   100%
polar/models/product.py Product.get_price   0% 5 5 0   0% 4 0   0%
polar/models/product.py Product.get_static_price   80% 5 1 0   50% 4 2   67%
polar/models/product.py Product.is_legacy_recurring_price   0% 1 1 0   100% 0 0   0%
polar/models/product.py Product.has_seat_based_price   0% 1 1 0   100% 0 0   0%
polar/models/product.py Product.is_recurring   100% 3 0 0   100% 2 0   100%
polar/models/product.py Product._is_recurring_expression   100% 1 0 0   100% 0 0   100%
polar/models/product.py Product.billing_type   0% 3 3 0   0% 2 0   0%
polar/models/product.py Product._billing_type_expression   100% 1 0 0   100% 0 0   100%
polar/models/product.py (no function)   97% 61 2 0   50% 2 1   95%
polar/models/product_benefit.py ProductBenefit.product   100% 1 0 0   100% 0 0   100%
polar/models/product_benefit.py ProductBenefit.benefit   100% 1 0 0   100% 0 0   100%
polar/models/product_benefit.py (no function)   94% 17 1 0   50% 2 1   89%
polar/models/product_custom_field.py ProductCustomField.product   100% 1 0 0   100% 0 0   100%
polar/models/product_custom_field.py (no function)   93% 14 1 0   50% 2 1   88%
polar/models/product_media.py ProductMedia.product   100% 1 0 0   100% 0 0   100%
polar/models/product_media.py ProductMedia.file   100% 1 0 0   100% 0 0   100%
polar/models/product_media.py (no function)   89% 18 2 0   50% 2 1   85%
polar/models/product_price.py ProductPriceType.as_literal   0% 1 1 0   100% 0 0   0%
polar/models/product_price.py HasStripePriceId.get_stripe_price_params   0% 1 1 0   100% 0 0   0%
polar/models/product_price.py ProductPrice.product   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py ProductPrice.checkout_product   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py ProductPrice.is_recurring   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py ProductPrice._is_recurring_expression   0% 1 1 0   100% 0 0   0%
polar/models/product_price.py ProductPrice.is_static   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py ProductPrice._is_static_price_expression   0% 1 1 0   100% 0 0   0%
polar/models/product_price.py ProductPrice.is_metered   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py ProductPrice._is_metered_price_expression   0% 1 1 0   100% 0 0   0%
polar/models/product_price.py ProductPrice.legacy_type   100% 3 0 0   100% 2 0   100%
polar/models/product_price.py ProductPrice.legacy_recurring_interval   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py _ProductPriceFixed.get_stripe_price_params   0% 4 4 0   0% 2 0   0%
polar/models/product_price.py _ProductPriceCustom.get_stripe_price_params   0% 8 8 0   0% 6 0   0%
polar/models/product_price.py _ProductPriceFree.get_stripe_price_params   0% 4 4 0   0% 2 0   0%
polar/models/product_price.py ProductPriceMeteredUnit.meter   100% 1 0 0   100% 0 0   100%
polar/models/product_price.py ProductPriceMeteredUnit.get_amount_and_label   0% 9 9 0   0% 2 0   0%
polar/models/product_price.py ProductPriceSeatUnit.get_tier_for_seats   0% 6 6 0   0% 4 0   0%
polar/models/product_price.py ProductPriceSeatUnit.get_price_per_seat   0% 2 2 0   100% 0 0   0%
polar/models/product_price.py ProductPriceSeatUnit.calculate_amount   0% 1 1 0   100% 0 0   0%
polar/models/product_price.py set_identity   78% 9 2 0   50% 4 2   69%
polar/models/product_price.py (no function)   99% 127 1 0   50% 2 1   98%
polar/models/refund.py RefundReason.from_stripe   0% 7 7 0   0% 6 0   0%
polar/models/refund.py RefundReason.to_stripe   0% 3 3 0   0% 2 0   0%
polar/models/refund.py RefundFailureReason.from_stripe   0% 13 13 0   0% 12 0   0%
polar/models/refund.py Refund.order   100% 1 0 0   100% 0 0   100%
polar/models/refund.py Refund.subscription   100% 1 0 0   100% 0 0   100%
polar/models/refund.py Refund.organization   100% 1 0 0   100% 0 0   100%
polar/models/refund.py Refund.customer   100% 1 0 0   100% 0 0   100%
polar/models/refund.py Refund.pledge   100% 1 0 0   100% 0 0   100%
polar/models/refund.py Refund.succeeded   0% 1 1 0   100% 0 0   0%
polar/models/refund.py Refund._succeeded_expression   0% 1 1 0   100% 0 0   0%
polar/models/refund.py Refund.total_amount   0% 1 1 0   100% 0 0   0%
polar/models/refund.py Refund._total_amount_expression   0% 1 1 0   100% 0 0   0%
polar/models/refund.py (no function)   99% 80 1 0   50% 2 1   98%
polar/models/subscription.py SubscriptionStatus.incomplete_statuses   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py SubscriptionStatus.active_statuses   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py SubscriptionStatus.revoked_statuses   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py SubscriptionStatus.billable_statuses   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py SubscriptionStatus.is_incomplete   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py SubscriptionStatus.is_active   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py SubscriptionStatus.is_revoked   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py SubscriptionStatus.is_billable   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription.customer   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.payment_method   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.product   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.discount   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.checkout   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.grants   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.customer_seats   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.is_incomplete   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription.trialing   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription._trialing_expression   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription.active   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription._active_expression   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.revoked   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription._revoked_expression   100% 1 0 0   100% 0 0   100%
polar/models/subscription.py Subscription.canceled   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription._canceled_expression   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription.billable   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription._billable_expression   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription.can_cancel   0% 9 9 0   0% 8 0   0%
polar/models/subscription.py Subscription.can_uncancel   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py Subscription.set_started_at   0% 2 2 0   0% 2 0   0%
polar/models/subscription.py Subscription.update_amount_and_currency   0% 10 10 0   0% 6 0   0%
polar/models/subscription.py Subscription.update_meters   0% 11 11 0   0% 6 0   0%
polar/models/subscription.py Subscription.get_meter   0% 4 4 0   0% 4 0   0%
polar/models/subscription.py _prices_replaced   0% 2 2 0   100% 0 0   0%
polar/models/subscription.py _price_appended   0% 4 4 0   0% 2 0   0%
polar/models/subscription.py _discount_set   0% 1 1 0   100% 0 0   0%
polar/models/subscription.py (no function)   99% 141 1 0   50% 2 1   99%
polar/models/subscription_meter.py SubscriptionMeter.subscription   100% 1 0 0   100% 0 0   100%
polar/models/subscription_meter.py SubscriptionMeter.meter   100% 1 0 0   100% 0 0   100%
polar/models/subscription_meter.py SubscriptionMeter.reset   0% 3 3 0   100% 0 0   0%
polar/models/subscription_meter.py (no function)   91% 23 2 0   50% 2 1   88%
polar/models/subscription_product_price.py SubscriptionProductPrice.product_price   100% 1 0 0   100% 0 0   100%
polar/models/subscription_product_price.py SubscriptionProductPrice.subscription   100% 1 0 0   100% 0 0   100%
polar/models/subscription_product_price.py SubscriptionProductPrice.from_price   0% 9 9 0   0% 6 0   0%
polar/models/subscription_product_price.py (no function)   95% 19 1 0   50% 2 1   90%
polar/models/transaction.py Transaction.account   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.payment_customer   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.payment_organization   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.payment_user   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.pledge   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.order   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.issue_reward   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.payment_transaction   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.refund   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.payout   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.balance_transactions   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.balance_reversal_transaction   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.balance_reversal_transactions   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.payout_transaction   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.paid_transactions   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.incurred_by_transaction   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.incurred_transactions   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.account_incurred_transactions   100% 1 0 0   100% 0 0   100%
polar/models/transaction.py Transaction.incurred_amount   0% 1 1 0   100% 0 0   0%
polar/models/transaction.py Transaction.gross_amount   0% 2 2 0   100% 0 0   0%
polar/models/transaction.py Transaction.net_amount   0% 2 2 0   100% 0 0   0%
polar/models/transaction.py Transaction.reversed_amount   0% 1 1 0   100% 0 0   0%
polar/models/transaction.py Transaction.transferable_amount   0% 1 1 0   100% 0 0   0%
polar/models/transaction.py Transaction.__repr__   0% 1 1 0   100% 0 0   0%
polar/models/transaction.py (no function)   99% 198 1 0   50% 2 1   99%
polar/models/trial_redemption.py TrialRedemption.customer   100% 1 0 0   100% 0 0   100%
polar/models/trial_redemption.py TrialRedemption.product   100% 1 0 0   100% 0 0   100%
polar/models/trial_redemption.py (no function)   95% 19 1 0   50% 2 1   90%
polar/models/user.py IdentityVerificationStatus.get_display_name   0% 1 1 0   100% 0 0   0%
polar/models/user.py OAuthAccount.is_access_token_expired   0% 3 3 0   0% 2 0   0%
polar/models/user.py OAuthAccount.should_refresh_access_token   0% 3 3 0   0% 2 0   0%
polar/models/user.py User.account   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.oauth_accounts   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.identity_verified   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.can_authenticate   0% 1 1 0   100% 0 0   0%
polar/models/user.py User._can_authenticate_expression   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.signup_attribution   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.signup_attribution   29% 7 5 0   25% 4 1   27%
polar/models/user.py User.had_creator_signup_intent   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.campaign_code   0% 1 1 0   100% 0 0   0%
polar/models/user.py User.get_oauth_account   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.get_github_account   0% 1 1 0   100% 0 0   0%
polar/models/user.py User.posthog_distinct_id   100% 1 0 0   100% 0 0   100%
polar/models/user.py User.public_name   0% 4 4 0   0% 2 0   0%
polar/models/user.py User.github_username   0% 4 4 0   0% 2 0   0%
polar/models/user.py (no function)   99% 83 1 0   50% 2 1   98%
polar/models/user_notification.py (no function)   100% 8 0 0   100% 0 0   100%
polar/models/user_organization.py UserOrganization.user   100% 1 0 0   100% 0 0   100%
polar/models/user_organization.py UserOrganization.organization   100% 1 0 0   100% 0 0   100%
polar/models/user_organization.py (no function)   100% 14 0 0   100% 0 0   100%
polar/models/user_session.py get_expires_at   0% 1 1 0   100% 0 0   0%
polar/models/user_session.py UserSession.user   100% 1 0 0   100% 0 0   100%
polar/models/user_session.py (no function)   100% 21 0 0   100% 0 0   100%
polar/models/wallet.py Wallet.customer   100% 1 0 0   100% 0 0   100%
polar/models/wallet.py Wallet.balance   100% 2 0 0   100% 0 0   100%
polar/models/wallet.py (no function)   92% 25 2 0   50% 2 1   89%
polar/models/wallet_transaction.py WalletTransaction.wallet   100% 1 0 0   100% 0 0   100%
polar/models/wallet_transaction.py WalletTransaction.order   100% 1 0 0   100% 0 0   100%
polar/models/wallet_transaction.py WalletTransaction.refund   100% 1 0 0   100% 0 0   100%
polar/models/wallet_transaction.py (no function)   89% 28 3 0   50% 2 1   87%
polar/models/webhook_delivery.py WebhookDelivery.webhook_endpoint   100% 1 0 0   100% 0 0   100%
polar/models/webhook_delivery.py WebhookDelivery.webhook_event   100% 1 0 0   100% 0 0   100%
polar/models/webhook_delivery.py (no function)   89% 19 2 0   50% 2 1   86%
polar/models/webhook_endpoint.py WebhookEndpoint.organization   100% 1 0 0   100% 0 0   100%
polar/models/webhook_endpoint.py (no function)   98% 55 1 0   50% 2 1   96%
polar/models/webhook_event.py WebhookEvent.webhook_endpoint   100% 1 0 0   100% 0 0   100%
polar/models/webhook_event.py WebhookEvent.is_archived   0% 1 1 0   100% 0 0   0%
polar/models/webhook_event.py WebhookEvent._is_archived_expression   100% 1 0 0   100% 0 0   100%
polar/models/webhook_event.py (no function)   96% 26 1 0   50% 2 1   93%
polar/notification_recipient/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/notification_recipient/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/notification_recipient/repository.py NotificationRecipientRepository.delete   100% 5 0 0   100% 2 0   100%
polar/notification_recipient/repository.py NotificationRecipientRepository.list_by_user   100% 6 0 0   100% 4 0   100%
polar/notification_recipient/repository.py NotificationRecipientRepository.get_by_expo_token   100% 2 0 0   100% 0 0   100%
polar/notification_recipient/repository.py (no function)   100% 11 0 0   100% 0 0   100%
polar/notification_recipient/schemas.py (no function)   100% 15 0 0   100% 0 0   100%
polar/notification_recipient/service.py NotificationRecipientService.list_by_user   100% 2 0 0   100% 0 0   100%
polar/notification_recipient/service.py NotificationRecipientService.create   100% 7 0 0   100% 4 0   100%
polar/notification_recipient/service.py NotificationRecipientService.delete   100% 2 0 0   100% 0 0   100%
polar/notification_recipient/service.py (no function)   100% 14 0 0   100% 0 0   100%
polar/notifications/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/notifications/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/notifications/endpoints.py get   100% 3 0 0   100% 0 0   100%
polar/notifications/endpoints.py mark_read   100% 2 0 0   100% 0 0   100%
polar/notifications/endpoints.py create   100% 2 0 0   100% 0 0   100%
polar/notifications/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/notifications/endpoints.py delete   100% 1 0 0   100% 0 0   100%
polar/notifications/endpoints.py (no function)   100% 25 0 0   100% 0 0   100%
polar/notifications/notification.py NotificationPayloadBase.subject   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py NotificationPayloadBase.template_name   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py NotificationPayloadBase.render   0% 2 2 0   100% 0 0   0%
polar/notifications/notification.py MaintainerAccountUnderReviewNotificationPayload.subject   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerAccountUnderReviewNotificationPayload.template_name   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerNewPaidSubscriptionNotificationPayload.formatted_price_amount   0% 3 3 0   0% 2 0   0%
polar/notifications/notification.py MaintainerNewPaidSubscriptionNotificationPayload.subject   0% 4 4 0   0% 2 0   0%
polar/notifications/notification.py MaintainerNewPaidSubscriptionNotificationPayload.template_name   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerNewProductSaleNotificationPayload.formatted_price_amount   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerNewProductSaleNotificationPayload.subject   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerNewProductSaleNotificationPayload.template_name   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerCreateAccountNotificationPayload.subject   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py MaintainerCreateAccountNotificationPayload.template_name   0% 1 1 0   100% 0 0   0%
polar/notifications/notification.py (no function)   100% 45 0 0   100% 0 0   100%
polar/notifications/schemas.py (no function)   100% 5 0 0   100% 0 0   100%
polar/notifications/service.py NotificationsService.get   0% 3 3 0   100% 0 0   0%
polar/notifications/service.py NotificationsService.get_for_user   100% 3 0 0   100% 0 0   100%
polar/notifications/service.py NotificationsService.send_to_user   0% 6 6 0   100% 0 0   0%
polar/notifications/service.py NotificationsService.send_to_org_members   0% 3 3 0   0% 2 0   0%
polar/notifications/service.py NotificationsService.parse_payload   0% 3 3 0   100% 0 0   0%
polar/notifications/service.py NotificationsService.get_user_last_read   100% 4 0 0   100% 0 0   100%
polar/notifications/service.py NotificationsService.set_user_last_read   100% 2 0 0   100% 0 0   100%
polar/notifications/service.py (no function)   100% 23 0 0   100% 0 0   100%
polar/notifications/tasks/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
polar/notifications/tasks/email.py notifications_send   0% 8 8 0   0% 2 0   0%
polar/notifications/tasks/email.py (no function)   100% 8 0 0   100% 0 0   100%
polar/notifications/tasks/push.py send_push_message   0% 16 16 0   100% 0 0   0%
polar/notifications/tasks/push.py notifications_push   0% 20 20 0   0% 8 0   0%
polar/notifications/tasks/push.py (no function)   100% 13 0 0   100% 0 0   100%
polar/oauth2/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py _get_server_metadata   100% 2 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py _get_server_metadata._dummy_url_for   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.generate_client_registration_info   100% 2 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.generate_client_id   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.generate_client_secret   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.create_registration_response   100% 7 0 0   75% 4 1   91%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.get_server_metadata   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.authenticate_token   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientRegistrationEndpoint.save_client   100% 8 0 0   100% 2 0   100%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.generate_client_registration_info   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.create_read_client_response   71% 7 2 0   50% 4 2   64%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.authenticate_token   89% 9 1 0   83% 6 1   87%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.authenticate_client   92% 12 1 0   83% 6 1   89%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.revoke_access_token   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.check_permission   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.delete_client   100% 2 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.update_client   100% 4 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py ClientConfigurationEndpoint.get_server_metadata   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py _QueryTokenMixin.query_token   0% 9 9 0   0% 4 0   0%
polar/oauth2/authorization_server.py RevocationEndpoint.revoke_token   0% 7 7 0   0% 2 0   0%
polar/oauth2/authorization_server.py IntrospectionEndpoint.check_permission   0% 1 1 0   100% 0 0   0%
polar/oauth2/authorization_server.py IntrospectionEndpoint.introspect_token   0% 1 1 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.create_endpoint_response   100% 0 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.__init__   100% 4 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.build   100% 7 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.query_client   0% 3 3 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.save_token   0% 11 11 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.get_error_uri   67% 3 1 0   50% 2 1   60%
polar/oauth2/authorization_server.py AuthorizationServer.create_oauth2_request   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.create_json_request   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.send_signal   0% 1 1 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.handle_response   100% 3 0 0   100% 2 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.create_bearer_token_generator   100% 3 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.create_bearer_token_generator._access_token_generator   0% 2 2 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.create_bearer_token_generator._refresh_token_generator   0% 2 2 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.create_authorization_response   13% 15 13 0   25% 4 1   16%
polar/oauth2/authorization_server.py AuthorizationServer._save_consent   0% 6 6 0   100% 0 0   0%
polar/oauth2/authorization_server.py AuthorizationServer.response_types_supported   71% 7 2 0   100% 2 0   78%
polar/oauth2/authorization_server.py AuthorizationServer.response_modes_supported   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.grant_types_supported   71% 7 2 0   100% 2 0   78%
polar/oauth2/authorization_server.py AuthorizationServer.token_endpoint_auth_methods_supported   100% 1 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.revocation_endpoint_auth_methods_supported   100% 4 0 0   100% 2 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.introspection_endpoint_auth_methods_supported   100% 4 0 0   100% 2 0   100%
polar/oauth2/authorization_server.py AuthorizationServer.code_challenge_methods_supported   100% 6 0 0   100% 6 0   100%
polar/oauth2/authorization_server.py (no function)   99% 86 1 0   25% 4 1   96%
polar/oauth2/constants.py is_registration_token_prefix   100% 1 0 0   100% 0 0   100%
polar/oauth2/constants.py (no function)   100% 16 0 0   100% 0 0   100%
polar/oauth2/dependencies.py get_optional_token   60% 5 2 0   50% 2 1   57%
polar/oauth2/dependencies.py get_token   67% 6 2 0   50% 4 2   60%
polar/oauth2/dependencies.py get_authorization_server   100% 9 0 0   100% 0 0   100%
polar/oauth2/dependencies.py (no function)   100% 16 0 0   100% 0 0   100%
polar/oauth2/endpoints/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py list   100% 2 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py create   100% 3 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py get   100% 2 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py update   100% 3 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py delete   100% 2 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py authorize   20% 15 12 0   0% 6 0   14%
polar/oauth2/endpoints/oauth2.py consent   100% 3 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py token   100% 2 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py revoke   0% 2 2 0   100% 0 0   0%
polar/oauth2/endpoints/oauth2.py introspect   100% 2 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py userinfo_get   0% 1 1 0   100% 0 0   0%
polar/oauth2/endpoints/oauth2.py userinfo_post   0% 1 1 0   100% 0 0   0%
polar/oauth2/endpoints/oauth2.py (no function)   100% 45 0 0   100% 0 0   100%
polar/oauth2/endpoints/well_known.py well_known_jwks   0% 1 1 0   100% 0 0   0%
polar/oauth2/endpoints/well_known.py well_known_openid_configuration   0% 3 3 0   100% 0 0   0%
polar/oauth2/endpoints/well_known.py well_known_openid_configuration._url_for   0% 1 1 0   100% 0 0   0%
polar/oauth2/endpoints/well_known.py (no function)   100% 12 0 0   100% 0 0   100%
polar/oauth2/exception_handlers.py oauth2_error_exception_handler   100% 4 0 0   50% 2 1   83%
polar/oauth2/exception_handlers.py (no function)   100% 5 0 0   100% 0 0   100%
polar/oauth2/exceptions.py InvalidTokenError.__init__   100% 1 0 0   100% 0 0   100%
polar/oauth2/exceptions.py InsufficientScopeError.__init__   0% 1 1 0   100% 0 0   0%
polar/oauth2/exceptions.py (no function)   100% 11 0 0   100% 0 0   100%
polar/oauth2/grants/__init__.py register_grants   100% 3 0 0   100% 0 0   100%
polar/oauth2/grants/__init__.py (no function)   88% 8 1 0   50% 2 1   80%
polar/oauth2/grants/authorization_code.py _exists_nonce   0% 3 3 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.__init__   0% 3 3 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.before_validate_authorization_request_payload   0% 4 4 0   0% 2 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.create_authorization_response   0% 7 7 0   0% 2 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.generate_authorization_code   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.save_authorization_code   0% 12 12 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.query_authorization_code   0% 7 7 0   0% 2 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.delete_authorization_code   0% 2 2 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py AuthorizationCodeGrant.authenticate_user   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py OpenIDCode.__init__   100% 2 0 0   100% 0 0   100%
polar/oauth2/grants/authorization_code.py OpenIDCode.exists_nonce   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py OpenIDCode.get_jwt_config   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py OpenIDCode.generate_user_info   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py OpenIDToken.get_jwt_config   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py OpenIDToken.generate_user_info   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt.__init__   100% 1 0 0   100% 0 0   100%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt.__call__   0% 2 2 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt._validate   0% 2 2 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt._validate_sub   0% 25 25 0   0% 10 0   0%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt._validate_scope_consent   0% 15 15 0   0% 10 0   0%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt._validate_resolved_sub   0% 3 3 0   0% 2 0   0%
polar/oauth2/grants/authorization_code.py ValidateSubAndPrompt._get_organization_admin   0% 3 3 0   100% 0 0   0%
polar/oauth2/grants/authorization_code.py (no function)   98% 55 1 0   50% 2 1   96%
polar/oauth2/grants/refresh_token.py RefreshTokenGrant.authenticate_refresh_token   0% 7 7 0   0% 2 0   0%
polar/oauth2/grants/refresh_token.py RefreshTokenGrant.authenticate_user   0% 1 1 0   100% 0 0   0%
polar/oauth2/grants/refresh_token.py RefreshTokenGrant.revoke_old_credential   0% 3 3 0   100% 0 0   0%
polar/oauth2/grants/refresh_token.py (no function)   94% 16 1 0   50% 2 1   89%
polar/oauth2/grants/web.py WebGrant.validate_token_request   0% 4 4 0   100% 0 0   0%
polar/oauth2/grants/web.py WebGrant.create_token_response   0% 6 6 0   100% 0 0   0%
polar/oauth2/grants/web.py WebGrant._validate_request_client   0% 4 4 0   0% 2 0   0%
polar/oauth2/grants/web.py WebGrant._validate_request_token   0% 42 42 0   0% 18 0   0%
polar/oauth2/grants/web.py WebGrant._get_organization_admin   0% 3 3 0   100% 0 0   0%
polar/oauth2/grants/web.py (no function)   100% 22 0 0   100% 0 0   100%
polar/oauth2/mcp_client.py create_client   0% 16 16 0   0% 2 0   0%
polar/oauth2/mcp_client.py (no function)   0% 16 16 0   0% 2 0   0%
polar/oauth2/metadata.py get_server_metadata   100% 1 0 0   100% 0 0   100%
polar/oauth2/metadata.py (no function)   98% 44 1 0   50% 2 1   96%
polar/oauth2/requests.py RequestPathParamsMixin.path_params   100% 1 0 0   100% 0 0   100%
polar/oauth2/requests.py StarletteOAuth2Payload.__init__   0% 10 10 0   0% 8 0   0%
polar/oauth2/requests.py StarletteOAuth2Payload.data   0% 1 1 0   100% 0 0   0%
polar/oauth2/requests.py StarletteOAuth2Payload.datalist   0% 1 1 0   100% 0 0   0%
polar/oauth2/requests.py StarletteOAuth2Request.__init__   20% 5 4 0   100% 0 0   20%
polar/oauth2/requests.py StarletteOAuth2Request.args   0% 1 1 0   100% 0 0   0%
polar/oauth2/requests.py StarletteOAuth2Request.form   0% 1 1 0   100% 0 0   0%
polar/oauth2/requests.py StarletteJsonPayload.__init__   100% 1 0 0   100% 0 0   100%
polar/oauth2/requests.py StarletteJsonPayload.data   100% 1 0 0   100% 0 0   100%
polar/oauth2/requests.py StarletteJsonRequest.__init__   100% 4 0 0   100% 0 0   100%
polar/oauth2/requests.py StarletteJsonRequest.url_for   100% 1 0 0   100% 0 0   100%
polar/oauth2/requests.py (no function)   100% 28 0 0   100% 0 0   100%
polar/oauth2/schemas.py _is_localhost   0% 4 4 0   100% 0 0   0%
polar/oauth2/schemas.py _is_https_or_localhost   67% 3 1 0   50% 2 1   60%
polar/oauth2/schemas.py add_oauth2_form_schemas   100% 6 0 0   100% 0 0   100%
polar/oauth2/schemas.py (no function)   100% 55 0 0   50% 2 1   98%
polar/oauth2/service/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/oauth2/service/oauth2_authorization_code.py OAuth2AuthorizationCodeService.revoke_leaked   0% 9 9 0   0% 2 0   0%
polar/oauth2/service/oauth2_authorization_code.py (no function)   100% 13 0 0   100% 0 0   100%
polar/oauth2/service/oauth2_client.py OAuth2ClientService.list   100% 2 0 0   100% 0 0   100%
polar/oauth2/service/oauth2_client.py OAuth2ClientService.get_by_client_id   0% 3 3 0   100% 0 0   0%
polar/oauth2/service/oauth2_client.py OAuth2ClientService.revoke_leaked   0% 23 23 0   0% 12 0   0%
polar/oauth2/service/oauth2_client.py (no function)   100% 25 0 0   50% 2 1   96%
polar/oauth2/service/oauth2_grant.py OAuth2GrantService.create_or_update_grant   0% 12 12 0   0% 6 0   0%
polar/oauth2/service/oauth2_grant.py OAuth2GrantService.has_granted_scope   0% 5 5 0   0% 2 0   0%
polar/oauth2/service/oauth2_grant.py OAuth2GrantService._get_by_sub_and_client_id   0% 8 8 0   0% 4 0   0%
polar/oauth2/service/oauth2_grant.py (no function)   100% 13 0 0   50% 2 1   93%
polar/oauth2/service/oauth2_token.py OAuth2TokenService.get_by_access_token   55% 11 5 0   17% 6 1   41%
polar/oauth2/service/oauth2_token.py OAuth2TokenService.revoke_leaked   0% 26 26 0   0% 12 0   0%
polar/oauth2/service/oauth2_token.py (no function)   100% 23 0 0   50% 2 1   96%
polar/oauth2/sub_type.py is_sub_user   0% 1 1 0   100% 0 0   0%
polar/oauth2/sub_type.py is_sub_organization   0% 1 1 0   100% 0 0   0%
polar/oauth2/sub_type.py SubTypeModelMixin.user   100% 1 0 0   100% 0 0   100%
polar/oauth2/sub_type.py SubTypeModelMixin.organization   100% 1 0 0   100% 0 0   100%
polar/oauth2/sub_type.py SubTypeModelMixin.sub   0% 9 9 0   0% 6 0   0%
polar/oauth2/sub_type.py SubTypeModelMixin._sub_setter   0% 5 5 0   0% 4 0   0%
polar/oauth2/sub_type.py SubTypeModelMixin.get_sub_type_value   0% 1 1 0   100% 0 0   0%
polar/oauth2/sub_type.py (no function)   96% 27 1 0   50% 2 1   93%
polar/oauth2/userinfo.py generate_user_info   0% 17 17 0   0% 14 0   0%
polar/oauth2/userinfo.py (no function)   100% 6 0 0   100% 0 0   100%
polar/openapi.py APITag.metadata   100% 1 0 0   100% 0 0   100%
polar/openapi.py set_openapi_generator   100% 2 0 0   100% 0 0   100%
polar/openapi.py set_openapi_generator._openapi_generator   83% 6 1 0   50% 2 1   75%
polar/openapi.py (no function)   100% 19 0 0   100% 0 0   100%
polar/order/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/order/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/order/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/order/endpoints.py export   100% 3 0 0   100% 0 0   100%
polar/order/endpoints.py export.create_csv   80% 5 1 0   50% 2 1   71%
polar/order/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/order/endpoints.py update   75% 4 1 0   50% 2 1   67%
polar/order/endpoints.py generate_invoice   75% 4 1 0   50% 2 1   67%
polar/order/endpoints.py invoice   75% 4 1 0   50% 2 1   67%
polar/order/endpoints.py (no function)   100% 35 0 0   100% 0 0   100%
polar/order/repository.py OrderRepository.get_all_by_customer   0% 4 4 0   0% 2 0   0%
polar/order/repository.py OrderRepository.get_by_stripe_invoice_id   0% 2 2 0   100% 0 0   0%
polar/order/repository.py OrderRepository.get_earliest_by_checkout_id   100% 2 0 0   100% 0 0   100%
polar/order/repository.py OrderRepository.get_due_dunning_orders   0% 2 2 0   100% 0 0   0%
polar/order/repository.py OrderRepository.acquire_payment_lock_by_id   0% 3 3 0   100% 0 0   0%
polar/order/repository.py OrderRepository.release_payment_lock   0% 1 1 0   100% 0 0   0%
polar/order/repository.py OrderRepository.get_readable_statement   90% 10 1 0   67% 6 2   81%
polar/order/repository.py OrderRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/order/repository.py OrderRepository.get_sorting_clause   100% 17 0 0   94% 16 1   97%
polar/order/repository.py (no function)   96% 25 1 0   50% 2 1   93%
polar/order/schemas.py OrderBase.serialize_billing_reason   0% 3 3 0   0% 2 0   0%
polar/order/schemas.py OrderBase.amount   0% 1 1 0   100% 0 0   0%
polar/order/schemas.py OrderBase.from_balance_amount   0% 1 1 0   100% 0 0   0%
polar/order/schemas.py OrderBase.get_amount_display   0% 1 1 0   100% 0 0   0%
polar/order/schemas.py OrderBase.get_refunded_amount_display   0% 1 1 0   100% 0 0   0%
polar/order/schemas.py (no function)   100% 72 0 0   50% 4 2   97%
polar/order/service.py RecurringProduct.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py NotRecurringProduct.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py MissingCheckoutCustomer.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py MissingStripeCustomerID.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py NotAnOrderInvoice.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py NotASubscriptionInvoice.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py OrderDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py DiscountDoesNotExist.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py CheckoutDoesNotExist.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py SubscriptionDoesNotExist.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py AlreadyBalancedOrder.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py NotPaidOrder.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py MissingInvoiceBillingDetails.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py InvoiceDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py OrderNotEligibleForRetry.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py NoPendingBillingEntries.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py OrderNotPending.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py PaymentAlreadyInProgress.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py CardPaymentFailed.__init__   0% 4 4 0   100% 0 0   0%
polar/order/service.py InvalidPaymentProcessor.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py PaymentRetryValidationError.__init__   0% 1 1 0   100% 0 0   0%
polar/order/service.py SubscriptionNotTrialing.__init__   0% 3 3 0   100% 0 0   0%
polar/order/service.py _is_empty_customer_address   0% 1 1 0   100% 0 0   0%
polar/order/service.py OrderService.acquire_payment_lock   0% 11 11 0   0% 4 0   0%
polar/order/service.py OrderService.list   100% 19 0 0   93% 14 1   97%
polar/order/service.py OrderService.get   100% 3 0 0   100% 0 0   100%
polar/order/service.py OrderService.update   0% 4 4 0   100% 0 0   0%
polar/order/service.py OrderService.trigger_invoice_generation   0% 5 5 0   0% 4 0   0%
polar/order/service.py OrderService.generate_invoice   0% 6 6 0   100% 0 0   0%
polar/order/service.py OrderService.get_order_invoice   0% 4 4 0   0% 2 0   0%
polar/order/service.py OrderService.create_from_checkout_one_time   0% 12 12 0   0% 4 0   0%
polar/order/service.py OrderService.create_from_checkout_subscription   0% 7 7 0   0% 4 0   0%
polar/order/service.py OrderService._create_order_from_checkout   0% 41 41 0   0% 18 0   0%
polar/order/service.py OrderService.create_subscription_order   0% 49 49 0   0% 18 0   0%
polar/order/service.py OrderService.create_trial_order   0% 13 13 0   0% 2 0   0%
polar/order/service.py OrderService.create_wallet_order   0% 31 31 0   0% 6 0   0%
polar/order/service.py OrderService.trigger_payment   0% 26 26 0   0% 10 0   0%
polar/order/service.py OrderService.process_retry_payment   0% 63 63 0   0% 30 0   0%
polar/order/service.py OrderService.handle_payment   0% 23 23 0   0% 16 0   0%
polar/order/service.py OrderService.create_order_from_stripe   0% 100 100 0   0% 48 0   0%
polar/order/service.py OrderService.send_admin_notification   0% 5 5 0   0% 4 0   0%
polar/order/service.py OrderService.update_order_from_stripe   0% 12 12 0   0% 4 0   0%
polar/order/service.py OrderService.send_confirmation_email   0% 47 47 0   0% 16 0   0%
polar/order/service.py OrderService.update_product_benefits_grants   0% 6 6 0   0% 4 0   0%
polar/order/service.py OrderService.update_refunds   0% 3 3 0   100% 0 0   0%
polar/order/service.py OrderService.create_order_balance   0% 25 25 0   0% 8 0   0%
polar/order/service.py OrderService.send_webhook   0% 8 8 0   0% 6 0   0%
polar/order/service.py OrderService._on_order_created   0% 6 6 0   0% 4 0   0%
polar/order/service.py OrderService._on_order_updated   0% 4 4 0   0% 2 0   0%
polar/order/service.py OrderService._on_order_paid   0% 5 5 0   0% 2 0   0%
polar/order/service.py OrderService.handle_payment_failure   0% 14 14 0   0% 10 0   0%
polar/order/service.py OrderService._handle_first_dunning_attempt   0% 6 6 0   100% 0 0   0%
polar/order/service.py OrderService._handle_consecutive_dunning_attempts   0% 16 16 0   0% 6 0   0%
polar/order/service.py OrderService.process_dunning_order   0% 13 13 0   0% 6 0   0%
polar/order/service.py (no function)   100% 152 0 0   50% 2 1   99%
polar/order/sorting.py (no function)   100% 15 0 0   100% 0 0   100%
polar/order/tasks.py SubscriptionDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/order/tasks.py ProductDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/order/tasks.py OrderDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/order/tasks.py PaymentMethodDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/order/tasks.py create_subscription_order   0% 9 9 0   0% 2 0   0%
polar/order/tasks.py trigger_payment   0% 21 21 0   0% 6 0   0%
polar/order/tasks.py create_order_balance   0% 11 11 0   0% 4 0   0%
polar/order/tasks.py update_product_benefits_grants   0% 6 6 0   0% 2 0   0%
polar/order/tasks.py order_confirmation_email   0% 6 6 0   0% 2 0   0%
polar/order/tasks.py order_invoice   0% 6 6 0   0% 2 0   0%
polar/order/tasks.py process_dunning   0% 5 5 0   0% 2 0   0%
polar/order/tasks.py process_dunning_order   0% 6 6 0   0% 2 0   0%
polar/order/tasks.py (no function)   100% 44 0 0   50% 2 1   98%
polar/organization/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/organization/ai_validation.py _fetch_policy_content   64% 14 5 0   75% 4 1   67%
polar/organization/ai_validation.py OrganizationAIValidator.__init__   100% 3 0 0   100% 0 0   100%
polar/organization/ai_validation.py OrganizationAIValidator._validate_input   67% 9 3 0   62% 8 3   65%
polar/organization/ai_validation.py OrganizationAIValidator.validate_organization_details   72% 18 5 0   100% 0 0   72%
polar/organization/ai_validation.py OrganizationAIValidator._prepare_organization_context   91% 11 1 0   75% 8 2   84%
polar/organization/ai_validation.py (no function)   100% 32 0 0   100% 0 0   100%
polar/organization/auth.py (no function)   100% 10 0 0   100% 0 0   100%
polar/organization/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/organization/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/organization/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/organization/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/organization/endpoints.py delete   0% 5 5 0   0% 2 0   0%
polar/organization/endpoints.py get_account   31% 13 9 0   20% 10 2   26%
polar/organization/endpoints.py get_payment_status   83% 12 2 0   75% 8 2   80%
polar/organization/endpoints.py members   100% 5 0 0   100% 2 0   100%
polar/organization/endpoints.py invite_member   94% 18 1 0   83% 6 1   92%
polar/organization/endpoints.py validate_with_ai   100% 5 0 0   100% 2 0   100%
polar/organization/endpoints.py submit_appeal   100% 8 0 0   100% 2 0   100%
polar/organization/endpoints.py get_review_status   88% 8 1 0   75% 4 1   83%
polar/organization/endpoints.py (no function)   100% 51 0 0   100% 0 0   100%
polar/organization/repository.py OrganizationRepository.get_by_id   100% 4 0 0   50% 2 1   83%
polar/organization/repository.py OrganizationRepository.get_by_slug   0% 2 2 0   100% 0 0   0%
polar/organization/repository.py OrganizationRepository.slug_exists   100% 3 0 0   100% 0 0   100%
polar/organization/repository.py OrganizationRepository.get_by_customer   0% 2 2 0   100% 0 0   0%
polar/organization/repository.py OrganizationRepository.get_all_by_user   0% 2 2 0   100% 0 0   0%
polar/organization/repository.py OrganizationRepository.get_all_by_account   0% 2 2 0   100% 0 0   0%
polar/organization/repository.py OrganizationRepository.get_sorting_clause   100% 11 0 0   90% 10 1   95%
polar/organization/repository.py OrganizationRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/organization/repository.py OrganizationRepository.get_admin_user   0% 5 5 0   0% 2 0   0%
polar/organization/repository.py OrganizationReviewRepository.get_by_organization   100% 2 0 0   100% 0 0   100%
polar/organization/repository.py (no function)   100% 24 0 0   100% 0 0   100%
polar/organization/resolver.py get_payload_organization   75% 12 3 0   62% 8 1   70%
polar/organization/resolver.py (no function)   100% 11 0 0   100% 0 0   100%
polar/organization/schemas.py validate_reserved_keywords   67% 3 1 0   50% 2 1   60%
polar/organization/schemas.py OrganizationSocialLink.validate_url   90% 10 1 0   83% 6 1   88%
polar/organization/schemas.py LegacyOrganizationStatus.from_status   60% 5 2 0   100% 0 0   60%
polar/organization/schemas.py (no function)   100% 143 0 0   100% 0 0   100%
polar/organization/service.py InvalidAccount.__init__   0% 3 3 0   100% 0 0   0%
polar/organization/service.py AccountAlreadySet.__init__   0% 3 3 0   100% 0 0   0%
polar/organization/service.py OrganizationService.list   100% 6 0 0   100% 2 0   100%
polar/organization/service.py OrganizationService.get   100% 3 0 0   100% 0 0   100%
polar/organization/service.py OrganizationService.get_anonymous   100% 3 0 0   100% 0 0   100%
polar/organization/service.py OrganizationService.create   100% 8 0 0   100% 2 0   100%
polar/organization/service.py OrganizationService.update   100% 17 0 0   100% 10 0   100%
polar/organization/service.py OrganizationService.delete   0% 19 19 0   0% 12 0   0%
polar/organization/service.py OrganizationService.check_can_delete   0% 8 8 0   0% 4 0   0%
polar/organization/service.py OrganizationService.request_deletion   0% 18 18 0   0% 8 0   0%
polar/organization/service.py OrganizationService.soft_delete_organization   0% 20 20 0   0% 12 0   0%
polar/organization/service.py OrganizationService._delete_account   0% 12 12 0   0% 6 0   0%
polar/organization/service.py OrganizationService._count_orders_by_organization   0% 3 3 0   100% 0 0   0%
polar/organization/service.py OrganizationService._count_active_subscriptions_by_organization   0% 3 3 0   100% 0 0   0%
polar/organization/service.py OrganizationService.add_user   54% 13 6 0   100% 0 0   54%
polar/organization/service.py OrganizationService.set_account   0% 10 10 0   0% 4 0   0%
polar/organization/service.py OrganizationService.get_next_invoice_number   0% 11 11 0   0% 4 0   0%
polar/organization/service.py OrganizationService._after_update   100% 1 0 0   100% 0 0   100%
polar/organization/service.py OrganizationService.check_review_threshold   0% 10 10 0   0% 4 0   0%
polar/organization/service.py OrganizationService.confirm_organization_reviewed   0% 17 17 0   0% 4 0   0%
polar/organization/service.py OrganizationService.deny_organization   73% 11 3 0   50% 2 1   69%
polar/organization/service.py OrganizationService.set_organization_under_review   0% 6 6 0   100% 0 0   0%
polar/organization/service.py OrganizationService.update_status_from_stripe_account   0% 13 13 0   0% 8 0   0%
polar/organization/service.py OrganizationService._sync_account_status   33% 6 4 0   25% 4 1   30%
polar/organization/service.py OrganizationService.get_payment_status   100% 14 0 0   100% 2 0   100%
polar/organization/service.py OrganizationService._is_account_setup_complete   29% 7 5 0   25% 4 1   27%
polar/organization/service.py OrganizationService.is_organization_ready_for_payment   33% 21 14 0   31% 16 3   32%
polar/organization/service.py OrganizationService.validate_with_ai   100% 10 0 0   75% 4 1   93%
polar/organization/service.py OrganizationService.submit_appeal   92% 13 1 0   83% 6 1   89%
polar/organization/service.py OrganizationService.approve_appeal   0% 16 16 0   0% 6 0   0%
polar/organization/service.py OrganizationService.deny_appeal   0% 12 12 0   0% 6 0   0%
polar/organization/service.py (no function)   99% 98 1 0   50% 4 2   97%
polar/organization/sorting.py (no function)   100% 11 0 0   100% 0 0   100%
polar/organization/tasks.py OrganizationDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/organization/tasks.py OrganizationAccountNotSet.__init__   0% 3 3 0   100% 0 0   0%
polar/organization/tasks.py AccountDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/organization/tasks.py UserDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/organization/tasks.py organization_created   0% 5 5 0   0% 2 0   0%
polar/organization/tasks.py organization_account_set   0% 12 12 0   0% 6 0   0%
polar/organization/tasks.py organization_under_review   0% 11 11 0   0% 6 0   0%
polar/organization/tasks.py organization_reviewed   0% 15 15 0   0% 10 0   0%
polar/organization/tasks.py organization_deletion_requested   0% 10 10 0   0% 4 0   0%
polar/organization/tasks.py (no function)   100% 33 0 0   50% 2 1   97%
polar/organization_access_token/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/organization_access_token/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/organization_access_token/endpoints.py create   100% 2 0 0   100% 0 0   100%
polar/organization_access_token/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/organization_access_token/endpoints.py delete   100% 4 0 0   100% 2 0   100%
polar/organization_access_token/endpoints.py (no function)   100% 24 0 0   100% 0 0   100%
polar/organization_access_token/repository.py OrganizationAccessTokenRepository.get_by_token_hash   100% 4 0 0   50% 2 1   83%
polar/organization_access_token/repository.py OrganizationAccessTokenRepository.record_usage   0% 2 2 0   100% 0 0   0%
polar/organization_access_token/repository.py OrganizationAccessTokenRepository.get_readable_statement   100% 4 0 0   100% 0 0   100%
polar/organization_access_token/repository.py OrganizationAccessTokenRepository.count_by_organization_id   100% 2 0 0   100% 0 0   100%
polar/organization_access_token/repository.py (no function)   100% 15 0 0   100% 0 0   100%
polar/organization_access_token/schemas.py (no function)   100% 14 0 0   100% 0 0   100%
polar/organization_access_token/service.py OrganizationAccessTokenService.list   100% 17 0 0   83% 12 2   93%
polar/organization_access_token/service.py OrganizationAccessTokenService.get   100% 3 0 0   100% 0 0   100%
polar/organization_access_token/service.py OrganizationAccessTokenService.get_by_token   100% 3 0 0   100% 0 0   100%
polar/organization_access_token/service.py OrganizationAccessTokenService.create   100% 8 0 0   100% 0 0   100%
polar/organization_access_token/service.py OrganizationAccessTokenService.update   100% 5 0 0   100% 2 0   100%
polar/organization_access_token/service.py OrganizationAccessTokenService.delete   100% 2 0 0   100% 0 0   100%
polar/organization_access_token/service.py OrganizationAccessTokenService.revoke_leaked   0% 12 12 0   0% 4 0   0%
polar/organization_access_token/service.py (no function)   100% 36 0 0   100% 0 0   100%
polar/organization_access_token/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/organization_access_token/tasks.py record_usage   0% 3 3 0   100% 0 0   0%
polar/organization_access_token/tasks.py (no function)   100% 6 0 0   100% 0 0   100%
polar/payment/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/payment/auth.py (no function)   100% 8 0 0   100% 0 0   100%
polar/payment/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/payment/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/payment/endpoints.py (no function)   100% 21 0 0   100% 0 0   100%
polar/payment/repository.py PaymentRepository.get_all_by_customer   0% 4 4 0   0% 2 0   0%
polar/payment/repository.py PaymentRepository.get_by_processor_id   0% 2 2 0   100% 0 0   0%
polar/payment/repository.py PaymentRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/payment/repository.py PaymentRepository.get_sorting_clause   100% 9 0 0   88% 8 1   94%
polar/payment/repository.py PaymentRepository.count_failed_payments_for_order   0% 3 3 0   100% 0 0   0%
polar/payment/repository.py PaymentRepository.get_latest_for_order   0% 2 2 0   100% 0 0   0%
polar/payment/repository.py (no function)   100% 17 0 0   100% 0 0   100%
polar/payment/schemas.py (no function)   100% 28 0 0   100% 0 0   100%
polar/payment/service.py UnlinkedPaymentError.__init__   0% 3 3 0   100% 0 0   0%
polar/payment/service.py UnhandledPaymentIntent.__init__   0% 3 3 0   100% 0 0   0%
polar/payment/service.py PaymentService.list   100% 16 0 0   92% 12 1   96%
polar/payment/service.py PaymentService.get   100% 3 0 0   100% 0 0   100%
polar/payment/service.py PaymentService.upsert_from_stripe_charge   0% 31 31 0   0% 14 0   0%
polar/payment/service.py PaymentService.upsert_from_stripe_payment_intent   0% 25 25 0   0% 8 0   0%
polar/payment/service.py (no function)   100% 25 0 0   50% 2 1   96%
polar/payment/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/payment_method/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/payment_method/repository.py PaymentMethodRepository.get_by_id_and_customer   0% 2 2 0   100% 0 0   0%
polar/payment_method/repository.py PaymentMethodRepository.get_by_customer_and_processor_id   0% 2 2 0   100% 0 0   0%
polar/payment_method/repository.py PaymentMethodRepository.list_by_customer   0% 6 6 0   0% 2 0   0%
polar/payment_method/repository.py PaymentMethodRepository.soft_delete   0% 3 3 0   100% 0 0   0%
polar/payment_method/repository.py PaymentMethodRepository.get_eager_options   0% 1 1 0   100% 0 0   0%
polar/payment_method/repository.py (no function)   100% 13 0 0   100% 0 0   100%
polar/payment_method/schemas.py (no function)   100% 11 0 0   100% 0 0   100%
polar/payment_method/service.py NoPaymentMethodOnIntent.__init__   0% 3 3 0   100% 0 0   0%
polar/payment_method/service.py PaymentMethodInUseByActiveSubscription.__init__   0% 3 3 0   100% 0 0   0%
polar/payment_method/service.py PaymentMethodService.upsert_from_stripe   0% 8 8 0   0% 2 0   0%
polar/payment_method/service.py PaymentMethodService.upsert_from_stripe_intent   0% 5 5 0   0% 2 0   0%
polar/payment_method/service.py PaymentMethodService.upsert_from_stripe_payment_intent_for_order   0% 9 9 0   0% 4 0   0%
polar/payment_method/service.py PaymentMethodService.get_customer_payment_method   0% 7 7 0   0% 4 0   0%
polar/payment_method/service.py PaymentMethodService._get_active_subscription_ids   0% 4 4 0   100% 0 0   0%
polar/payment_method/service.py PaymentMethodService._get_alternative_payment_method   0% 12 12 0   0% 8 0   0%
polar/payment_method/service.py PaymentMethodService._reassign_subscriptions_payment_method   0% 8 8 0   0% 4 0   0%
polar/payment_method/service.py PaymentMethodService.delete   0% 10 10 0   0% 6 0   0%
polar/payment_method/service.py (no function)   100% 27 0 0   50% 2 1   97%
polar/payout/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/payout/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/payout/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/payout/endpoints.py get_estimate   75% 4 1 0   50% 2 1   67%
polar/payout/endpoints.py create   80% 5 1 0   50% 2 1   71%
polar/payout/endpoints.py get_csv   50% 6 3 0   50% 2 1   50%
polar/payout/endpoints.py generate_invoice   75% 4 1 0   50% 2 1   67%
polar/payout/endpoints.py invoice   75% 4 1 0   50% 2 1   67%
polar/payout/endpoints.py (no function)   100% 33 0 0   100% 0 0   100%
polar/payout/repository.py PayoutRepository.count_by_account   0% 2 2 0   100% 0 0   0%
polar/payout/repository.py PayoutRepository.get_by_processor_id   0% 2 2 0   100% 0 0   0%
polar/payout/repository.py PayoutRepository.get_all_stripe_pending   0% 2 2 0   100% 0 0   0%
polar/payout/repository.py PayoutRepository.get_by_account_and_invoice_number   0% 2 2 0   100% 0 0   0%
polar/payout/repository.py PayoutRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/payout/repository.py PayoutRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/payout/repository.py PayoutRepository.get_sorting_clause   100% 13 0 0   92% 12 1   96%
polar/payout/repository.py (no function)   100% 23 0 0   100% 0 0   100%
polar/payout/schemas.py (no function)   100% 14 0 0   100% 0 0   100%
polar/payout/service.py InsufficientBalance.__init__   0% 4 4 0   100% 0 0   0%
polar/payout/service.py UnderReviewAccount.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py NotReadyAccount.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py PendingPayoutCreation.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py PayoutDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py InvoiceAlreadyExists.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py PayoutNotSucceeded.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py MissingInvoiceBillingDetails.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py InvoiceDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py PayoutAlreadyTriggered.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/service.py PayoutService.list   100% 8 0 0   100% 4 0   100%
polar/payout/service.py PayoutService.get   100% 3 0 0   100% 0 0   100%
polar/payout/service.py PayoutService.estimate   0% 12 12 0   0% 6 0   0%
polar/payout/service.py PayoutService.create   0% 22 22 0   0% 10 0   0%
polar/payout/service.py PayoutService.transfer_stripe   0% 19 19 0   0% 4 0   0%
polar/payout/service.py PayoutService.update_from_stripe   0% 9 9 0   0% 4 0   0%
polar/payout/service.py PayoutService.trigger_stripe_payouts   0% 3 3 0   0% 2 0   0%
polar/payout/service.py PayoutService.trigger_stripe_payout   0% 11 11 0   0% 4 0   0%
polar/payout/service.py PayoutService.trigger_invoice_generation   0% 15 15 0   0% 10 0   0%
polar/payout/service.py PayoutService.generate_invoice   0% 8 8 0   0% 2 0   0%
polar/payout/service.py PayoutService.get_invoice   0% 4 4 0   0% 2 0   0%
polar/payout/service.py PayoutService.get_csv   0% 21 21 0   0% 10 0   0%
polar/payout/service.py PayoutService._get_next_invoice_number   0% 7 7 0   0% 2 0   0%
polar/payout/service.py (no function)   100% 70 0 0   50% 2 1   99%
polar/payout/sorting.py (no function)   100% 12 0 0   100% 0 0   100%
polar/payout/tasks.py PayoutDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/payout/tasks.py payout_created   0% 7 7 0   0% 4 0   0%
polar/payout/tasks.py trigger_stripe_payouts   0% 2 2 0   100% 0 0   0%
polar/payout/tasks.py trigger_payout   0% 12 12 0   0% 2 0   0%
polar/payout/tasks.py order_invoice   0% 6 6 0   0% 2 0   0%
polar/payout/tasks.py (no function)   100% 23 0 0   50% 2 1   96%
polar/personal_access_token/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/personal_access_token/endpoints.py list_personal_access_tokens   100% 2 0 0   100% 0 0   100%
polar/personal_access_token/endpoints.py delete_personal_access_token   0% 4 4 0   0% 2 0   0%
polar/personal_access_token/endpoints.py (no function)   100% 15 0 0   100% 0 0   100%
polar/personal_access_token/schemas.py (no function)   100% 6 0 0   100% 0 0   100%
polar/personal_access_token/service.py PersonalAccessTokenService.list   100% 2 0 0   100% 0 0   100%
polar/personal_access_token/service.py PersonalAccessTokenService.get_by_id   0% 3 3 0   100% 0 0   0%
polar/personal_access_token/service.py PersonalAccessTokenService.get_by_token   100% 6 0 0   50% 2 1   88%
polar/personal_access_token/service.py PersonalAccessTokenService.delete   0% 2 2 0   100% 0 0   0%
polar/personal_access_token/service.py PersonalAccessTokenService.record_usage   0% 2 2 0   100% 0 0   0%
polar/personal_access_token/service.py PersonalAccessTokenService.revoke_leaked   0% 10 10 0   0% 2 0   0%
polar/personal_access_token/service.py PersonalAccessTokenService._get_readable_order_statement   100% 1 0 0   100% 0 0   100%
polar/personal_access_token/service.py (no function)   100% 30 0 0   100% 0 0   100%
polar/personal_access_token/tasks.py record_usage   0% 2 2 0   100% 0 0   0%
polar/personal_access_token/tasks.py (no function)   100% 6 0 0   100% 0 0   100%
polar/pledge/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/pledge/hooks.py (no function)   100% 12 0 0   100% 0 0   100%
polar/pledge/service.py PledgeService.get_with_loaded   0% 3 3 0   100% 0 0   0%
polar/pledge/service.py PledgeService.get_by_payment_id   0% 3 3 0   100% 0 0   0%
polar/pledge/service.py PledgeService.list_by   0% 14 14 0   0% 10 0   0%
polar/pledge/service.py PledgeService.get_by_issue_reference   0% 3 3 0   100% 0 0   0%
polar/pledge/service.py PledgeService.list_by_pledging_user   0% 1 1 0   100% 0 0   0%
polar/pledge/service.py PledgeService.connect_backer   0% 7 7 0   0% 4 0   0%
polar/pledge/service.py PledgeService.handle_payment_intent_success   0% 9 9 0   0% 4 0   0%
polar/pledge/service.py PledgeService.handle_paid_invoice   0% 12 12 0   0% 6 0   0%
polar/pledge/service.py PledgeService.refund_by_payment_id   0% 14 14 0   0% 8 0   0%
polar/pledge/service.py PledgeService.mark_charge_disputed_by_payment_id   0% 8 8 0   0% 2 0   0%
polar/pledge/service.py PledgeService.get_reward   0% 3 3 0   100% 0 0   0%
polar/pledge/service.py PledgeService.get_transaction   0% 9 9 0   0% 6 0   0%
polar/pledge/service.py PledgeService.transfer   0% 34 34 0   0% 22 0   0%
polar/pledge/service.py PledgeService.admin_transfer   0% 17 17 0   0% 10 0   0%
polar/pledge/service.py PledgeService.mark_disputed   0% 10 10 0   0% 4 0   0%
polar/pledge/service.py PledgeService.after_pledge_updated   0% 3 3 0   100% 0 0   0%
polar/pledge/service.py PledgeService.user_can_admin_sender_pledge   0% 7 7 0   0% 8 0   0%
polar/pledge/service.py PledgeService.sum_pledges_period   0% 11 11 0   0% 4 0   0%
polar/pledge/service.py PledgeService.month_range   0% 5 5 0   100% 0 0   0%
polar/pledge/service.py (no function)   100% 45 0 0   100% 0 0   100%
polar/postgres.py create_async_engine   100% 1 0 0   100% 0 0   100%
polar/postgres.py create_async_read_engine   100% 1 0 0   100% 0 0   100%
polar/postgres.py create_sync_engine   100% 1 0 0   100% 0 0   100%
polar/postgres.py AsyncSessionMiddleware.__init__   100% 1 0 0   100% 0 0   100%
polar/postgres.py AsyncSessionMiddleware.__call__   100% 6 0 0   100% 2 0   100%
polar/postgres.py get_db_sessionmaker   100% 1 0 0   100% 0 0   100%
polar/postgres.py get_db_session   80% 10 2 0   100% 0 0   80%
polar/postgres.py get_db_read_session   100% 3 0 0   100% 0 0   100%
polar/postgres.py (no function)   100% 19 0 0   100% 0 0   100%
polar/posthog.py _build_event_key   100% 1 0 0   100% 0 0   100%
polar/posthog.py Service.configure   43% 7 4 0   50% 2 1   44%
polar/posthog.py Service.has_feature_flag   0% 5 5 0   0% 4 0   0%
polar/posthog.py Service.capture   67% 3 1 0   50% 2 1   60%
polar/posthog.py Service.auth_subject_event   40% 5 3 0   25% 4 1   33%
polar/posthog.py Service.anonymous_event   0% 1 1 0   100% 0 0   0%
polar/posthog.py Service.user_event   100% 1 0 0   100% 0 0   100%
polar/posthog.py Service.organization_event   0% 1 1 0   100% 0 0   0%
polar/posthog.py Service.identify   0% 3 3 0   0% 2 0   0%
polar/posthog.py Service.user_login   0% 2 2 0   100% 0 0   0%
polar/posthog.py Service.user_signup   0% 2 2 0   100% 0 0   0%
polar/posthog.py Service._get_common_properties   100% 1 0 0   100% 0 0   100%
polar/posthog.py Service._get_user_properties   75% 8 2 0   25% 4 1   58%
polar/posthog.py configure_posthog   100% 1 0 0   100% 0 0   100%
polar/posthog.py (no function)   100% 27 0 0   100% 0 0   100%
polar/processor_transaction/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/processor_transaction/repository.py ProcessorTransactionRepository.get_latest_by_processor   0% 6 6 0   0% 2 0   0%
polar/processor_transaction/repository.py (no function)   100% 7 0 0   100% 0 0   100%
polar/processor_transaction/service.py ProcessorTransactionService.sync_stripe   0% 8 8 0   0% 4 0   0%
polar/processor_transaction/service.py (no function)   100% 8 0 0   100% 0 0   100%
polar/processor_transaction/tasks.py sync_stripe   0% 2 2 0   100% 0 0   0%
polar/processor_transaction/tasks.py (no function)   100% 4 0 0   100% 0 0   100%
polar/product/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/product/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/product/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/product/endpoints.py get   100% 4 0 0   100% 2 0   100%
polar/product/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/product/endpoints.py update   100% 4 0 0   100% 2 0   100%
polar/product/endpoints.py update_benefits   100% 5 0 0   100% 2 0   100%
polar/product/endpoints.py (no function)   100% 31 0 0   100% 0 0   100%
polar/product/guard.py is_legacy_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_currency_price   0% 1 1 0   100% 0 0   0%
polar/product/guard.py is_fixed_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_custom_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_free_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_static_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_metered_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_seat_price   100% 1 0 0   100% 0 0   100%
polar/product/guard.py is_discount_applicable   100% 1 0 0   100% 0 0   100%
polar/product/guard.py (no function)   100% 19 0 0   100% 0 0   100%
polar/product/repository.py ProductRepository.get_by_id_and_organization   100% 2 0 0   100% 0 0   100%
polar/product/repository.py ProductRepository.get_by_id_and_checkout   100% 2 0 0   100% 0 0   100%
polar/product/repository.py ProductRepository.get_eager_options   100% 1 0 0   100% 0 0   100%
polar/product/repository.py ProductRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/product/repository.py ProductRepository.count_by_organization_id   100% 5 0 0   50% 2 1   86%
polar/product/repository.py ProductRepository.get_sorting_clause   100% 9 0 0   88% 8 1   94%
polar/product/repository.py ProductPriceRepository.get_readable_by_id   100% 2 0 0   100% 0 0   100%
polar/product/repository.py ProductPriceRepository.get_by_stripe_price_id   0% 2 2 0   100% 0 0   0%
polar/product/repository.py ProductPriceRepository.get_eager_options   0% 1 1 0   100% 0 0   0%
polar/product/repository.py ProductPriceRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/product/repository.py (no function)   100% 23 0 0   100% 0 0   100%
polar/product/schemas.py ProductPriceCreateBase.get_model_class   0% 1 1 0   100% 0 0   0%
polar/product/schemas.py ProductPriceFixedCreate.get_model_class   100% 1 0 0   100% 0 0   100%
polar/product/schemas.py ProductPriceCustomCreate.get_model_class   100% 1 0 0   100% 0 0   100%
polar/product/schemas.py ProductPriceFreeCreate.get_model_class   100% 1 0 0   100% 0 0   100%
polar/product/schemas.py ProductPriceSeatTiers.validate_tiers   94% 16 1 0   83% 12 2   89%
polar/product/schemas.py ProductPriceSeatBasedCreate.get_model_class   0% 1 1 0   100% 0 0   0%
polar/product/schemas.py ProductPriceMeteredUnitCreate.get_model_class   100% 1 0 0   100% 0 0   100%
polar/product/schemas.py ProductPriceSeatBasedBase.price_per_seat   0% 3 3 0   0% 2 0   0%
polar/product/schemas.py LegacyRecurringProductPriceMixin.legacy   0% 1 1 0   100% 0 0   0%
polar/product/schemas.py _get_discriminator_value   75% 4 1 0   50% 2 1   67%
polar/product/schemas.py (no function)   100% 156 0 0   100% 0 0   100%
polar/product/service.py ProductService.list   100% 19 0 0   86% 14 2   94%
polar/product/service.py ProductService.get   100% 3 0 0   100% 0 0   100%
polar/product/service.py ProductService.get_embed   0% 3 3 0   100% 0 0   0%
polar/product/service.py ProductService.create   58% 33 14 0   38% 16 2   51%
polar/product/service.py ProductService.update   81% 74 14 0   76% 46 7   79%
polar/product/service.py ProductService.update_benefits   69% 26 8 0   42% 12 3   61%
polar/product/service.py ProductService.get_validated_prices   62% 37 14 0   55% 20 3   60%
polar/product/service.py ProductService._archive   0% 6 6 0   0% 2 0   0%
polar/product/service.py ProductService._unarchive   0% 4 4 0   0% 2 0   0%
polar/product/service.py ProductService._after_product_created   0% 4 4 0   0% 2 0   0%
polar/product/service.py ProductService._after_product_updated   100% 1 0 0   100% 0 0   100%
polar/product/service.py ProductService._send_webhook   100% 4 0 0   50% 2 1   83%
polar/product/service.py (no function)   100% 48 0 0   50% 2 1   98%
polar/product/sorting.py (no function)   100% 10 0 0   100% 0 0   100%
polar/rate_limit.py _authenticate   0% 8 8 0   0% 2 0   0%
polar/rate_limit.py get_middleware   75% 8 2 0   50% 4 2   67%
polar/rate_limit.py (no function)   100% 16 0 0   100% 0 0   100%
polar/redis.py create_redis   100% 1 0 0   100% 0 0   100%
polar/redis.py get_redis   100% 1 0 0   100% 0 0   100%
polar/redis.py (no function)   94% 16 1 0   50% 2 1   89%
polar/refund/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/refund/auth.py (no function)   100% 7 0 0   100% 0 0   100%
polar/refund/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/refund/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/refund/endpoints.py (no function)   100% 22 0 0   100% 0 0   100%
polar/refund/schemas.py Refund.get_amount_display   0% 1 1 0   100% 0 0   0%
polar/refund/schemas.py InternalRefundCreate.from_stripe   0% 12 12 0   0% 4 0   0%
polar/refund/schemas.py (no function)   100% 24 0 0   100% 0 0   100%
polar/refund/service.py RefundUnknownPayment.__init__   0% 3 3 0   100% 0 0   0%
polar/refund/service.py RefundedAlready.__init__   0% 3 3 0   100% 0 0   0%
polar/refund/service.py RefundAmountTooHigh.__init__   0% 3 3 0   100% 0 0   0%
polar/refund/service.py RevokeSubscriptionBenefitsProhibited.__init__   0% 2 2 0   100% 0 0   0%
polar/refund/service.py RefundService.get_list   100% 22 0 0   89% 18 2   95%
polar/refund/service.py RefundService.user_create   80% 5 1 0   50% 2 1   71%
polar/refund/service.py RefundService.create   0% 28 28 0   0% 10 0   0%
polar/refund/service.py RefundService.upsert_from_stripe   0% 4 4 0   0% 2 0   0%
polar/refund/service.py RefundService.create_from_stripe   0% 4 4 0   100% 0 0   0%
polar/refund/service.py RefundService.update_from_stripe   0% 28 28 0   0% 10 0   0%
polar/refund/service.py RefundService.enqueue_benefits_revokation   0% 7 7 0   0% 4 0   0%
polar/refund/service.py RefundService.calculate_tax   0% 7 7 0   0% 4 0   0%
polar/refund/service.py RefundService.calculate_tax_from_stripe   0% 7 7 0   0% 4 0   0%
polar/refund/service.py RefundService.build_create_schema_from_stripe   0% 15 15 0   0% 2 0   0%
polar/refund/service.py RefundService.build_instance_from_stripe   0% 3 3 0   100% 0 0   0%
polar/refund/service.py RefundService._create   0% 16 16 0   0% 8 0   0%
polar/refund/service.py RefundService._create_refund_transaction   0% 16 16 0   0% 8 0   0%
polar/refund/service.py RefundService._revert_refund_transaction   0% 7 7 0   0% 2 0   0%
polar/refund/service.py RefundService._on_created   0% 1 1 0   100% 0 0   0%
polar/refund/service.py RefundService._on_succeeded   0% 6 6 0   0% 2 0   0%
polar/refund/service.py RefundService._on_updated   0% 1 1 0   100% 0 0   0%
polar/refund/service.py RefundService._get_resources   0% 19 19 0   0% 12 0   0%
polar/refund/service.py RefundService._get_readable_refund_statement   71% 7 2 0   25% 4 1   55%
polar/refund/service.py (no function)   100% 72 0 0   50% 2 1   99%
polar/refund/sorting.py (no function)   100% 8 0 0   100% 0 0   100%
polar/routing.py (no function)   100% 6 0 0   100% 0 0   100%
polar/sentry.py DramatiqIntegration.setup_once   0% 3 3 0   100% 0 0   0%
polar/sentry.py configure_sentry   100% 1 0 0   100% 0 0   100%
polar/sentry.py set_sentry_user   100% 4 0 0   100% 2 0   100%
polar/sentry.py (no function)   100% 14 0 0   100% 0 0   100%
polar/storefront/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/storefront/endpoints.py get   33% 9 6 0   17% 6 1   27%
polar/storefront/endpoints.py get_organization_slug_by_product_id   75% 4 1 0   50% 2 1   67%
polar/storefront/endpoints.py get_organization_slug_by_subscription_id   75% 4 1 0   50% 2 1   67%
polar/storefront/endpoints.py (no function)   100% 17 0 0   100% 0 0   100%
polar/storefront/schemas.py (no function)   100% 15 0 0   100% 0 0   100%
polar/storefront/service.py StorefrontService.get   100% 3 0 0   100% 0 0   100%
polar/storefront/service.py StorefrontService.get_organization_slug_by_product_id   100% 3 0 0   100% 0 0   100%
polar/storefront/service.py StorefrontService.get_organization_slug_by_subscription_id   100% 3 0 0   100% 0 0   100%
polar/storefront/service.py StorefrontService.list_customers   0% 3 3 0   100% 0 0   0%
polar/storefront/service.py (no function)   100% 12 0 0   100% 0 0   100%
polar/subscription/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/subscription/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/subscription/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/subscription/endpoints.py export   100% 3 0 0   100% 0 0   100%
polar/subscription/endpoints.py export.create_csv   80% 5 1 0   50% 2 1   71%
polar/subscription/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/subscription/endpoints.py get_charge_preview   33% 9 6 0   12% 8 1   24%
polar/subscription/endpoints.py create   100% 1 0 0   100% 0 0   100%
polar/subscription/endpoints.py update   50% 6 3 0   50% 2 1   50%
polar/subscription/endpoints.py revoke   50% 6 3 0   50% 2 1   50%
polar/subscription/endpoints.py (no function)   100% 39 0 0   100% 0 0   100%
polar/subscription/repository.py SubscriptionRepository.list_active_by_customer   100% 2 0 0   100% 0 0   100%
polar/subscription/repository.py SubscriptionRepository.get_by_id_and_organization   0% 2 2 0   100% 0 0   0%
polar/subscription/repository.py SubscriptionRepository.get_by_checkout_id   100% 3 0 0   100% 0 0   100%
polar/subscription/repository.py SubscriptionRepository.get_by_stripe_subscription_id   0% 2 2 0   100% 0 0   0%
polar/subscription/repository.py SubscriptionRepository.get_eager_options   100% 3 0 0   100% 2 0   100%
polar/subscription/repository.py SubscriptionRepository.get_readable_statement   90% 10 1 0   67% 6 2   81%
polar/subscription/repository.py SubscriptionRepository.get_claimed_subscriptions_statement   100% 3 0 0   100% 0 0   100%
polar/subscription/repository.py SubscriptionRepository.get_sorting_clause   100% 15 0 0   93% 14 1   97%
polar/subscription/repository.py SubscriptionProductPriceRepository.get_by_customer_and_meter   0% 4 4 0   0% 2 0   0%
polar/subscription/repository.py SubscriptionProductPriceRepository._get_direct_subscription_price   0% 5 5 0   0% 2 0   0%
polar/subscription/repository.py SubscriptionProductPriceRepository._get_seat_subscription_price   0% 8 8 0   0% 4 0   0%
polar/subscription/repository.py SubscriptionProductPriceRepository._get_active_seat_for_customer   0% 2 2 0   100% 0 0   0%
polar/subscription/repository.py SubscriptionProductPriceRepository._find_metered_price_in_subscription   0% 4 4 0   0% 4 0   0%
polar/subscription/repository.py (no function)   97% 37 1 0   50% 2 1   95%
polar/subscription/scheduler.py enqueue_subscription_cycle   0% 2 2 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.shutdown   0% 2 2 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.lookup_job   0% 1 1 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.get_due_jobs   0% 4 4 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.get_next_run_time   0% 6 6 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.get_all_jobs   0% 4 4 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.remove_job   0% 4 4 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.add_job   0% 1 1 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.update_job   0% 1 1 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore.remove_all_jobs   0% 1 1 0   100% 0 0   0%
polar/subscription/scheduler.py SubscriptionJobStore._list_jobs_from_statement   0% 10 10 0   0% 2 0   0%
polar/subscription/scheduler.py (no function)   0% 26 26 0   100% 0 0   0%
polar/subscription/schemas.py SubscriptionBase.get_amount_display   0% 3 3 0   0% 2 0   0%
polar/subscription/schemas.py (no function)   100% 92 0 0   50% 2 1   99%
polar/subscription/service.py NotARecurringProduct.__init__   0% 4 4 0   100% 0 0   0%
polar/subscription/service.py MissingCheckoutCustomer.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py InactiveSubscription.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py SubscriptionDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py AlreadyCanceledSubscription.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py TrialingSubscription.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py SubscriptionNotActiveOnStripe.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py SubscriptionLocked.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py MissingStripeCustomerID.__init__   0% 4 4 0   100% 0 0   0%
polar/subscription/service.py SubscriptionManagedByStripe.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py SubscriptionNotReadyForMigration.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py NotASeatBasedSubscription.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/service.py SeatsAlreadyAssigned.__init__   0% 5 5 0   100% 0 0   0%
polar/subscription/service.py BelowMinimumSeats.__init__   0% 5 5 0   100% 0 0   0%
polar/subscription/service.py OneTimeOrderNotSupported.__init__   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py _from_timestamp   100% 1 0 0   0% 2 2   33%
polar/subscription/service.py _from_timestamp   100% 1 0 0   0% 2 2   33%
polar/subscription/service.py _from_timestamp   0% 3 3 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._get_seat_based_price   0% 4 4 0   0% 4 0   0%
polar/subscription/service.py SubscriptionService._get_minimum_seats_from_tiers   0% 7 7 0   0% 4 0   0%
polar/subscription/service.py SubscriptionService._calculate_time_proration   0% 5 5 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._calculate_proration_factor   0% 7 7 0   0% 4 0   0%
polar/subscription/service.py SubscriptionService.list   100% 23 0 0   94% 18 1   98%
polar/subscription/service.py SubscriptionService.get   100% 3 0 0   100% 0 0   100%
polar/subscription/service.py SubscriptionService.create   39% 44 27 0   31% 16 3   37%
polar/subscription/service.py SubscriptionService.create_or_update_from_checkout   0% 65 65 0   0% 16 0   0%
polar/subscription/service.py SubscriptionService.create_or_update_from_checkout_stripe   0% 83 83 0   0% 28 0   0%
polar/subscription/service.py SubscriptionService.cycle   0% 36 36 0   0% 18 0   0%
polar/subscription/service.py SubscriptionService.reset_meters   0% 6 6 0   0% 4 0   0%
polar/subscription/service.py SubscriptionService._after_subscription_created   0% 4 4 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.lock   0% 5 5 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.update   0% 17 17 0   0% 16 0   0%
polar/subscription/service.py SubscriptionService.update_product   0% 90 90 0   0% 46 0   0%
polar/subscription/service.py SubscriptionService.update_discount   0% 13 13 0   0% 8 0   0%
polar/subscription/service.py SubscriptionService.update_discount._update_discount   0% 6 6 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.update_trial   0% 22 22 0   0% 12 0   0%
polar/subscription/service.py SubscriptionService.update_seats   0% 33 33 0   0% 14 0   0%
polar/subscription/service.py SubscriptionService.update_currrent_billing_period_end   0% 19 19 0   0% 10 0   0%
polar/subscription/service.py SubscriptionService._create_seat_proration_entry   0% 34 34 0   0% 14 0   0%
polar/subscription/service.py SubscriptionService.uncancel   0% 17 17 0   0% 6 0   0%
polar/subscription/service.py SubscriptionService.revoke   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.cancel   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.cancel_customer   0% 4 4 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.update_from_stripe   0% 25 25 0   0% 8 0   0%
polar/subscription/service.py SubscriptionService._perform_cancellation   0% 28 28 0   0% 12 0   0%
polar/subscription/service.py SubscriptionService.update_cancellation_from_stripe   0% 16 16 0   0% 8 0   0%
polar/subscription/service.py SubscriptionService.update_meters   0% 13 13 0   0% 8 0   0%
polar/subscription/service.py SubscriptionService.calculate_charge_preview   0% 21 21 0   0% 10 0   0%
polar/subscription/service.py SubscriptionService._after_subscription_updated   0% 18 18 0   0% 10 0   0%
polar/subscription/service.py SubscriptionService._on_subscription_updated   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService._on_subscription_activated   0% 3 3 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._on_subscription_past_due   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService._on_subscription_uncanceled   0% 2 2 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService._on_subscription_canceled   0% 3 3 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._on_subscription_revoked   0% 3 3 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._send_new_subscription_notification   0% 3 3 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._send_webhook   0% 6 6 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._is_within_revocation_grace_period   0% 13 13 0   0% 8 0   0%
polar/subscription/service.py SubscriptionService.enqueue_benefits_grants   0% 17 17 0   0% 10 0   0%
polar/subscription/service.py SubscriptionService.update_product_benefits_grants   0% 4 4 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.send_uncanceled_email   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.send_cancellation_email   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.send_revoked_email   0% 1 1 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.send_past_due_email   0% 15 15 0   0% 8 0   0%
polar/subscription/service.py SubscriptionService.send_subscription_updated_email   0% 4 4 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._send_customer_email   0% 17 17 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService._get_outdated_grants   0% 4 4 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.mark_past_due   0% 10 10 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.mark_active   0% 7 7 0   100% 0 0   0%
polar/subscription/service.py SubscriptionService.update_payment_method_from_retry   0% 5 5 0   0% 2 0   0%
polar/subscription/service.py SubscriptionService.migrate_stripe_subscription   0% 41 41 0   0% 16 0   0%
polar/subscription/service.py (no function)   100% 153 0 0   50% 2 1   99%
polar/subscription/sorting.py (no function)   100% 13 0 0   100% 0 0   100%
polar/subscription/tasks.py SubscriptionDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/tasks.py SubscriptionTierDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/subscription/tasks.py subscription_cycle   0% 17 17 0   0% 6 0   0%
polar/subscription/tasks.py subscription_update_product_benefits_grants   0% 6 6 0   0% 2 0   0%
polar/subscription/tasks.py subscription_update_meters   0% 6 6 0   0% 2 0   0%
polar/subscription/tasks.py subscription_cancel_customer   0% 2 2 0   100% 0 0   0%
polar/subscription/tasks.py enqueue_stripe_subscription_migrate   0% 6 6 0   0% 2 0   0%
polar/subscription/tasks.py migrate_stripe_subscription   0% 9 9 0   0% 2 0   0%
polar/subscription/tasks.py (no function)   100% 32 0 0   50% 2 1   97%
polar/tasks.py (no function)   100% 26 0 0   100% 0 0   100%
polar/transaction/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/transaction/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/transaction/endpoints.py search_transactions   100% 2 0 0   100% 0 0   100%
polar/transaction/endpoints.py lookup_transaction   100% 1 0 0   100% 0 0   100%
polar/transaction/endpoints.py get_summary   75% 4 1 0   50% 2 1   67%
polar/transaction/endpoints.py (no function)   100% 23 0 0   100% 0 0   100%
polar/transaction/fees/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/transaction/fees/stripe/__init__.py _load_country_fees   100% 8 0 0   100% 2 0   100%
polar/transaction/fees/stripe/__init__.py round_stripe   0% 1 1 0   100% 0 0   0%
polar/transaction/fees/stripe/__init__.py get_stripe_international_fee   0% 1 1 0   100% 0 0   0%
polar/transaction/fees/stripe/__init__.py get_stripe_subscription_fee   0% 1 1 0   100% 0 0   0%
polar/transaction/fees/stripe/__init__.py get_stripe_invoice_fee   0% 1 1 0   100% 0 0   0%
polar/transaction/fees/stripe/__init__.py get_stripe_account_fee   0% 1 1 0   100% 0 0   0%
polar/transaction/fees/stripe/__init__.py get_reverse_stripe_payout_fees   0% 10 10 0   0% 2 0   0%
polar/transaction/fees/stripe/__init__.py (no function)   100% 15 0 0   100% 0 0   100%
polar/transaction/repository.py TransactionRepository.get_all_paid_transactions_by_payout   0% 2 2 0   100% 0 0   0%
polar/transaction/repository.py TransactionRepository.get_paid_transactions_statement   0% 1 1 0   100% 0 0   0%
polar/transaction/repository.py PaymentTransactionRepository.get_base_statement   0% 1 1 0   100% 0 0   0%
polar/transaction/repository.py BalanceTransactionRepository.get_all_unpaid_by_account   0% 2 2 0   100% 0 0   0%
polar/transaction/repository.py BalanceTransactionRepository.get_base_statement   0% 1 1 0   100% 0 0   0%
polar/transaction/repository.py RefundTransactionRepository.get_by_refund_id   0% 2 2 0   100% 0 0   0%
polar/transaction/repository.py RefundTransactionRepository.get_base_statement   0% 1 1 0   100% 0 0   0%
polar/transaction/repository.py PayoutTransactionRepository.get_by_payout_id   0% 2 2 0   100% 0 0   0%
polar/transaction/repository.py PayoutTransactionRepository.get_base_statement   0% 1 1 0   100% 0 0   0%
polar/transaction/repository.py (no function)   100% 22 0 0   100% 0 0   100%
polar/transaction/schemas.py (no function)   100% 16 0 0   100% 0 0   100%
polar/transaction/service/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/transaction/service/balance.py PaymentTransactionForChargeDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/service/balance.py BalanceTransactionService.create_balance   0% 13 13 0   0% 4 0   0%
polar/transaction/service/balance.py BalanceTransactionService.create_balance_from_charge   0% 4 4 0   0% 2 0   0%
polar/transaction/service/balance.py BalanceTransactionService.create_balance_from_payment_intent   0% 4 4 0   100% 0 0   0%
polar/transaction/service/balance.py BalanceTransactionService.create_reversal_balance   0% 14 14 0   100% 0 0   0%
polar/transaction/service/balance.py (no function)   100% 23 0 0   50% 2 1   96%
polar/transaction/service/base.py BaseTransactionService._get_balance_transactions_for_payment   0% 4 4 0   100% 0 0   0%
polar/transaction/service/base.py (no function)   100% 10 0 0   50% 2 1   92%
polar/transaction/service/dispute.py DisputeClosed.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/service/dispute.py DisputeNotResolved.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/service/dispute.py DisputeUnknownPaymentTransaction.__init__   0% 4 4 0   100% 0 0   0%
polar/transaction/service/dispute.py NotBalancedPaymentTransaction.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/service/dispute.py DisputeTransactionService.create_dispute   0% 32 32 0   0% 12 0   0%
polar/transaction/service/dispute.py DisputeTransactionService.create_reversal_balances_for_payment   0% 10 10 0   0% 4 0   0%
polar/transaction/service/dispute.py DisputeTransactionService._create_reversal_balances   0% 8 8 0   0% 2 0   0%
polar/transaction/service/dispute.py DisputeTransactionService._create_dispute_fees_balances   0% 4 4 0   0% 2 0   0%
polar/transaction/service/dispute.py (no function)   100% 29 0 0   50% 2 1   97%
polar/transaction/service/payment.py PaymentTransactionService.get_by_charge_id   0% 3 3 0   100% 0 0   0%
polar/transaction/service/payment.py PaymentTransactionService.get_by_order_id   0% 1 1 0   100% 0 0   0%
polar/transaction/service/payment.py PaymentTransactionService.create_payment   0% 28 28 0   0% 12 0   0%
polar/transaction/service/payment.py (no function)   100% 18 0 0   50% 2 1   95%
polar/transaction/service/payout.py PayoutTransactionService.create   0% 18 18 0   0% 10 0   0%
polar/transaction/service/payout.py (no function)   100% 12 0 0   50% 2 1   93%
polar/transaction/service/platform_fee.py PayoutAmountTooLow.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService.create_fees_reversal_balances   0% 1 1 0   100% 0 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService.create_dispute_fees_balances   0% 6 6 0   0% 2 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService.get_payout_fees   0% 19 19 0   0% 10 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService.create_payout_fees_balances   0% 7 7 0   0% 2 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService._create_payment_fees   0% 28 28 0   0% 10 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService._is_international_payment_transaction   0% 14 14 0   0% 10 0   0%
polar/transaction/service/platform_fee.py PlatformFeeTransactionService._get_last_payout   0% 3 3 0   100% 0 0   0%
polar/transaction/service/platform_fee.py (no function)   100% 27 0 0   50% 2 1   97%
polar/transaction/service/processor_fee.py BalanceTransactionNotFound.__init__   0% 2 2 0   100% 0 0   0%
polar/transaction/service/processor_fee.py UnsupportedStripeFeeType.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/service/processor_fee.py _get_stripe_processor_fee_type   0% 32 32 0   0% 30 0   0%
polar/transaction/service/processor_fee.py ProcessorFeeTransactionService.create_payment_fees   0% 14 14 0   0% 6 0   0%
polar/transaction/service/processor_fee.py ProcessorFeeTransactionService.create_refund_fees   0% 15 15 0   0% 6 0   0%
polar/transaction/service/processor_fee.py ProcessorFeeTransactionService.create_dispute_fees   0% 13 13 0   0% 8 0   0%
polar/transaction/service/processor_fee.py ProcessorFeeTransactionService.sync_stripe_fees   0% 14 14 0   0% 6 0   0%
polar/transaction/service/processor_fee.py (no function)   100% 21 0 0   50% 2 1   96%
polar/transaction/service/refund.py NotSucceededRefundError.__init__   0% 2 2 0   100% 0 0   0%
polar/transaction/service/refund.py RefundTransactionAlreadyExistsError.__init__   0% 2 2 0   100% 0 0   0%
polar/transaction/service/refund.py NotCanceledRefundError.__init__   0% 2 2 0   100% 0 0   0%
polar/transaction/service/refund.py RefundTransactionDoesNotExistError.__init__   0% 2 2 0   100% 0 0   0%
polar/transaction/service/refund.py RefundTransactionService.create   0% 11 11 0   0% 4 0   0%
polar/transaction/service/refund.py RefundTransactionService.revert   0% 10 10 0   0% 4 0   0%
polar/transaction/service/refund.py RefundTransactionService.create_reversal_balances_for_payment   0% 7 7 0   0% 2 0   0%
polar/transaction/service/refund.py RefundTransactionService._create_reversal_balances   0% 8 8 0   0% 2 0   0%
polar/transaction/service/refund.py RefundTransactionService._create_revert_reversal_balances   0% 14 14 0   0% 2 0   0%
polar/transaction/service/refund.py RefundTransactionService._get_reverse_balance_transactions_for_payment   0% 5 5 0   100% 0 0   0%
polar/transaction/service/refund.py (no function)   100% 29 0 0   50% 2 1   97%
polar/transaction/service/transaction.py TransactionService.search   100% 24 0 0   94% 18 1   98%
polar/transaction/service/transaction.py TransactionService.lookup   83% 6 1 0   50% 2 1   75%
polar/transaction/service/transaction.py TransactionService.get_summary   0% 13 13 0   100% 0 0   0%
polar/transaction/service/transaction.py TransactionService.get_transactions_sum   0% 5 5 0   0% 2 0   0%
polar/transaction/service/transaction.py TransactionService._get_readable_transactions_statement   100% 3 0 0   100% 0 0   100%
polar/transaction/service/transaction.py (no function)   100% 27 0 0   100% 0 0   100%
polar/transaction/tasks.py PaymentTransactionDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/transaction/tasks.py sync_stripe_fees   0% 2 2 0   100% 0 0   0%
polar/transaction/tasks.py create_payment_fees   0% 11 11 0   0% 4 0   0%
polar/transaction/tasks.py (no function)   100% 14 0 0   50% 2 1   94%
polar/trial_redemption/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/trial_redemption/repository.py TrialRedemptionRepository.get_all_by_organization_and_hints   0% 11 11 0   0% 8 0   0%
polar/trial_redemption/repository.py (no function)   100% 8 0 0   100% 0 0   100%
polar/trial_redemption/service.py TrialRedemptionService.check_trial_already_redeemed   0% 3 3 0   100% 0 0   0%
polar/trial_redemption/service.py TrialRedemptionService.create_trial_redemption   0% 2 2 0   100% 0 0   0%
polar/trial_redemption/service.py TrialRedemptionService._get_unaliased_email   0% 2 2 0   100% 0 0   0%
polar/trial_redemption/service.py (no function)   100% 9 0 0   100% 0 0   100%
polar/types.py (no function)   100% 5 0 0   100% 0 0   100%
polar/user/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/user/endpoints.py get_authenticated   100% 1 0 0   100% 0 0   100%
polar/user/endpoints.py scopes   100% 1 0 0   100% 0 0   100%
polar/user/endpoints.py create_identity_verification   100% 1 0 0   100% 0 0   100%
polar/user/endpoints.py delete_authenticated_user   0% 1 1 0   100% 0 0   0%
polar/user/endpoints.py disconnect_oauth_account   100% 2 0 0   100% 0 0   100%
polar/user/endpoints.py (no function)   100% 30 0 0   100% 0 0   100%
polar/user/oauth_service.py OAuthAccountNotFound.__init__   100% 3 0 0   100% 0 0   100%
polar/user/oauth_service.py CannotDisconnectLastAuthMethod.__init__   0% 2 2 0   100% 0 0   0%
polar/user/oauth_service.py OAuthAccountService.get_by_platform_and_account_id   0% 3 3 0   100% 0 0   0%
polar/user/oauth_service.py OAuthAccountService.disconnect_platform   36% 14 9 0   17% 6 1   30%
polar/user/oauth_service.py (no function)   100% 18 0 0   50% 2 1   95%
polar/user/repository.py UserRepository.get_by_email   100% 4 0 0   50% 2 1   83%
polar/user/repository.py UserRepository.get_by_stripe_customer_id   0% 4 4 0   0% 2 0   0%
polar/user/repository.py UserRepository.get_by_oauth_account   0% 4 4 0   0% 2 0   0%
polar/user/repository.py UserRepository.get_by_identity_verification_id   0% 4 4 0   0% 2 0   0%
polar/user/repository.py UserRepository.get_all_by_organization   0% 4 4 0   0% 2 0   0%
polar/user/repository.py UserRepository.is_organization_member   0% 3 3 0   100% 0 0   0%
polar/user/repository.py UserRepository.get_sorting_clause   0% 5 5 0   0% 4 0   0%
polar/user/repository.py (no function)   100% 17 0 0   100% 0 0   100%
polar/user/schemas.py UserRead.email_hash   50% 4 2 0   50% 2 1   50%
polar/user/schemas.py get_signup_attribution   100% 3 0 0   100% 2 0   100%
polar/user/schemas.py (no function)   100% 42 0 0   100% 0 0   100%
polar/user/service.py IdentityAlreadyVerified.__init__   0% 3 3 0   100% 0 0   0%
polar/user/service.py IdentityVerificationProcessing.__init__   0% 3 3 0   100% 0 0   0%
polar/user/service.py IdentityVerificationDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/user/service.py InvalidAccount.__init__   0% 3 3 0   100% 0 0   0%
polar/user/service.py UserService.get_by_email_or_create   100% 7 0 0   100% 2 0   100%
polar/user/service.py UserService.create_by_email   100% 4 0 0   100% 0 0   100%
polar/user/service.py UserService.create_identity_verification   46% 13 7 0   50% 8 4   48%
polar/user/service.py UserService.identity_verification_verified   0% 6 6 0   0% 2 0   0%
polar/user/service.py UserService.identity_verification_pending   0% 8 8 0   0% 4 0   0%
polar/user/service.py UserService.identity_verification_failed   0% 5 5 0   0% 2 0   0%
polar/user/service.py UserService.check_can_delete   0% 9 9 0   0% 4 0   0%
polar/user/service.py UserService.request_deletion   0% 5 5 0   0% 2 0   0%
polar/user/service.py UserService.soft_delete_user   0% 12 12 0   0% 4 0   0%
polar/user/service.py UserService._delete_oauth_accounts   0% 3 3 0   100% 0 0   0%
polar/user/service.py (no function)   100% 37 0 0   50% 2 1   97%
polar/user/sorting.py (no function)   100% 8 0 0   100% 0 0   100%
polar/user/tasks.py UserDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/user/tasks.py user_on_after_signup   0% 5 5 0   0% 2 0   0%
polar/user/tasks.py (no function)   100% 9 0 0   50% 2 1   91%
polar/user_organization/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/user_organization/schemas.py (no function)   100% 9 0 0   100% 0 0   100%
polar/user_organization/service.py OrganizationNotFound.__init__   0% 3 3 0   100% 0 0   0%
polar/user_organization/service.py UserNotMemberOfOrganization.__init__   0% 4 4 0   100% 0 0   0%
polar/user_organization/service.py CannotRemoveOrganizationAdmin.__init__   0% 4 4 0   100% 0 0   0%
polar/user_organization/service.py UserOrganizationService.list_by_org   100% 3 0 0   100% 0 0   100%
polar/user_organization/service.py UserOrganizationService.list_by_user_id   100% 3 0 0   100% 0 0   100%
polar/user_organization/service.py UserOrganizationService.get_user_organization_count   83% 6 1 0   50% 2 1   75%
polar/user_organization/service.py UserOrganizationService.get_by_user_and_org   100% 3 0 0   100% 0 0   100%
polar/user_organization/service.py UserOrganizationService.remove_member   0% 2 2 0   100% 0 0   0%
polar/user_organization/service.py UserOrganizationService.remove_member_safe   0% 13 13 0   0% 8 0   0%
polar/user_organization/service.py UserOrganizationService._get_list_by_user_id_query   100% 4 0 0   100% 2 0   100%
polar/user_organization/service.py (no function)   100% 24 0 0   50% 2 1   96%
polar/wallet/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/wallet/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/wallet/endpoints.py list   100% 2 0 0   100% 0 0   100%
polar/wallet/endpoints.py get   75% 4 1 0   50% 2 1   67%
polar/wallet/endpoints.py top_up   60% 5 2 0   50% 2 1   57%
polar/wallet/endpoints.py (no function)   100% 23 0 0   100% 0 0   100%
polar/wallet/repository.py WalletRepository.get_by_type_currency_customer   0% 2 2 0   100% 0 0   0%
polar/wallet/repository.py WalletRepository.get_readable_statement   71% 7 2 0   25% 4 1   55%
polar/wallet/repository.py WalletRepository.get_eager_options   0% 1 1 0   100% 0 0   0%
polar/wallet/repository.py WalletRepository.get_sorting_clause   100% 5 0 0   75% 4 1   89%
polar/wallet/repository.py WalletTransactionRepository.get_balance   0% 3 3 0   100% 0 0   0%
polar/wallet/repository.py WalletTransactionRepository.get_eager_options   0% 1 1 0   100% 0 0   0%
polar/wallet/repository.py (no function)   100% 18 0 0   100% 0 0   100%
polar/wallet/schemas.py (no function)   100% 16 0 0   100% 0 0   100%
polar/wallet/service.py WalletAlreadyExistsError.__init__   0% 3 3 0   100% 0 0   0%
polar/wallet/service.py MissingPaymentMethodError.__init__   0% 3 3 0   100% 0 0   0%
polar/wallet/service.py InvalidPaymentMethodError.__init__   0% 4 4 0   100% 0 0   0%
polar/wallet/service.py PaymentIntentFailedError.__init__   0% 4 4 0   100% 0 0   0%
polar/wallet/service.py WalletService.list   100% 10 0 0   83% 6 1   94%
polar/wallet/service.py WalletService.get   100% 3 0 0   100% 0 0   100%
polar/wallet/service.py WalletService.top_up   0% 26 26 0   0% 12 0   0%
polar/wallet/service.py WalletService.create_transaction   0% 2 2 0   100% 0 0   0%
polar/wallet/service.py WalletService.get_billing_wallet_balance   0% 6 6 0   0% 2 0   0%
polar/wallet/service.py WalletService.get_or_create_billing_wallet   0% 5 5 0   0% 2 0   0%
polar/wallet/service.py WalletService.create_balance_transaction   0% 2 2 0   100% 0 0   0%
polar/wallet/service.py (no function)   100% 35 0 0   50% 2 1   97%
polar/wallet/sorting.py (no function)   100% 8 0 0   100% 0 0   100%
polar/webhook/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
polar/webhook/auth.py (no function)   100% 9 0 0   100% 0 0   100%
polar/webhook/endpoints.py list_webhook_endpoints   100% 2 0 0   100% 0 0   100%
polar/webhook/endpoints.py get_webhook_endpoint   100% 4 0 0   100% 2 0   100%
polar/webhook/endpoints.py create_webhook_endpoint   100% 1 0 0   100% 0 0   100%
polar/webhook/endpoints.py update_webhook_endpoint   100% 4 0 0   100% 2 0   100%
polar/webhook/endpoints.py reset_webhook_endpoint_secret   100% 4 0 0   100% 2 0   100%
polar/webhook/endpoints.py delete_webhook_endpoint   100% 4 0 0   100% 2 0   100%
polar/webhook/endpoints.py list_webhook_deliveries   100% 2 0 0   100% 0 0   100%
polar/webhook/endpoints.py redeliver_webhook_event   100% 1 0 0   100% 0 0   100%
polar/webhook/endpoints.py (no function)   100% 35 0 0   100% 0 0   100%
polar/webhook/repository.py WebhookEventRepository.get_all_undelivered   0% 4 4 0   0% 2 0   0%
polar/webhook/repository.py WebhookEventRepository.get_recent_by_endpoint   0% 2 2 0   100% 0 0   0%
polar/webhook/repository.py WebhookDeliveryRepository.get_all_by_event   0% 2 2 0   100% 0 0   0%
polar/webhook/repository.py (no function)   100% 16 0 0   100% 0 0   100%
polar/webhook/schemas.py (no function)   100% 34 0 0   100% 0 0   100%
polar/webhook/service.py EventDoesNotExist.__init__   0% 3 3 0   100% 0 0   0%
polar/webhook/service.py EventNotSuccessul.__init__   0% 3 3 0   100% 0 0   0%
polar/webhook/service.py WebhookService.list_endpoints   100% 6 0 0   50% 2 1   88%
polar/webhook/service.py WebhookService.get_endpoint   100% 3 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.create_endpoint   100% 10 0 0   100% 4 0   100%
polar/webhook/service.py WebhookService.update_endpoint   100% 4 0 0   100% 2 0   100%
polar/webhook/service.py WebhookService.reset_endpoint_secret   100% 3 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.delete_endpoint   100% 3 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.list_deliveries   100% 9 0 0   100% 6 0   100%
polar/webhook/service.py WebhookService.redeliver_event   86% 7 1 0   50% 2 1   78%
polar/webhook/service.py WebhookService.on_event_success   0% 15 15 0   0% 10 0   0%
polar/webhook/service.py WebhookService.on_event_failed   0% 24 24 0   0% 12 0   0%
polar/webhook/service.py WebhookService.get_event_by_id   0% 3 3 0   100% 0 0   0%
polar/webhook/service.py WebhookService.is_latest_event   0% 5 5 0   100% 0 0   0%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   100% 0 0 0   100% 0 0   100%
polar/webhook/service.py WebhookService.send   71% 17 5 0   100% 2 0   74%
polar/webhook/service.py WebhookService.archive_events   0% 10 10 0   0% 2 0   0%
polar/webhook/service.py WebhookService._get_readable_endpoints_statement   71% 7 2 0   25% 4 1   55%
polar/webhook/service.py WebhookService._get_event_target_endpoints   100% 3 0 0   100% 0 0   100%
polar/webhook/service.py (no function)   100% 116 0 0   2% 62 61   66%
polar/webhook/slack.py get_branded_slack_payload   100% 1 0 0   100% 0 0   100%
polar/webhook/slack.py (no function)   100% 5 0 0   100% 0 0   100%
polar/webhook/sorting.py (no function)   100% 3 0 0   100% 0 0   100%
polar/webhook/tasks.py webhook_event_send   0% 2 2 0   100% 0 0   0%
polar/webhook/tasks.py _webhook_event_send   0% 50 50 0   0% 16 0   0%
polar/webhook/tasks.py webhook_event_success   0% 2 2 0   100% 0 0   0%
polar/webhook/tasks.py webhook_event_failed   0% 2 2 0   100% 0 0   0%
polar/webhook/tasks.py webhook_event_archive   0% 2 2 0   100% 0 0   0%
polar/webhook/tasks.py (no function)   100% 26 0 0   100% 0 0   100%
polar/webhook/webhooks.py UnsupportedTarget.__init__   0% 4 4 0   100% 0 0   0%
polar/webhook/webhooks.py SkipEvent.__init__   0% 4 4 0   100% 0 0   0%
polar/webhook/webhooks.py BaseWebhookPayload.get_payload   78% 9 2 0   83% 6 1   80%
polar/webhook/webhooks.py BaseWebhookPayload.get_raw_payload   100% 1 0 0   100% 0 0   100%
polar/webhook/webhooks.py BaseWebhookPayload.get_discord_payload   86% 7 1 0   50% 4 2   73%
polar/webhook/webhooks.py BaseWebhookPayload.get_slack_payload   86% 7 1 0   50% 4 2   73%
polar/webhook/webhooks.py BaseWebhookPayload.__get_pydantic_json_schema__   100% 7 0 0   50% 2 1   89%
polar/webhook/webhooks.py WebhookOrderPayloadBase.get_discord_payload   0% 8 8 0   0% 4 0   0%
polar/webhook/webhooks.py WebhookOrderPayloadBase.get_slack_payload   0% 8 8 0   0% 4 0   0%
polar/webhook/webhooks.py WebhookOrderRefundedPayload.get_discord_payload   0% 10 10 0   0% 6 0   0%
polar/webhook/webhooks.py WebhookOrderRefundedPayload.get_slack_payload   0% 10 10 0   0% 6 0   0%
polar/webhook/webhooks.py WebhookSubscriptionCreatedPayload.get_discord_payload   0% 6 6 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionCreatedPayload.get_slack_payload   0% 6 6 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_active_discord_payload   0% 3 3 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_active_slack_payload   0% 3 3 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_canceled_discord_payload   0% 7 7 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_canceled_slack_payload   0% 7 7 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_uncanceled_discord_payload   0% 2 2 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_uncanceled_slack_payload   0% 2 2 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_revoked_discord_payload   0% 2 2 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_revoked_slack_payload   0% 2 2 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_discord_fields   0% 3 3 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayloadBase._get_slack_fields   0% 3 3 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayload.get_discord_payload   0% 7 7 0   0% 6 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUpdatedPayload.get_slack_payload   0% 7 7 0   0% 6 0   0%
polar/webhook/webhooks.py WebhookSubscriptionActivePayload.get_discord_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionActivePayload.get_slack_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionCanceledPayload.get_discord_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionCanceledPayload.get_slack_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUncanceledPayload.get_discord_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionUncanceledPayload.get_slack_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionRevokedPayload.get_discord_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookSubscriptionRevokedPayload.get_slack_payload   0% 3 3 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookRefundBase._get_discord_fields   0% 3 3 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookRefundBase._get_slack_fields   0% 3 3 0   100% 0 0   0%
polar/webhook/webhooks.py WebhookRefundCreatedPayload.get_discord_payload   0% 4 4 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookRefundCreatedPayload.get_slack_payload   0% 4 4 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookRefundUpdatedPayload.get_discord_payload   0% 4 4 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookRefundUpdatedPayload.get_slack_payload   0% 4 4 0   0% 2 0   0%
polar/webhook/webhooks.py WebhookAPIRoute.__init__   100% 3 0 0   50% 2 1   80%
polar/webhook/webhooks.py document_webhooks   100% 7 0 0   100% 2 0   100%
polar/webhook/webhooks.py document_webhooks._endpoint   100% 1 0 0   0% 2 2   33%
polar/webhook/webhooks.py (no function)   100% 114 0 0   100% 0 0   100%
polar/worker/__init__.py MaxRetriesMiddleware.before_process_message   0% 3 3 0   100% 0 0   0%
polar/worker/__init__.py get_retries   0% 3 3 0   100% 0 0   0%
polar/worker/__init__.py can_retry   0% 3 3 0   100% 0 0   0%
polar/worker/__init__.py SchedulerMiddleware.__init__   100% 1 0 0   100% 0 0   100%
polar/worker/__init__.py SchedulerMiddleware.actor_options   100% 1 0 0   100% 0 0   100%
polar/worker/__init__.py SchedulerMiddleware.after_declare_actor   100% 2 0 0   100% 2 0   100%
polar/worker/__init__.py LogContextMiddleware.before_process_message   0% 1 1 0   100% 0 0   0%
polar/worker/__init__.py LogContextMiddleware.after_process_message   0% 1 1 0   100% 0 0   0%
polar/worker/__init__.py LogContextMiddleware.after_skip_message   0% 1 1 0   100% 0 0   0%
polar/worker/__init__.py LogfireMiddleware.before_worker_boot   0% 1 1 0   100% 0 0   0%
polar/worker/__init__.py LogfireMiddleware.before_process_message   0% 6 6 0   0% 2 0   0%
polar/worker/__init__.py LogfireMiddleware.after_process_message   0% 4 4 0   0% 2 0   0%
polar/worker/__init__.py LogfireMiddleware.after_skip_message   0% 1 1 0   100% 0 0   0%
polar/worker/__init__.py actor   100% 5 0 0   50% 2 1   86%
polar/worker/__init__.py actor.decorator   100% 3 0 0   100% 0 0   100%
polar/worker/__init__.py actor.decorator._wrapped_fn   0% 2 2 0   100% 0 0   0%
polar/worker/__init__.py (no function)   100% 62 0 0   100% 0 0   100%
polar/worker/_encoder.py _json_obj_serializer   67% 3 1 0   50% 2 1   60%
polar/worker/_encoder.py JSONEncoder.encode   100% 1 0 0   100% 0 0   100%
polar/worker/_encoder.py (no function)   100% 7 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.__init__   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.enqueue_job   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.enqueue_events   100% 1 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.flush   95% 21 1 0   92% 12 1   94%
polar/worker/_enqueue.py JobQueueManager._batch_hset_messages   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager._batch_rpush_queue   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.reset   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.set   100% 3 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.close   100% 3 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.open   100% 5 0 0   100% 0 0   100%
polar/worker/_enqueue.py JobQueueManager.get   75% 4 1 0   50% 2 1   67%
polar/worker/_enqueue.py enqueue_job   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py enqueue_events   100% 2 0 0   100% 0 0   100%
polar/worker/_enqueue.py (no function)   100% 35 0 0   100% 0 0   100%
polar/worker/_health.py HealthMiddleware.forks   0% 1 1 0   100% 0 0   0%
polar/worker/_health.py health   0% 6 6 0   100% 0 0   0%
polar/worker/_health.py webhooks   0% 7 7 0   0% 2 0   0%
polar/worker/_health.py external_events   0% 7 7 0   0% 2 0   0%
polar/worker/_health.py lifespan   0% 8 8 0   0% 2 0   0%
polar/worker/_health.py create_app   0% 2 2 0   100% 0 0   0%
polar/worker/_health.py _run_exposition_server   0% 9 9 0   100% 0 0   0%
polar/worker/_health.py (no function)   100% 40 0 0   100% 0 0   100%
polar/worker/_redis.py _close_redis   0% 4 4 0   0% 2 0   0%
polar/worker/_redis.py RedisMiddleware.get   0% 3 3 0   0% 2 0   0%
polar/worker/_redis.py RedisMiddleware.before_worker_boot   0% 2 2 0   100% 0 0   0%
polar/worker/_redis.py RedisMiddleware.after_worker_shutdown   0% 3 3 0   100% 0 0   0%
polar/worker/_redis.py (no function)   100% 13 0 0   100% 0 0   100%
polar/worker/_sqlalchemy.py dispose_sqlalchemy_engine   0% 4 4 0   0% 2 0   0%
polar/worker/_sqlalchemy.py SQLAlchemyMiddleware.get_async_session   0% 3 3 0   0% 2 0   0%
polar/worker/_sqlalchemy.py SQLAlchemyMiddleware.before_worker_boot   0% 4 4 0   100% 0 0   0%
polar/worker/_sqlalchemy.py SQLAlchemyMiddleware.after_worker_shutdown   0% 3 3 0   100% 0 0   0%
polar/worker/_sqlalchemy.py AsyncSessionMaker   0% 7 7 0   100% 0 0   0%
polar/worker/_sqlalchemy.py (no function)   100% 21 0 0   100% 0 0   100%
polar/worker/run.py (no function)   0% 9 9 0   100% 0 0   0%
polar/worker/scheduler.py LogfireBlockingScheduler._main_loop   0% 6 6 0   0% 2 0   0%
polar/worker/scheduler.py start   0% 10 10 0   0% 2 0   0%
polar/worker/scheduler.py (no function)   0% 18 18 0   100% 0 0   0%
Total     66% 30218 10318 0   30% 6282 843   60%

No items found using the specified filter.