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

Qiskit / qiskit / 26152008478 / 1
88%
main: 88%

Build:
DEFAULT BRANCH: main
Ran 20 May 2026 09:20AM UTC
Files 941
Run time 58s
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

20 May 2026 08:28AM UTC coverage: 87.463% (-0.2%) from 87.699%
26152008478.1

push

github

web-flow
Add generated `qiskit-pyo3-ffi` crate (#16145)

* Add generated `qiskit-pyo3-ffi` crate

This adds logic to our `qiskit-bindgen` export library to generate
raw Rust-space bindings that link against the Qiskit C API using the
same `PyCapsule`-stored vtable system that the `qiskit.h` header file in
`QISKIT_PYTHON_EXTENSION` mode does.

For the build process, this adds a new `make` command:

```bash
make qiskit-pyo3-ffi
```

that populates the complete crate into `dist/rust`.  The low-level
worker of the `make` command is the new subcommand

```bash
[cargo run -p] qiskit-bindgen-cli -- generate-pyo3 -c crates/cext -o dist/rust/qiskit-pyo3-ffi
```

I've done this using a partial "template" crate embedded in
`crates/bindgen` (but not within its `src` tree), which is analogous to
how we output the C header files; many of the infrastructure files are
hand-written, and only part of the system is generated.  I set up the
template crate `crates/bindgen/pyo3-ffi` to be largely sensible with
respect to using `rust-analyzer`-enabled IDEs or clippy commands to
check the template code itself.

The template crate is not part of the workspace because it's intended
for separate distribution.  This commit has all the logic to produce the
distribution artefact, but doesn't set up any sort of CD pipeline,
because we still have some packaging decisions to make about that.

* Make lint job stricter

* Add more comments

* Add missing check to format

107904 of 123371 relevant lines covered (87.46%)

951794.24 hits per line

Source Files on job 26152008478.1
  • Tree
  • List 941
  • Changed 8
  • Source Changed 3
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26152008478
  • 91ee749e on github
  • Prev Job for on main (#26126342071.1)
  • Next Job for on main (#26154805533.1)
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