• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hasgeek / coaster / 7439559294
84%
master: 93%

Build:
Build:
LAST BUILD BRANCH: pre-commit-ci-update-config
DEFAULT BRANCH: master
Ran 07 Jan 2024 05:04PM UTC
Jobs 4
Files 33
Run time 4s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Jan 2024 05:02PM UTC coverage: 90.195% (-0.03%) from 90.227%
7439559294

push

github

web-flow
Improve typing coverage (#439)

* `current_auth` is now intended to be subclassed by apps so they can specify types for the `actor` and `user` attributes.
* `StateManager` now accepts an Enum instead of a LabeledEnum (partially).
* `RoleMixin` is now a generic on the actor type. Unfortunately this interferes with `IdMixin`'s generic arg, so any class that specifies `UUID` pkey type must also explicitly list the actor type, and conversely when specifying the actor on a table with an int pkey, `int` must be explicitly specified. Where both are unspecified, it defaults to `int` pkey and `Any` actor:
    * `BaseMixin` is the same as `BaseMixin[int, Any]`.
    * `BaseMixin[UUID]` is now an error as the second arg is missing. [PEP 696](https://peps.python.org/pep-0696/) explicitly allows this, but the PEP is a draft and implementations are incomplete.
    * `BaseMixin[..., ActorType]` is not an option as defaults can only be specified at the end. `BaseMixin[int, ActorType]` should be used to get the (previously default) `int` pkey.
* To workaround a Mypy bug (https://github.com/python/mypy/issues/16709), all uses of `declared_attr` now avoid the standard decorator convention and define it as an attribute. The exception is for `IdMixin.id`, which cannot be a class-level attribute because it contains a generic type. Python typing doesn't allow for a non-generic subclass of a generic base class. For this alone, we have a synonym named `id_` that's typed as `Any`, to be used in Protocols. Unfortunately, using `declared_attr` as a function call setting an attribute seems to trigger a Pyright bug in Protocols where it types the attr on the basis of `declared_attr.__get__`'s union return type, instead of matching the context (class-level or instance-level access). A bug report is pending. We use Mypy in CI and pre-commit checks but not Pyright, so the Pyright bug is not a blocker.

3974 of 4406 relevant lines covered (90.2%)

3.61 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python-3.10 - 7439559294.1 07 Jan 2024 05:04PM UTC 0
90.13
GitHub Action Run
2 python-3.12 - 7439559294.2 07 Jan 2024 05:05PM UTC 0
90.15
GitHub Action Run
3 python-3.9 - 7439559294.3 07 Jan 2024 05:04PM UTC 0
90.15
GitHub Action Run
4 python-3.11 - 7439559294.4 07 Jan 2024 05:04PM UTC 0
90.15
GitHub Action Run
Source Files on build 7439559294
Detailed source file information is not available for this build.
  • Back to Repo
  • a63a5183 on github
  • Prev Build on main (#7328641554)
  • Next Build on main (#7457145151)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc