Coverage report: 60%

Files Functions Classes

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

    Statements   Branches   Total
File   coverage statements missing excluded   coverage branches partial   coverage
polar/__init__.py   100% 0 0 0   100% 0 0   100%
polar/account/__init__.py   100% 0 0 0   100% 0 0   100%
polar/account/endpoints.py   76% 59 14 0   38% 16 4   68%
polar/account/repository.py   68% 25 8 0   25% 4 1   62%
polar/account/schemas.py   100% 139 0 0   100% 0 0   100%
polar/account/service.py   33% 193 129 0   4% 48 2   27%
polar/account/sorting.py   100% 7 0 0   100% 0 0   100%
polar/api.py   100% 94 0 0   100% 0 0   100%
polar/app.py   93% 104 7 0   50% 14 7   88%
polar/auth/__init__.py   100% 0 0 0   100% 0 0   100%
polar/auth/dependencies.py   96% 68 3 0   95% 20 1   95%
polar/auth/endpoints.py   86% 14 2 0   100% 0 0   86%
polar/auth/middlewares.py   93% 88 6 0   75% 24 6   89%
polar/auth/models.py   89% 57 6 0   68% 22 7   84%
polar/auth/routing.py   100% 32 0 0   100% 12 0   100%
polar/auth/scope.py   99% 81 1 0   100% 0 0   99%
polar/auth/service.py   44% 70 39 0   8% 12 1   39%
polar/auth/tasks.py   78% 9 2 0   100% 0 0   78%
polar/benefit/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/auth.py   100% 9 0 0   100% 0 0   100%
polar/benefit/endpoints.py   100% 53 0 0   100% 8 0   100%
polar/benefit/grant/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/grant/endpoints.py   83% 23 4 0   25% 4 1   74%
polar/benefit/grant/repository.py   68% 41 13 0   83% 6 1   70%
polar/benefit/grant/schemas.py   100% 0 0 0   100% 0 0   100%
polar/benefit/grant/scope.py   30% 33 23 0   7% 14 1   23%
polar/benefit/grant/service.py   33% 210 140 0   19% 54 6   30%
polar/benefit/grant/sorting.py   100% 9 0 0   100% 0 0   100%
polar/benefit/registry.py   100% 15 0 0   100% 0 0   100%
polar/benefit/repository.py   93% 27 2 0   60% 10 2   84%
polar/benefit/schemas.py   100% 42 0 0   100% 2 0   100%
polar/benefit/service.py   96% 80 3 0   72% 18 5   92%
polar/benefit/sorting.py   100% 9 0 0   100% 0 0   100%
polar/benefit/strategies/__init__.py   100% 8 0 0   100% 0 0   100%
polar/benefit/strategies/base/__init__.py   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/base/properties.py   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/base/schemas.py   98% 40 1 0   50% 6 3   91%
polar/benefit/strategies/base/service.py   77% 39 9 0   50% 2 1   76%
polar/benefit/strategies/custom/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/custom/properties.py   100% 3 0 0   100% 2 0   100%
polar/benefit/strategies/custom/schemas.py   100% 17 0 0   100% 0 0   100%
polar/benefit/strategies/custom/service.py   81% 16 3 0   100% 0 0   81%
polar/benefit/strategies/discord/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/discord/properties.py   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/discord/schemas.py   94% 34 2 0   100% 0 0   94%
polar/benefit/strategies/discord/service.py   22% 100 78 0   0% 24 0   18%
polar/benefit/strategies/downloadables/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/properties.py   100% 4 0 0   100% 0 0   100%
polar/benefit/strategies/downloadables/schemas.py   84% 31 5 0   50% 6 1   78%
polar/benefit/strategies/downloadables/service.py   67% 39 13 0   0% 6 0   58%
polar/benefit/strategies/github_repository/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/properties.py   100% 4 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/schemas.py   100% 20 0 0   100% 0 0   100%
polar/benefit/strategies/github_repository/service.py   25% 120 90 0   6% 34 2   21%
polar/benefit/strategies/license_keys/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/properties.py   100% 6 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/schemas.py   100% 22 0 0   100% 0 0   100%
polar/benefit/strategies/license_keys/service.py   51% 37 18 0   0% 4 0   46%
polar/benefit/strategies/meter_credit/__init__.py   100% 0 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/properties.py   100% 3 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/schemas.py   100% 15 0 0   100% 0 0   100%
polar/benefit/strategies/meter_credit/service.py   42% 59 34 0   8% 12 1   37%
polar/benefit/tasks.py   31% 142 98 0   4% 24 1   27%
polar/billing_entry/__init__.py   100% 0 0 0   100% 0 0   100%
polar/billing_entry/repository.py   47% 38 20 0   0% 4 0   43%
polar/billing_entry/service.py   32% 106 72 0   0% 22 0   27%
polar/billing_entry/tasks.py   62% 8 3 0   100% 0 0   62%
polar/campaign/__init__.py   100% 0 0 0   100% 0 0   100%
polar/campaign/service.py   44% 18 10 0   0% 4 0   36%
polar/checkout/__init__.py   100% 0 0 0   100% 0 0   100%
polar/checkout/auth.py   100% 12 0 0   100% 0 0   100%
polar/checkout/endpoints.py   96% 73 3 0   100% 4 0   96%
polar/checkout/eventstream.py   100% 21 0 0   0% 8 8   72%
polar/checkout/guard.py   88% 8 1 0   50% 2 1   80%
polar/checkout/ip_geolocation.py   53% 30 14 0   17% 6 1   47%
polar/checkout/price.py   86% 7 1 0   50% 4 2   73%
polar/checkout/repository.py   89% 35 4 0   60% 10 2   82%
polar/checkout/schemas.py   96% 167 7 0   33% 6 2   94%
polar/checkout/service.py   39% 829 508 0   25% 374 43   35%
polar/checkout/sorting.py   100% 9 0 0   100% 0 0   100%
polar/checkout/tasks.py   50% 24 12 0   25% 4 1   46%
polar/checkout_link/__init__.py   100% 0 0 0   100% 0 0   100%
polar/checkout_link/auth.py   100% 10 0 0   100% 0 0   100%
polar/checkout_link/endpoints.py   69% 71 22 0   21% 14 3   61%
polar/checkout_link/repository.py   67% 36 12 0   20% 10 2   57%
polar/checkout_link/schemas.py   98% 53 1 0   100% 0 0   98%
polar/checkout_link/service.py   64% 118 42 0   48% 48 7   60%
polar/checkout_link/sorting.py   100% 10 0 0   100% 0 0   100%
polar/config.py   95% 190 9 0   33% 6 2   93%
polar/currency/__init__.py   100% 0 0 0   100% 0 0   100%
polar/currency/schemas.py   0% 5 5 0   100% 0 0   0%
polar/custom_field/__init__.py   100% 0 0 0   100% 0 0   100%
polar/custom_field/attachment.py   94% 18 1 0   75% 4 1   91%
polar/custom_field/auth.py   100% 10 0 0   100% 0 0   100%
polar/custom_field/data.py   85% 33 5 0   50% 6 3   79%
polar/custom_field/endpoints.py   100% 44 0 0   100% 6 0   100%
polar/custom_field/schemas.py   100% 51 0 0   100% 0 0   100%
polar/custom_field/service.py   98% 93 2 0   84% 38 4   94%
polar/custom_field/sorting.py   100% 10 0 0   100% 0 0   100%
polar/customer/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer/auth.py   100% 10 0 0   100% 0 0   100%
polar/customer/endpoints.py   90% 135 14 0   78% 40 3   87%
polar/customer/repository.py   83% 112 19 0   73% 30 4   81%
polar/customer/schemas/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer/schemas/customer.py   100% 53 0 0   50% 2 1   98%
polar/customer/schemas/state.py   100% 48 0 0   100% 0 0   100%
polar/customer/service.py   92% 123 10 0   82% 44 4   89%
polar/customer/sorting.py   100% 9 0 0   100% 0 0   100%
polar/customer/tasks.py   45% 40 22 0   8% 12 1   37%
polar/customer_meter/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_meter/auth.py   100% 8 0 0   100% 0 0   100%
polar/customer_meter/endpoints.py   96% 27 1 0   50% 2 1   93%
polar/customer_meter/repository.py   91% 45 4 0   82% 22 2   88%
polar/customer_meter/scheduler.py   0% 68 68 0   0% 2 0   0%
polar/customer_meter/schemas.py   100% 16 0 0   100% 0 0   100%
polar/customer_meter/service.py   47% 97 51 0   32% 22 1   45%
polar/customer_meter/sorting.py   100% 15 0 0   100% 0 0   100%
polar/customer_meter/tasks.py   50% 22 11 0   25% 4 1   46%
polar/customer_portal/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_portal/auth.py   100% 11 0 0   100% 0 0   100%
polar/customer_portal/endpoints/__init__.py   100% 26 0 0   100% 0 0   100%
polar/customer_portal/endpoints/benefit_grant.py   95% 39 2 0   50% 4 2   91%
polar/customer_portal/endpoints/customer.py   91% 45 4 0   50% 2 1   89%
polar/customer_portal/endpoints/customer_meter.py   96% 26 1 0   50% 2 1   93%
polar/customer_portal/endpoints/customer_seat.py   70% 94 28 0   45% 22 6   66%
polar/customer_portal/endpoints/customer_session.py   96% 27 1 0   100% 0 0   96%
polar/customer_portal/endpoints/downloadables.py   90% 21 2 0   100% 0 0   90%
polar/customer_portal/endpoints/license_keys.py   79% 43 9 0   25% 4 1   74%
polar/customer_portal/endpoints/oauth_accounts.py   55% 80 36 0   0% 10 0   49%
polar/customer_portal/endpoints/order.py   85% 68 10 0   43% 14 6   78%
polar/customer_portal/endpoints/organization.py   94% 17 1 0   50% 2 1   89%
polar/customer_portal/endpoints/subscription.py   79% 62 13 0   29% 14 4   70%
polar/customer_portal/endpoints/wallet.py   96% 27 1 0   50% 2 1   93%
polar/customer_portal/repository/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_portal/repository/customer_meter.py   100% 33 0 0   93% 14 1   98%
polar/customer_portal/repository/order.py   94% 17 1 0   75% 4 1   90%
polar/customer_portal/repository/payment_method.py   100% 9 0 0   100% 0 0   100%
polar/customer_portal/repository/wallet.py   100% 19 0 0   75% 4 1   96%
polar/customer_portal/schemas/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_portal/schemas/benefit_grant.py   95% 42 2 0   100% 0 0   95%
polar/customer_portal/schemas/customer.py   100% 21 0 0   100% 0 0   100%
polar/customer_portal/schemas/customer_meter.py   100% 7 0 0   100% 0 0   100%
polar/customer_portal/schemas/customer_session.py   100% 10 0 0   100% 0 0   100%
polar/customer_portal/schemas/downloadables.py   100% 10 0 0   100% 0 0   100%
polar/customer_portal/schemas/oauth_accounts.py   100% 2 0 0   100% 0 0   100%
polar/customer_portal/schemas/order.py   100% 38 0 0   83% 6 1   98%
polar/customer_portal/schemas/organization.py   100% 12 0 0   50% 2 1   93%
polar/customer_portal/schemas/subscription.py   97% 34 1 0   100% 0 0   97%
polar/customer_portal/schemas/wallet.py   100% 3 0 0   100% 0 0   100%
polar/customer_portal/service/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_portal/service/benefit_grant.py   74% 77 20 0   59% 32 1   70%
polar/customer_portal/service/customer.py   63% 97 36 0   41% 32 5   57%
polar/customer_portal/service/customer_meter.py   100% 26 0 0   100% 4 0   100%
polar/customer_portal/service/customer_session.py   86% 73 10 0   50% 10 3   82%
polar/customer_portal/service/downloadables.py   52% 90 43 0   30% 10 1   50%
polar/customer_portal/service/order.py   80% 82 16 0   82% 22 2   81%
polar/customer_portal/service/organization.py   100% 11 0 0   100% 0 0   100%
polar/customer_portal/service/subscription.py   77% 82 19 0   62% 32 2   73%
polar/customer_portal/service/wallet.py   100% 21 0 0   100% 0 0   100%
polar/customer_portal/sorting/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_portal/sorting/customer_meter.py   100% 13 0 0   100% 0 0   100%
polar/customer_portal/sorting/wallet.py   100% 4 0 0   100% 0 0   100%
polar/customer_seat/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_seat/auth.py   100% 11 0 0   100% 0 0   100%
polar/customer_seat/endpoints.py   60% 156 62 0   37% 60 10   54%
polar/customer_seat/repository.py   48% 103 54 0   6% 16 1   42%
polar/customer_seat/schemas.py   86% 79 11 0   45% 20 1   78%
polar/customer_seat/sender.py   56% 16 7 0   0% 2 0   50%
polar/customer_seat/service.py   26% 295 218 0   3% 94 3   21%
polar/customer_session/__init__.py   100% 0 0 0   100% 0 0   100%
polar/customer_session/auth.py   100% 8 0 0   100% 0 0   100%
polar/customer_session/endpoints.py   100% 13 0 0   100% 0 0   100%
polar/customer_session/schemas.py   100% 15 0 0   100% 0 0   100%
polar/customer_session/service.py   74% 61 16 0   50% 8 2   71%
polar/customer_session/tasks.py   67% 6 2 0   100% 0 0   67%
polar/discount/__init__.py   100% 0 0 0   100% 0 0   100%
polar/discount/auth.py   100% 10 0 0   100% 0 0   100%
polar/discount/endpoints.py   93% 43 3 0   50% 6 3   88%
polar/discount/repository.py   78% 9 2 0   100% 0 0   78%
polar/discount/schemas.py   100% 117 0 0   82% 22 4   97%
polar/discount/service.py   50% 188 94 0   27% 84 9   43%
polar/discount/sorting.py   100% 10 0 0   100% 0 0   100%
polar/email/__init__.py   100% 0 0 0   100% 0 0   100%
polar/email/react.py   83% 12 2 0   50% 4 2   75%
polar/email/schemas.py   98% 115 2 0   50% 10 5   94%
polar/email/sender.py   65% 54 19 0   33% 6 2   62%
polar/email/tasks.py   80% 5 1 0   100% 0 0   80%
polar/email_update/__init__.py   100% 0 0 0   100% 0 0   100%
polar/email_update/endpoints.py   86% 29 4 0   100% 0 0   86%
polar/email_update/schemas.py   100% 10 0 0   100% 0 0   100%
polar/email_update/service.py   87% 61 8 0   67% 6 2   85%
polar/email_update/tasks.py   78% 9 2 0   100% 0 0   78%
polar/enums.py   72% 57 16 0   0% 12 0   59%
polar/event/__init__.py   100% 0 0 0   100% 0 0   100%
polar/event/auth.py   100% 10 0 0   100% 0 0   100%
polar/event/endpoints.py   95% 65 3 0   75% 12 3   92%
polar/event/repository.py   67% 192 64 0   47% 70 9   61%
polar/event/schemas.py   100% 140 0 0   100% 2 0   100%
polar/event/service.py   66% 330 111 0   58% 158 17   64%
polar/event/sorting.py   100% 21 0 0   100% 0 0   100%
polar/event/system.py   68% 154 49 0   0% 64 64   48%
polar/event/tasks.py   75% 8 2 0   100% 0 0   75%
polar/event_type/__init__.py   100% 2 0 0   100% 0 0   100%
polar/event_type/auth.py   100% 10 0 0   100% 0 0   100%
polar/event_type/endpoints.py   92% 25 2 0   50% 2 1   89%
polar/event_type/repository.py   61% 31 12 0   17% 6 1   54%
polar/event_type/schemas.py   94% 35 2 0   67% 6 2   90%
polar/event_type/service.py   87% 67 9 0   83% 30 3   86%
polar/event_type/sorting.py   100% 11 0 0   100% 0 0   100%
polar/eventstream/__init__.py   100% 0 0 0   100% 0 0   100%
polar/eventstream/endpoints.py   39% 61 37 0   0% 18 0   30%
polar/eventstream/service.py   76% 46 11 0   50% 12 2   71%
polar/eventstream/tasks.py   80% 5 1 0   100% 0 0   80%
polar/exception_handlers.py   96% 23 1 0   100% 0 0   96%
polar/exceptions.py   92% 65 5 0   100% 4 0   93%
polar/external_event/__init__.py   100% 0 0 0   100% 0 0   100%
polar/external_event/repository.py   41% 29 17 0   0% 10 0   31%
polar/external_event/service.py   45% 53 29 0   10% 10 1   40%
polar/external_event/sorting.py   100% 10 0 0   100% 0 0   100%
polar/file/__init__.py   100% 0 0 0   100% 0 0   100%
polar/file/auth.py   100% 9 0 0   100% 0 0   100%
polar/file/endpoints.py   93% 45 3 0   50% 6 3   88%
polar/file/repository.py   61% 31 12 0   10% 10 1   49%
polar/file/s3.py   100% 6 0 0   100% 0 0   100%
polar/file/schemas.py   88% 42 5 0   25% 4 1   83%
polar/file/service.py   48% 85 44 0   22% 18 2   44%
polar/file/sorting.py   100% 4 0 0   100% 0 0   100%
polar/health/endpoints.py   79% 19 4 0   100% 0 0   79%
polar/held_balance/__init__.py   100% 0 0 0   100% 0 0   100%
polar/held_balance/service.py   54% 37 17 0   17% 6 1   49%
polar/integrations/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/apple/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/apple/endpoints.py   60% 73 29 0   28% 18 3   54%
polar/integrations/apple/service.py   44% 79 44 0   21% 14 1   41%
polar/integrations/aws/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/aws/s3/__init__.py   100% 3 0 0   100% 0 0   100%
polar/integrations/aws/s3/client.py   90% 10 1 0   50% 2 1   83%
polar/integrations/aws/s3/exceptions.py   100% 2 0 0   100% 2 0   100%
polar/integrations/aws/s3/schemas.py   61% 71 28 0   14% 14 2   53%
polar/integrations/aws/s3/service.py   40% 88 53 0   25% 16 2   38%
polar/integrations/discord/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/discord/client.py   33% 54 36 0   0% 4 0   31%
polar/integrations/discord/endpoints.py   66% 58 20 0   0% 4 0   61%
polar/integrations/discord/oauth.py   100% 4 0 0   100% 0 0   100%
polar/integrations/discord/schemas.py   75% 12 3 0   0% 2 0   64%
polar/integrations/discord/service.py   41% 59 35 0   6% 18 1   32%
polar/integrations/discord/webhook.py   100% 15 0 0   100% 0 0   100%
polar/integrations/github/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/github/client.py   63% 27 10 0   36% 14 5   54%
polar/integrations/github/endpoints.py   55% 80 36 0   33% 18 2   51%
polar/integrations/github/service/__init__.py   100% 2 0 0   100% 0 0   100%
polar/integrations/github/service/secret_scanning.py   51% 89 44 0   14% 14 2   46%
polar/integrations/github/service/user.py   32% 95 65 0   11% 18 2   28%
polar/integrations/github_repository_benefit/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/endpoints.py   65% 63 22 0   25% 4 1   63%
polar/integrations/github_repository_benefit/schemas.py   100% 4 0 0   100% 0 0   100%
polar/integrations/github_repository_benefit/service.py   29% 159 113 0   7% 44 3   24%
polar/integrations/github_repository_benefit/types.py   100% 2 0 0   100% 0 0   100%
polar/integrations/google/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/google/endpoints.py   56% 66 29 0   25% 16 2   50%
polar/integrations/google/service.py   37% 75 47 0   8% 12 1   33%
polar/integrations/loops/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/loops/client.py   67% 24 8 0   100% 0 0   67%
polar/integrations/loops/service.py   75% 52 13 0   30% 10 3   68%
polar/integrations/loops/tasks.py   80% 10 2 0   100% 0 0   80%
polar/integrations/open_collective/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/open_collective/service.py   54% 48 22 0   0% 4 0   50%
polar/integrations/plain/endpoints.py   58% 19 8 0   0% 4 0   48%
polar/integrations/plain/schemas.py   100% 14 0 0   100% 0 0   100%
polar/integrations/plain/service.py   22% 231 180 0   2% 92 2   16%
polar/integrations/stripe/__init__.py   100% 0 0 0   100% 0 0   100%
polar/integrations/stripe/endpoints.py   58% 43 18 0   0% 6 0   51%
polar/integrations/stripe/payment.py   25% 99 74 0   0% 44 0   17%
polar/integrations/stripe/schemas.py   100% 22 0 0   100% 0 0   100%
polar/integrations/stripe/service.py   32% 354 239 0   7% 106 7   27%
polar/integrations/stripe/tasks.py   36% 269 173 0   3% 32 1   32%
polar/integrations/stripe/utils.py   38% 13 8 0   0% 6 0   26%
polar/invoice/generator.py   37% 226 143 0   0% 34 0   32%
polar/invoice/service.py   32% 63 43 0   10% 10 1   29%
polar/kit/__init__.py   100% 0 0 0   100% 0 0   100%
polar/kit/address.py   75% 153 38 0   29% 38 5   66%
polar/kit/anonymization.py   38% 8 5 0   100% 0 0   38%
polar/kit/cors.py   73% 48 13 0   29% 14 2   63%
polar/kit/crypto.py   100% 24 0 0   100% 2 0   100%
polar/kit/csv.py   49% 39 20 0   10% 10 1   41%
polar/kit/db/__init__.py   100% 0 0 0   100% 0 0   100%
polar/kit/db/models/__init__.py   100% 2 0 0   100% 0 0   100%
polar/kit/db/models/base.py   93% 41 3 0   100% 2 0   93%
polar/kit/db/postgres.py   93% 42 3 0   40% 10 4   83%
polar/kit/email.py   95% 20 1 0   50% 2 1   91%
polar/kit/extensions/__init__.py   100% 0 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/__init__.py   100% 3 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/sql.py   100% 6 0 0   100% 0 0   100%
polar/kit/extensions/sqlalchemy/types.py   85% 39 6 0   33% 6 2   78%
polar/kit/hook.py   62% 13 5 0   0% 4 0   47%
polar/kit/html.py   0% 7 7 0   100% 0 0   0%
polar/kit/http.py   79% 19 4 0   75% 4 1   78%
polar/kit/jwk.py   90% 31 3 0   75% 4 1   89%
polar/kit/jwt.py   89% 27 3 0   33% 6 2   79%
polar/kit/math.py   42% 12 7 0   0% 4 0   31%
polar/kit/metadata.py   84% 69 11 0   56% 18 0   78%
polar/kit/money.py   0% 5 5 0   0% 2 0   0%
polar/kit/operator.py   25% 8 6 0   0% 2 0   20%
polar/kit/pagination.py   97% 62 2 0   75% 20 5   91%
polar/kit/repository/__init__.py   100% 2 0 0   100% 0 0   100%
polar/kit/repository/base.py   93% 108 8 0   44% 34 19   81%
polar/kit/routing.py   99% 88 1 0   88% 24 3   96%
polar/kit/schemas.py   94% 101 6 0   56% 16 7   89%
polar/kit/services.py   44% 43 24 0   0% 8 0   37%
polar/kit/sorting.py   92% 38 3 0   88% 8 1   91%
polar/kit/tax.py   82% 285 51 0   46% 48 6   77%
polar/kit/time_queries.py   100% 21 0 0   100% 0 0   100%
polar/kit/trial.py   78% 40 9 0   33% 12 0   67%
polar/kit/utils.py   100% 12 0 0   100% 4 0   100%
polar/license_key/__init__.py   100% 0 0 0   100% 0 0   100%
polar/license_key/auth.py   100% 7 0 0   100% 0 0   100%
polar/license_key/endpoints.py   87% 62 8 0   50% 12 6   81%
polar/license_key/repository.py   85% 27 4 0   25% 4 1   77%
polar/license_key/schemas.py   68% 75 24 0   7% 14 1   58%
polar/license_key/service.py   35% 165 108 0   12% 50 2   29%
polar/locker.py   84% 44 7 0   50% 2 1   83%
polar/logfire.py   88% 49 6 0   80% 10 2   86%
polar/logging.py   91% 45 4 0   50% 4 2   88%
polar/login_code/__init__.py   100% 0 0 0   100% 0 0   100%
polar/login_code/endpoints.py   68% 40 13 0   25% 4 1   64%
polar/login_code/schemas.py   100% 13 0 0   100% 0 0   100%
polar/login_code/service.py   73% 64 17 0   20% 10 2   66%
polar/member/__init__.py   100% 3 0 0   100% 0 0   100%
polar/member/auth.py   100% 10 0 0   100% 0 0   100%
polar/member/endpoints.py   100% 22 0 0   100% 2 0   100%
polar/member/repository.py   79% 34 7 0   33% 6 2   72%
polar/member/schemas.py   100% 26 0 0   100% 0 0   100%
polar/member/service.py   64% 61 22 0   42% 12 3   60%
polar/member/sorting.py   100% 7 0 0   100% 0 0   100%
polar/meter/__init__.py   100% 0 0 0   100% 0 0   100%
polar/meter/aggregation.py   89% 74 8 0   80% 20 4   87%
polar/meter/auth.py   100% 10 0 0   100% 0 0   100%
polar/meter/endpoints.py   100% 47 0 0   100% 8 0   100%
polar/meter/filter.py   87% 84 11 0   72% 36 4   82%
polar/meter/repository.py   89% 18 2 0   25% 4 1   77%
polar/meter/schemas.py   100% 34 0 0   100% 0 0   100%
polar/meter/service.py   70% 165 50 0   58% 60 9   67%
polar/meter/sorting.py   100% 8 0 0   100% 0 0   100%
polar/meter/tasks.py   58% 26 11 0   25% 4 1   53%
polar/metrics/__init__.py   100% 0 0 0   100% 0 0   100%
polar/metrics/auth.py   100% 7 0 0   100% 0 0   100%
polar/metrics/endpoints.py   100% 26 0 0   100% 2 0   100%
polar/metrics/metrics.py   99% 523 4 0   30% 10 7   98%
polar/metrics/queries.py   85% 131 19 0   53% 60 12   75%
polar/metrics/schemas.py   85% 40 6 0   25% 12 3   71%
polar/metrics/service.py   100% 57 0 0   100% 14 0   100%
polar/middlewares.py   80% 64 13 0   62% 16 2   76%
polar/models/__init__.py   100% 71 0 0   100% 0 0   100%
polar/models/account.py   75% 88 22 0   10% 10 1   68%
polar/models/benefit.py   84% 50 8 0   50% 2 1   83%
polar/models/benefit_grant.py   70% 97 29 0   17% 12 2   64%
polar/models/billing_entry.py   96% 57 2 0   50% 2 1   95%
polar/models/campaign.py   100% 15 0 0   100% 0 0   100%
polar/models/checkout.py   89% 229 25 0   53% 34 10   84%
polar/models/checkout_link.py   89% 38 4 0   50% 2 1   88%
polar/models/checkout_link_product.py   95% 19 1 0   50% 2 1   90%
polar/models/checkout_product.py   95% 22 1 0   50% 2 1   92%
polar/models/custom_field.py   85% 88 13 0   75% 4 1   85%
polar/models/customer.py   72% 153 43 0   6% 18 1   65%
polar/models/customer_meter.py   87% 31 4 0   50% 2 1   85%
polar/models/customer_seat.py   81% 48 9 0   25% 4 1   77%
polar/models/customer_session.py   83% 30 5 0   100% 0 0   83%
polar/models/customer_session_code.py   100% 19 0 0   100% 0 0   100%
polar/models/discount.py   82% 93 17 0   29% 14 2   75%
polar/models/discount_product.py   94% 17 1 0   50% 2 1   89%
polar/models/discount_redemption.py   95% 21 1 0   50% 2 1   91%
polar/models/downloadable.py   100% 30 0 0   100% 0 0   100%
polar/models/email_verification.py   100% 19 0 0   100% 0 0   100%
polar/models/event.py   65% 113 40 0   4% 24 1   54%
polar/models/event_type.py   94% 17 1 0   50% 2 1   89%
polar/models/external_event.py   91% 34 3 0   100% 0 0   91%
polar/models/file.py   97% 39 1 0   50% 2 1   95%
polar/models/held_balance.py   98% 41 1 0   50% 2 1   95%
polar/models/issue_reward.py   68% 41 13 0   12% 8 1   59%
polar/models/license_key.py   80% 65 13 0   25% 4 1   77%
polar/models/license_key_activation.py   90% 20 2 0   50% 2 1   86%
polar/models/login_code.py   93% 15 1 0   50% 2 1   88%
polar/models/member.py   100% 22 0 0   100% 0 0   100%
polar/models/meter.py   92% 26 2 0   50% 2 1   89%
polar/models/notification.py   93% 15 1 0   50% 2 1   88%
polar/models/notification_recipient.py   94% 16 1 0   50% 2 1   89%
polar/models/oauth2_authorization_code.py   100% 8 0 0   100% 0 0   100%
polar/models/oauth2_client.py   96% 25 1 0   50% 2 1   93%
polar/models/oauth2_grant.py   95% 22 1 0   100% 0 0   95%
polar/models/oauth2_token.py   83% 24 4 0   50% 2 1   81%
polar/models/order.py   75% 184 46 0   5% 20 1   68%
polar/models/order_item.py   65% 54 19 0   10% 10 1   56%
polar/models/organization.py   87% 150 20 0   33% 6 2   85%
polar/models/organization_access_token.py   100% 21 0 0   100% 0 0   100%
polar/models/organization_review.py   95% 37 2 0   50% 2 1   92%
polar/models/payment.py   87% 68 9 0   50% 2 1   86%
polar/models/payment_method.py   92% 24 2 0   50% 2 1   88%
polar/models/payout.py   84% 63 10 0   17% 6 1   78%
polar/models/personal_access_token.py   100% 21 0 0   100% 0 0   100%
polar/models/pledge.py   88% 98 12 0   100% 0 0   88%
polar/models/pledge_transaction.py   100% 25 0 0   100% 0 0   100%
polar/models/processor_transaction.py   96% 28 1 0   100% 0 0   96%
polar/models/product.py   85% 85 13 0   36% 14 3   78%
polar/models/product_benefit.py   95% 19 1 0   50% 2 1   90%
polar/models/product_custom_field.py   93% 15 1 0   50% 2 1   88%
polar/models/product_media.py   90% 20 2 0   50% 2 1   86%
polar/models/product_price.py   77% 185 42 0   21% 24 3   71%
polar/models/refund.py   75% 112 28 0   5% 22 1   63%
polar/models/subscription.py   72% 211 60 0   3% 30 1   63%
polar/models/subscription_meter.py   82% 28 5 0   50% 2 1   80%
polar/models/subscription_product_price.py   67% 30 10 0   12% 8 1   55%
polar/models/transaction.py   96% 224 9 0   50% 2 1   96%
polar/models/trial_redemption.py   95% 21 1 0   50% 2 1   91%
polar/models/user.py   79% 116 24 0   14% 14 2   72%
polar/models/user_notification.py   100% 8 0 0   100% 0 0   100%
polar/models/user_organization.py   100% 16 0 0   100% 0 0   100%
polar/models/user_session.py   96% 23 1 0   100% 0 0   96%
polar/models/wallet.py   93% 28 2 0   50% 2 1   90%
polar/models/wallet_transaction.py   90% 31 3 0   50% 2 1   88%
polar/models/webhook_delivery.py   90% 21 2 0   50% 2 1   87%
polar/models/webhook_endpoint.py   98% 56 1 0   50% 2 1   97%
polar/models/webhook_event.py   93% 29 2 0   50% 2 1   90%
polar/notification_recipient/__init__.py   100% 0 0 0   100% 0 0   100%
polar/notification_recipient/auth.py   100% 9 0 0   100% 0 0   100%
polar/notification_recipient/repository.py   100% 24 0 0   100% 6 0   100%
polar/notification_recipient/schemas.py   100% 15 0 0   100% 0 0   100%
polar/notification_recipient/service.py   100% 25 0 0   100% 4 0   100%
polar/notifications/__init__.py   100% 0 0 0   100% 0 0   100%
polar/notifications/auth.py   100% 9 0 0   100% 0 0   100%
polar/notifications/endpoints.py   100% 35 0 0   100% 0 0   100%
polar/notifications/notification.py   70% 64 19 0   0% 4 0   66%
polar/notifications/schemas.py   100% 5 0 0   100% 0 0   100%
polar/notifications/service.py   68% 47 15 0   0% 2 0   65%
polar/notifications/tasks/__init__.py   100% 2 0 0   100% 0 0   100%
polar/notifications/tasks/email.py   50% 16 8 0   0% 2 0   44%
polar/notifications/tasks/push.py   27% 49 36 0   0% 8 0   23%
polar/oauth2/__init__.py   100% 0 0 0   100% 0 0   100%
polar/oauth2/authorization_server.py   74% 258 66 0   67% 54 8   73%
polar/oauth2/constants.py   100% 17 0 0   100% 0 0   100%
polar/oauth2/dependencies.py   89% 36 4 0   50% 6 3   83%
polar/oauth2/endpoints/__init__.py   100% 0 0 0   100% 0 0   100%
polar/oauth2/endpoints/oauth2.py   81% 83 16 0   0% 6 0   75%
polar/oauth2/endpoints/well_known.py   71% 17 5 0   100% 0 0   71%
polar/oauth2/exception_handlers.py   100% 9 0 0   50% 2 1   91%
polar/oauth2/exceptions.py   92% 13 1 0   100% 0 0   92%
polar/oauth2/grants/__init__.py   91% 11 1 0   50% 2 1   85%
polar/oauth2/grants/authorization_code.py   37% 153 96 0   3% 30 1   32%
polar/oauth2/grants/refresh_token.py   56% 27 12 0   25% 4 1   52%
polar/oauth2/grants/web.py   27% 81 59 0   0% 20 0   22%
polar/oauth2/mcp_client.py   0% 32 32 0   0% 4 0   0%
polar/oauth2/metadata.py   98% 45 1 0   50% 2 1   96%
polar/oauth2/requests.py   67% 55 18 0   0% 8 0   59%
polar/oauth2/schemas.py   93% 68 5 0   50% 4 2   90%
polar/oauth2/service/__init__.py   100% 0 0 0   100% 0 0   100%
polar/oauth2/service/oauth2_authorization_code.py   59% 22 9 0   0% 2 0   54%
polar/oauth2/service/oauth2_client.py   51% 53 26 0   7% 14 1   42%
polar/oauth2/service/oauth2_grant.py   34% 38 25 0   7% 14 1   27%
polar/oauth2/service/oauth2_token.py   48% 60 31 0   10% 20 2   39%
polar/oauth2/sub_type.py   61% 46 18 0   8% 12 1   50%
polar/oauth2/userinfo.py   26% 23 17 0   0% 14 0   16%
polar/openapi.py   96% 28 1 0   50% 2 1   93%
polar/order/__init__.py   100% 0 0 0   100% 0 0   100%
polar/order/auth.py   100% 9 0 0   100% 0 0   100%
polar/order/endpoints.py   92% 61 5 0   50% 10 5   86%
polar/order/repository.py   79% 67 14 0   77% 26 4   78%
polar/order/schemas.py   91% 79 7 0   33% 6 2   87%
polar/order/service.py   21% 812 638 0   6% 254 2   18%
polar/order/sorting.py   100% 15 0 0   100% 0 0   100%
polar/order/tasks.py   35% 126 82 0   4% 24 1   30%
polar/organization/__init__.py   100% 0 0 0   100% 0 0   100%
polar/organization/ai_validation.py   84% 87 14 0   70% 20 6   81%
polar/organization/auth.py   100% 10 0 0   100% 0 0   100%
polar/organization/endpoints.py   86% 136 19 0   62% 40 7   81%
polar/organization/repository.py   77% 64 15 0   61% 18 3   73%
polar/organization/resolver.py   87% 23 3 0   62% 8 1   81%
polar/organization/schemas.py   98% 161 4 0   75% 8 2   96%
polar/organization/service.py   47% 415 218 0   25% 134 10   42%
polar/organization/sorting.py   100% 11 0 0   100% 0 0   100%
polar/organization/tasks.py   34% 98 65 0   3% 30 1   27%
polar/organization_access_token/__init__.py   100% 0 0 0   100% 0 0   100%
polar/organization_access_token/endpoints.py   100% 36 0 0   100% 4 0   100%
polar/organization_access_token/repository.py   93% 27 2 0   50% 2 1   90%
polar/organization_access_token/schemas.py   100% 14 0 0   100% 0 0   100%
polar/organization_access_token/service.py   86% 86 12 0   67% 18 2   83%
polar/organization_access_token/sorting.py   100% 10 0 0   100% 0 0   100%
polar/organization_access_token/tasks.py   67% 9 3 0   100% 0 0   67%
polar/payment/__init__.py   100% 0 0 0   100% 0 0   100%
polar/payment/auth.py   100% 8 0 0   100% 0 0   100%
polar/payment/endpoints.py   96% 27 1 0   50% 2 1   93%
polar/payment/repository.py   70% 44 13 0   57% 14 2   67%
polar/payment/schemas.py   100% 28 0 0   100% 0 0   100%
polar/payment/service.py   42% 106 62 0   33% 36 2   39%
polar/payment/sorting.py   100% 10 0 0   100% 0 0   100%
polar/payment_method/__init__.py   100% 0 0 0   100% 0 0   100%
polar/payment_method/repository.py   48% 27 14 0   0% 2 0   45%
polar/payment_method/schemas.py   100% 11 0 0   100% 0 0   100%
polar/payment_method/service.py   28% 96 69 0   3% 32 1   22%
polar/payout/__init__.py   100% 0 0 0   100% 0 0   100%
polar/payout/auth.py   100% 9 0 0   100% 0 0   100%
polar/payout/endpoints.py   88% 58 7 0   50% 10 5   82%
polar/payout/repository.py   81% 52 10 0   75% 16 2   79%
polar/payout/schemas.py   100% 14 0 0   100% 0 0   100%
polar/payout/service.py   33% 243 162 0   8% 62 1   28%
polar/payout/sorting.py   100% 12 0 0   100% 0 0   100%
polar/payout/tasks.py   43% 53 30 0   10% 10 1   38%
polar/personal_access_token/__init__.py   100% 0 0 0   100% 0 0   100%
polar/personal_access_token/endpoints.py   81% 21 4 0   0% 2 0   74%
polar/personal_access_token/schemas.py   100% 6 0 0   100% 0 0   100%
polar/personal_access_token/service.py   70% 56 17 0   25% 4 1   67%
polar/personal_access_token/tasks.py   75% 8 2 0   100% 0 0   75%
polar/pledge/__init__.py   100% 0 0 0   100% 0 0   100%
polar/pledge/hooks.py   100% 12 0 0   100% 0 0   100%
polar/pledge/service.py   21% 218 173 0   0% 88 0   15%
polar/postgres.py   95% 43 2 0   100% 2 0   96%
polar/posthog.py   65% 68 24 0   22% 18 4   56%
polar/processor_transaction/__init__.py   100% 0 0 0   100% 0 0   100%
polar/processor_transaction/repository.py   54% 13 6 0   0% 2 0   47%
polar/processor_transaction/service.py   50% 16 8 0   0% 4 0   40%
polar/processor_transaction/tasks.py   67% 6 2 0   100% 0 0   67%
polar/product/__init__.py   100% 0 0 0   100% 0 0   100%
polar/product/auth.py   100% 9 0 0   100% 0 0   100%
polar/product/endpoints.py   100% 47 0 0   100% 6 0   100%
polar/product/guard.py   96% 28 1 0   100% 0 0   96%
polar/product/repository.py   89% 61 7 0   56% 18 4   81%
polar/product/schemas.py   96% 186 8 0   69% 16 3   94%
polar/product/service.py   74% 262 67 0   60% 118 19   70%
polar/product/sorting.py   100% 10 0 0   100% 0 0   100%
polar/rate_limit.py   69% 32 10 0   33% 6 2   63%
polar/redis.py   94% 18 1 0   50% 2 1   90%
polar/refund/__init__.py   100% 0 0 0   100% 0 0   100%
polar/refund/auth.py   100% 7 0 0   100% 0 0   100%
polar/refund/endpoints.py   100% 25 0 0   100% 0 0   100%
polar/refund/schemas.py   65% 37 13 0   0% 4 0   59%
polar/refund/service.py   36% 286 183 0   20% 94 5   32%
polar/refund/sorting.py   100% 8 0 0   100% 0 0   100%
polar/routing.py   100% 6 0 0   100% 0 0   100%
polar/sentry.py   86% 22 3 0   100% 2 0   88%
polar/storefront/__init__.py   100% 0 0 0   100% 0 0   100%
polar/storefront/endpoints.py   76% 34 8 0   30% 10 3   66%
polar/storefront/schemas.py   100% 15 0 0   100% 0 0   100%
polar/storefront/service.py   88% 24 3 0   100% 0 0   88%
polar/subscription/__init__.py   100% 0 0 0   100% 0 0   100%
polar/subscription/auth.py   100% 9 0 0   100% 0 0   100%
polar/subscription/endpoints.py   81% 75 14 0   31% 16 5   73%
polar/subscription/repository.py   71% 100 29 0   56% 36 4   67%
polar/subscription/scheduler.py   0% 65 65 0   0% 2 0   0%
polar/subscription/schemas.py   97% 95 3 0   25% 4 1   94%
polar/subscription/service.py   19% 1039 841 0   6% 374 9   16%
polar/subscription/sorting.py   100% 13 0 0   100% 0 0   100%
polar/subscription/tasks.py   38% 84 52 0   6% 16 1   33%
polar/tasks.py   100% 26 0 0   100% 0 0   100%
polar/transaction/__init__.py   100% 0 0 0   100% 0 0   100%
polar/transaction/auth.py   100% 9 0 0   100% 0 0   100%
polar/transaction/endpoints.py   97% 30 1 0   50% 2 1   94%
polar/transaction/fees/__init__.py   100% 0 0 0   100% 0 0   100%
polar/transaction/fees/stripe/__init__.py   61% 38 15 0   50% 4 0   60%
polar/transaction/repository.py   63% 35 13 0   100% 0 0   63%
polar/transaction/schemas.py   100% 16 0 0   100% 0 0   100%
polar/transaction/service/__init__.py   100% 0 0 0   100% 0 0   100%
polar/transaction/service/balance.py   38% 61 38 0   12% 8 1   35%
polar/transaction/service/base.py   71% 14 4 0   50% 2 1   69%
polar/transaction/service/dispute.py   30% 96 67 0   5% 22 1   25%
polar/transaction/service/payment.py   36% 50 32 0   7% 14 1   30%
polar/transaction/service/payout.py   40% 30 18 0   8% 12 1   31%
polar/transaction/service/platform_fee.py   25% 108 81 0   3% 36 1   19%
polar/transaction/service/processor_fee.py   18% 114 93 0   2% 58 1   13%
polar/transaction/service/refund.py   32% 92 63 0   6% 16 1   28%
polar/transaction/service/transaction.py   76% 78 19 0   82% 22 2   77%
polar/transaction/tasks.py   47% 30 16 0   17% 6 1   42%
polar/trial_redemption/__init__.py   100% 0 0 0   100% 0 0   100%
polar/trial_redemption/repository.py   42% 19 11 0   0% 8 0   30%
polar/trial_redemption/service.py   56% 16 7 0   100% 0 0   56%
polar/types.py   100% 5 0 0   100% 0 0   100%
polar/user/__init__.py   100% 0 0 0   100% 0 0   100%
polar/user/endpoints.py   97% 36 1 0   100% 0 0   97%
polar/user/oauth_service.py   65% 40 14 0   25% 8 2   58%
polar/user/repository.py   47% 45 24 0   7% 14 1   37%
polar/user/schemas.py   96% 49 2 0   75% 4 1   94%
polar/user/service.py   45% 121 67 0   23% 30 5   40%
polar/user/sorting.py   100% 8 0 0   100% 0 0   100%
polar/user/tasks.py   53% 17 8 0   25% 4 1   48%
polar/user_organization/__init__.py   100% 0 0 0   100% 0 0   100%
polar/user_organization/schemas.py   100% 9 0 0   100% 0 0   100%
polar/user_organization/service.py   61% 69 27 0   29% 14 2   55%
polar/wallet/__init__.py   100% 0 0 0   100% 0 0   100%
polar/wallet/auth.py   100% 9 0 0   100% 0 0   100%
polar/wallet/endpoints.py   91% 34 3 0   50% 4 2   87%
polar/wallet/repository.py   76% 37 9 0   50% 8 2   71%
polar/wallet/schemas.py   100% 16 0 0   100% 0 0   100%
polar/wallet/service.py   47% 103 55 0   25% 24 2   43%
polar/wallet/sorting.py   100% 8 0 0   100% 0 0   100%
polar/webhook/__init__.py   100% 0 0 0   100% 0 0   100%
polar/webhook/auth.py   100% 9 0 0   100% 0 0   100%
polar/webhook/endpoints.py   100% 57 0 0   100% 8 0   100%
polar/webhook/repository.py   67% 24 8 0   0% 2 0   62%
polar/webhook/schemas.py   100% 34 0 0   100% 0 0   100%
polar/webhook/service.py   72% 251 71 0   17% 108 64   55%
polar/webhook/slack.py   100% 6 0 0   100% 0 0   100%
polar/webhook/sorting.py   100% 3 0 0   100% 0 0   100%
polar/webhook/tasks.py   31% 84 58 0   0% 16 0   26%
polar/webhook/webhooks.py   50% 306 154 0   15% 86 9   42%
polar/worker/__init__.py   74% 100 26 0   38% 8 1   71%
polar/worker/_encoder.py   91% 11 1 0   50% 2 1   85%
polar/worker/_enqueue.py   98% 86 2 0   86% 14 2   96%
polar/worker/_health.py   50% 80 40 0   0% 6 0   47%
polar/worker/_redis.py   52% 25 12 0   0% 4 0   45%
polar/worker/_sqlalchemy.py   50% 42 21 0   0% 4 0   46%
polar/worker/run.py   0% 9 9 0   100% 0 0   0%
polar/worker/scheduler.py   0% 34 34 0   0% 4 0   0%
Total   66% 30218 10318 0   30% 6282 843   60%

No items found using the specified filter.