-
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: Utilities for loading compiled guppy circuits #393
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aborgna-q
force-pushed
the
ab/guppy-deserialize
branch
from
June 10, 2024 14:07
7e53639
to
1901d6c
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #393 +/- ##
===========================================
+ Coverage 83.06% 96.00% +12.94%
===========================================
Files 48 15 -33
Lines 5042 476 -4566
Branches 4591 0 -4591
===========================================
- Hits 4188 457 -3731
+ Misses 658 19 -639
+ Partials 196 0 -196
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
guppy requires python "^3.10"
mark-koch
approved these changes
Jun 11, 2024
This was referenced Jun 11, 2024
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jun 11, 2024
## 🤖 New release * `tket2`: 0.1.0-alpha.1 -> 0.1.0-alpha.2 <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.1.0-alpha.2](tket2-v0.1.0-alpha.1...tket2-v0.1.0-alpha.2) - 2024-06-11 ### Bug Fixes - Commands iterator ignoring the hierarchy. ([#381](#381)) ### New Features - Replace `Circuit::num_gates` with `num_operations` ([#384](#384)) - Utilities for loading compiled guppy circuits ([#393](#393)) ### Refactor - [**breaking**] Replace Circuit trait with a struct ([#370](#370)) - [**breaking**] Rename `tket2::json` into `tket2::serialize::pytket` ([#392](#392)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/MarcoIeni/release-plz/).
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jun 28, 2024
🤖 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 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a series of
load_guppy_json*
methods similar toload_tk1_json
.Given a hugr json and a function name it returns a
Circuit
for the function.Currently this only supports guppy functions with no control flow.
Adds a test adapted from #382, with the following hugr:
drive-by: Drop deprecated
stringreader
dependencydrive-by: Bind
Tk2Circuit.num_operations
, used in the python test