-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: drop pyo3 core dep #355
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
tket2-py/src/ops.rs
Outdated
#[derive(Debug, Clone, From)] | ||
#[repr(transparent)] | ||
pub struct PyTk2Op { | ||
/// Rust representation of the circuit chunks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"circuit chunks"?
tket2-py/src/ops.rs
Outdated
#[derive(Debug, Clone, From)] | ||
#[repr(transparent)] | ||
pub struct PyPauli { | ||
/// Rust representation of the circuit chunks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #355 +/- ##
==========================================
+ Coverage 85.33% 85.42% +0.09%
==========================================
Files 36 37 +1
Lines 4554 4564 +10
Branches 4293 4290 -3
==========================================
+ Hits 3886 3899 +13
+ Misses 488 485 -3
Partials 180 180 ☔ View full report in Codecov by Sentry. |
🤖 I have created a release *beep* *boop* --- ## 0.1.0 (2024-06-28) ### ⚠ BREAKING CHANGES * require `hugr-0.5.0` * Replaced `tket2.circuit.OpConvertError` with `tket2.circuit.TK1ConvertError` in the python lib. * Moved `tket2::json` to `tket2::serialize::pytket` * Replaced the `Circuit` trait with a wrapper struct. * This is a breaking change to the compiled rewriter serialisation format. ### Features * Add a "progress timeout" to badger ([#259](#259)) ([556cf64](556cf64)) * Add missing typing hints ([#352](#352)) ([4990613](4990613)) * bindings for circuit cost and hash ([#252](#252)) ([85ce5f9](85ce5f9)) * drop pyo3 core dep ([#355](#355)) ([9f7d415](9f7d415)) * EccRewriter bindings ([#251](#251)) ([97e2e0a](97e2e0a)) * guppy → pytket conversion ([#407](#407)) ([8c5a487](8c5a487)) * Implement `PyErr` conversion locally in `tket2-py` ([#258](#258)) ([3e1a68d](3e1a68d)) * init tket2-hseries ([#368](#368)) ([61e7535](61e7535)) * pauli propagation use case example ([#333](#333)) ([f46973c](f46973c)) * **py:** Allow using `Tk2Op`s in the builder ([#436](#436)) ([aed8651](aed8651)) * Support any ops in portmatching ([#293](#293)) ([6b05a05](6b05a05)) * **tket2-py:** Bind the `lower_to_pytket` pass in python ([#439](#439)) ([8208324](8208324)) * Use tket1 and tket2 circuits interchangeably everywhere ([#243](#243)) ([eac7acf](eac7acf)) * Utilities for loading compiled guppy circuits ([#393](#393)) ([028779a](028779a)) ### Bug Fixes * failed importlib import ([#254](#254)) ([b077660](b077660)) * induced cycles in depth optimisation ([#264](#264)) ([68c9ff2](68c9ff2)), closes [#253](#253) * Make native py modules behave like python's ([#212](#212)) ([4220038](4220038)), closes [#209](#209) * pytest failing to find `tket2` in CI ([#367](#367)) ([a9df8e6](a9df8e6)) * **tket2-py:** Replace `with_hugr` helpers with `with_circ`, keeping the circuit parent. ([#438](#438)) ([b77b3cb](b77b3cb)) ### Documentation * Add some example notebooks for the python package. ([#443](#443)) ([4ed276c](4ed276c)), closes [#434](#434) * Update tket2-py readme ([6c8f18a](6c8f18a)) ### Code Refactoring * Rename `tket2::json` into `tket2::serialize::pytket` ([#392](#392)) ([93e611c](93e611c)) * Replace Circuit trait with a struct ([#370](#370)) ([ec5dd22](ec5dd22)) * Simplify tket1 conversion errors ([#408](#408)) ([b0b8aff](b0b8aff)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: Agustin Borgna <agustin.borgna@quantinuum.com>
Adds a python-side definition of
Tk2Op
andPauli
, so we can drop the dependency onpyo3
from the main rust package.In addition of being necessary for #350, having only one package depending on
pyo3
removes building headaches due to it linking to python multiple times.Blocked by #352