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

Ghini / ghini.desktop / 30614527883
58%
master: 62%

Build:
Build:
LAST BUILD BRANCH: ghini-3.1-dev
DEFAULT BRANCH: master
Ran 31 Jul 2026 08:01AM UTC
Jobs 1
Files 81
Run time 1min
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

31 Jul 2026 07:44AM UTC coverage: 58.394% (+0.03%) from 58.366%
30614527883

push

github

Mario Frasca
fix(db): declare attributes expected by Serializable/DefiningPictures mixins

Serializable.__table__, DefiningPictures.notes, and the dynamically
built Note classes from make_note_class() all relied on attributes
supplied only by whatever class they're mixed into, with nothing
declared on the mixins themselves. mypy flagged every access as
attr-defined.

- Serializable: declare __table__ as ClassVar[Table]; add a `retrieve`
  classmethod that raises NotImplementedError by default, matching the
  existing pattern for correct_field_names/compute_serializable_fields
  (previously undeclared, silently assumed to be supplied elsewhere).
- DefiningPictures: declare `notes` as ClassVar[Sequence[Any]].
- TypedBaseMixin: declare `order_by` as ClassVar[Optional[Sequence[Any]]]
  instead of relying on hasattr() duck-typing.
- make_note_class: cast the type()-constructed class to type[Base]
  before setting order_by/__table__-derived defaults.

No behavior change for existing subclasses, which already supply all
of these; the one exception is a hypothetical subclass that omits
`retrieve` entirely, which now fails with a clear NotImplementedError
instead of a confusing AttributeError.

10 of 11 new or added lines in 1 file covered. (90.91%)

59 existing lines in 2 files now uncovered.

13023 of 22302 relevant lines covered (58.39%)

0.58 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
59.51
0.33% bauble/db.py

Coverage Regressions

Lines Coverage ∆ File
31
84.23
-0.04% bauble/connmgr.py
28
45.61
1.52% bauble/plugins/garden/institution.py
Jobs
ID Job ID Ran Files Coverage
1 30614527883.1 31 Jul 2026 08:01AM UTC 81
58.39
GitHub Action Run
Source Files on build 30614527883
  • Tree
  • List 81
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30614527883
  • c178bb5e on github
  • Prev Build on ghini-3.1-dev (#30441874806)
  • Next Build on ghini-3.1-dev (#30622714312)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc