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

Qiskit / qiskit-fermions / 34117020294
98%

Build:
DEFAULT BRANCH: main
Ran 07 Sep 2026 11:35AM UTC
Jobs 1
Files 111
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

07 Sep 2026 11:30AM UTC coverage: 98.21% (+0.01%) from 98.197%
34117020294

push

github

web-flow
refactor(protocols)!: clarify the ffsim boundary in the protocols and extras (#321)

Three parts of one concern: making it visible which names belong to this
package and which belong to ffsim. Feedback reported that the distinction
between qiskit-fermions and ffsim is not clear enough, and the code was a
cause: it re-exported ffsim's API under this package's namespace.

`qiskit_fermions.linalg.apply_unitary` and `linear_operator` were one-line
pass-throughs to a protocol method, duplicating `ffsim.apply_unitary` and
`ffsim.linear_operator` so that a reader could not tell which package owned
the concept. They existed to give Windows users (where ffsim cannot install,
via PySCF) the same call sites as everyone else, but that parity is worth
less than a boundary users can see: without ffsim the protocol method is one
attribute access away.

`SupportsApplyUnitary` and `SupportsLinearOperator` go with them, for the same
reason one level up: they restated contracts ffsim already defines, so a reader
met two names for one interface. The `protocols` module now *links* the ffsim
protocols this package implements instead of redeclaring them, naming which of
our types implement each. The methods are untouched -- only the local
restatement of the interface is gone.

What stays is what is genuinely ours. `SupportsApplyUnitaryPlaced` extends
ffsim's `_apply_unitary_` with a mode placement and has no ffsim counterpart.
`SupportsFermionOperator` keeps its own declaration and gains a caution,
because the shared method name hides a genuine incompatibility --
`ffsim.fermion_operator` dispatches on the dunder and so returns this package's
`FermionOperator` rather than ffsim's unrelated type.

Finally, the `simulation` extra is renamed to `ffsim`. It named a capability
that does not require it: the native FCI kernel behind
`SupportsLinearOperator` depends only on scipy, so simulation works without
ffsim entirely. Naming the dependency is both accurate and what the
upcomin... (continued)

2 of 2 new or added lines in 2 files covered. (100.0%)

13494 of 13740 relevant lines covered (98.21%)

480069.29 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34117020294.1 07 Sep 2026 11:35AM UTC 111
98.21
GitHub Action Run
Source Files on build 34117020294
  • Tree
  • List 111
  • Changed 11
  • Source Changed 10
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34117020294
  • b9e1dce7 on github
  • Prev Build on main (#33877189194)
  • Next Build on main (#34119094223)
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