Skip to content

Conversation

@ss2165
Copy link
Member

@ss2165 ss2165 commented Jul 10, 2025

Requires a selene release with support for hugr v0.22 to pass tests (coming soon)

BREAKING CHANGE: default HUGR output uses compressed binary encoding.

@ss2165 ss2165 added the wait to merge This PR to be merged after all dependencies are ready label Jul 10, 2025
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch 6 times, most recently from f324e86 to e18d8ef Compare July 16, 2025 15:54
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from af85226 to 0098f1a Compare July 17, 2025 13:21
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch 5 times, most recently from 9d5a4fd to 8912f93 Compare July 31, 2025 10:19
@ss2165 ss2165 marked this pull request as ready for review July 31, 2025 10:19
@ss2165 ss2165 requested a review from a team as a code owner July 31, 2025 10:19
@ss2165 ss2165 requested a review from mark-koch July 31, 2025 10:19
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks broken. Probably also related to #1010, #1011

@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from 8912f93 to 8ba2919 Compare August 1, 2025 09:03
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from 8ba2919 to 84caaa2 Compare August 1, 2025 09:51
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from 84caaa2 to 9f8caed Compare August 1, 2025 11:38
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from c798888 to 37e8caf Compare August 1, 2025 12:02
@ss2165 ss2165 enabled auto-merge August 1, 2025 12:02
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from 2804fa0 to 28289fa Compare August 1, 2025 12:13
render diff failing on ci
@ss2165 ss2165 force-pushed the ss/hugr-py-v0.13 branch from 28289fa to a29f1b3 Compare August 1, 2025 12:26
@ss2165 ss2165 added this pull request to the merge queue Aug 1, 2025
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 93.44262% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.06%. Comparing base (cea20c4) to head (a29f1b3).

Files with missing lines Patch % Lines
guppylang/definition/pytket_circuits.py 66.66% 2 Missing ⚠️
guppylang/compiler/hugr_extension.py 66.66% 1 Missing ⚠️
guppylang/tys/ty.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1083      +/-   ##
==========================================
- Coverage   93.29%   93.06%   -0.24%     
==========================================
  Files         111      111              
  Lines       11054    10621     -433     
==========================================
- Hits        10313     9884     -429     
+ Misses        741      737       -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Merged via the queue into main with commit 8f071c8 Aug 1, 2025
4 checks passed
@ss2165 ss2165 deleted the ss/hugr-py-v0.13 branch August 1, 2025 12:33
github-merge-queue bot pushed a commit that referenced this pull request Aug 4, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.21.0](guppylang-v0.20.0...guppylang-v0.21.0)
(2025-08-04)


### ⚠ BREAKING CHANGES

* All compiler-internal and non-userfacing functionality is moved into a
new `guppylang_internals` package
* `guppy.compile(foo)` and `guppy.check(foo)` replaced with
`foo.check()` and `foo.compile()`
* default HUGR output uses compressed binary encoding.
* `guppylang.tracing.object.GuppyDefinition` moved to
`guppylang.defs.GuppyDefinition`
`guppylang.tracing.object.TypeVarGuppyDefinition` moved and renamed to
`guppylang.defs.GuppyTypeVarDefinition`
* All `to_hugr` methods on types, arguments, and parameters now require
a `ToHugrContext` `CompileableDef.compile_outer` now requires a
`ToHugrContext` `guppy.hugr_op` now passes the compiler context to the
function generating the op `CheckedFunctionDef` now implements
`MonomorphizableDef` instead of `CompileableDef`
`CompilerContext.build_compiled_def` now requires an instantiation for
the definition's type parameters The `ToHugrContext` protocol now
requires two additional methods: `type_var_to_hugr` and
`const_var_to_hugr` `CompilerContext.{compiled, worklist}` and
`CompilationEngine.compiled` are now indexed by a tuple of `DefId` and
optional `PartiallyMonomorphizedArgs`
* comptime code that previously used constant integers outside i64 will
now fail to compile.
* Capturing closures are now disabled by default. Enabling them requires
calling `guppylang.enable_experimental_features()`, however note that
they are not supported throughout the stack.

### Features

* Add `Future` type
([#1075](#1075))
([5ad7673](5ad7673))
* add error when constant integer out of bounds
([#1084](#1084))
([eee77ae](eee77ae))
* Add guppy version metadata to hugr entrypoint
([#1039](#1039))
([0eafbd9](0eafbd9)),
closes [#1037](#1037)
* Add manual registration of extensions
([#1045](#1045))
([4b42936](4b42936))
* add qsystem op for measure leaked
([#1057](#1057))
([c555727](c555727))
* add selene via optional feature and use for testing
([#1081](#1081))
([cefc70e](cefc70e))
* Add support for V and Vdg.
([#1094](#1094))
([6b0d44a](6b0d44a))
* Allow indexing on tuples
([#1038](#1038))
([0e9097e](0e9097e)),
closes [#711](#711)
* Declare WASM modules in guppy
([#942](#942))
([e1240fb](e1240fb))
* Extend comptime arguments to arbitrary non-linear types
([#1110](#1110))
([384dd8c](384dd8c))
* Make decorator return types more precise
([#1115](#1115))
([c84e8b1](c84e8b1))
* set hugr entrypoint to compiled function
([#1063](#1063))
([16bd267](16bd267))
* store used extensions and versions in HUGR metadata
([#1049](#1049))
([a9a300c](a9a300c)),
closes [#1048](#1048)
* Support arbitrary const generics via monomorphisation
([#1033](#1033))
([bcf9865](bcf9865))
* Support Python 3.12 generic syntax
([#1051](#1051))
([ab2e118](ab2e118)),
closes [#823](#823)
* Top level compile + emulate Interface
([#1127](#1127))
([5e2f595](5e2f595))
* update to hugr-py v0.13
([#1083](#1083))
([8f071c8](8f071c8))
* use `core.` prefix for metadata keys
([#1055](#1055))
([2bf0d68](2bf0d68))


### Bug Fixes

* Allow array comprehension syntax in comptime functions
([#1068](#1068))
([da8f04a](da8f04a)),
closes [#1067](#1067)
* Allow struct redefinitions for Python < 3.13
([#1108](#1108))
([959a4e4](959a4e4)),
closes [#1107](#1107)
* Correctly detect
`[@Custom](https://github.com/custom)_guppy_decorator` in nested scopes
([#1086](#1086))
([678583c](678583c))
* Fix diagnostics rendering for comptime entrypoints
([#1099](#1099))
([fdd2676](fdd2676)),
closes [#1097](#1097)
* Fix frame lookup for Python 3.12 annotation scopes
([#1120](#1120))
([a69e489](a69e489)),
closes [#1116](#1116)
* Fix hugr conversion and bounds checks on numeric literals
([#1100](#1100))
([73d5e92](73d5e92))
* Fix Jupyter notebook diagnostic rendering
([#1109](#1109))
([6002474](6002474))
* Fix nested function definitions in Python 3.12
([#1064](#1064))
([090f920](090f920))
* Stop showing temporary variables in comptime diagnostics
([#1112](#1112))
([63854c5](63854c5)),
closes [#1111](#1111)
* support comptime entrypoint
([#1079](#1079))
([721e3dd](721e3dd))
* Turn capturing closures into experimental feature
([#1065](#1065))
([a959b18](a959b18))


### Documentation

* add docstrings for emulator module
([#1131](#1131))
([b33e065](b33e065))
* add quantum and qsystem gate definitions
([#912](#912))
([32a4bbc](32a4bbc))
* Fix docstrings
([#1128](#1128))
([0aded85](0aded85))
* Improve RNG docs
([#1043](#1043))
([8640f06](8640f06))
* replace `compile_module` usage in README
([#1041](#1041))
([03ccf3a](03ccf3a))
* Update guppy examples
([#1121](#1121))
([b994655](b994655))


### Code Refactoring

* Split up into `guppylang_internals` package
([#1126](#1126))
([81d50c0](81d50c0))

---
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: Seyon Sivarajah <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wait to merge This PR to be merged after all dependencies are ready

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants