Skip to content

Conversation

aborgna-q
Copy link
Collaborator

@aborgna-q aborgna-q commented Jul 25, 2025

This affects both rust and python libraries.
Since we are renaming the main packages, I just renamed all the sub-crates / libs too to keep thing consistent and reduce confusion.

Extension names have not been updated, as I worry about further breakage.
Should we update them (in a separate PR)?

Project breakage

  • For dependents, the breakage should be limited to having to update the dependency names and some types like Tk2Op to TketOp, TKET2_EXTENSION to TKET_EXTENSION, etc.

  • For the local automation, I tried to update the workflows as much as possible, but we can only test them once merged.

    • release-please's manifest has been updated. I'll recreate the last python release tags without the 2, and the workflow should pick up from there. We'll need to swap some pypi API keys before merging the release PR.
    • release-plz will probably get confused with which commits should be picked.
      • It also does not have permission to publish new crates, so we'll need to manually push tket-hseries and update the API keys.
      • Both the tket and tket-qsystem crates have been created and setup for trusted publishing, so the release should work correctly.

Follow up and deprecation.

We'll need to make patch releases for the tket2* libraries adding a deprecation warning to the README and directing users to the new libraries.

  • Por python, take a look at the pypi-rename README template.
  • For rust, make sure to update both the README and lib.rs rusdocs.

BREAKING CHANGES: Yes
BREAKING CHANGE: Libraries renamed from tket2* to tket*

@aborgna-q aborgna-q requested a review from lmondada July 25, 2025 13:37
@aborgna-q aborgna-q requested review from cqc-alec, ss2165, doug-q and a team as code owners July 25, 2025 13:37
Copy link

codecov bot commented Jul 25, 2025

Codecov Report

Attention: Patch coverage is 48.72611% with 161 lines in your changes missing coverage. Please review.

Project coverage is 79.65%. Comparing base (e12c9b2) to head (442077b).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
tket/src/passes/commutation.rs 2.27% 0 Missing and 43 partials ⚠️
tket-qsystem/src/bin/tket-qsystem.rs 0.00% 21 Missing ⚠️
tket-qsystem/src/extension/qsystem/lower.rs 62.22% 0 Missing and 17 partials ⚠️
tket/src/passes/chunks.rs 0.00% 0 Missing and 11 partials ⚠️
tket/src/serialize/pytket/decoder/op/tket_op.rs 45.00% 11 Missing ⚠️
tket/src/circuit/command.rs 23.07% 0 Missing and 10 partials ⚠️
tket/src/circuit/hash.rs 0.00% 0 Missing and 9 partials ⚠️
tket/src/ops.rs 76.66% 1 Missing and 6 partials ⚠️
tket/src/circuit.rs 14.28% 0 Missing and 6 partials ⚠️
tket/src/optimiser/badger/qtz_circuit.rs 50.00% 0 Missing and 6 partials ⚠️
... and 8 more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #987   +/-   ##
=======================================
  Coverage   79.65%   79.65%           
=======================================
  Files          94       94           
  Lines       11549    11552    +3     
  Branches    11279    11282    +3     
=======================================
+ Hits         9199     9202    +3     
  Misses       1720     1720           
  Partials      630      630           
Flag Coverage Δ
python 78.14% <78.12%> (ø)
rust 79.69% <45.39%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@hugrbot
Copy link
Collaborator

hugrbot commented Jul 25, 2025

This PR contains breaking changes to the public Rust API.

cargo-semver-checks summary

Copy link

codspeed-hq bot commented Jul 25, 2025

CodSpeed Performance Report

Merging #987 will create unknown performance changes

Comparing ab/rename-tket2 (442077b) with main (6a225cc)

Summary

🆕 3 new benchmarks
⁉️ 3 dropped benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
🆕 hash_simple[1000] N/A 8.7 ms N/A
🆕 hash_simple[100] N/A 897.7 µs N/A
🆕 hash_simple[10] N/A 111.4 µs N/A
⁉️ hash_simple[1000] 8.7 ms N/A N/A
⁉️ hash_simple[100] 897.1 µs N/A N/A
⁉️ hash_simple[10] 111.3 µs N/A N/A

@ss2165
Copy link
Member

ss2165 commented Jul 25, 2025

rename tket2-hseries to tket-qsystem while we're at it

@cqc-alec
Copy link
Collaborator

Couple of mentions of "Tket2" in tket-py/examples/2-Rewriting-Circuits.ipynb.

@aborgna-q
Copy link
Collaborator Author

I ignored the example notebooks, since they are based on an already old version of tket2 (they depend on published libs rather that the local ones).
We have to update those, but that's a whole different task.

Co-authored-by: Alec Edgington <54802828+cqc-alec@users.noreply.github.com>
@cqc-alec
Copy link
Collaborator

I reckon we should update extension names (could be in a separate PR though).

@aborgna-q
Copy link
Collaborator Author

I reckon we should update extension names (could be in a separate PR though).

Looks like we all agree on that. I'll do it in a separate PR.

@aborgna-q aborgna-q added this pull request to the merge queue Jul 25, 2025
Merged via the queue into main with commit 450f06a Jul 25, 2025
17 of 19 checks passed
@aborgna-q aborgna-q deleted the ab/rename-tket2 branch July 25, 2025 14:47
github-merge-queue bot pushed a commit that referenced this pull request Jul 25, 2025
In contrast to #987, this is not a breaking API change but a breaking
_serialization_ change.

I bumped the extension versions even if not strictly necessary.

BREAKING CHANGE: Renamed the `tket2.*` HUGR extensions to `tket.*`
This was referenced Jul 25, 2025
jennyQuantinuum pushed a commit that referenced this pull request Jul 27, 2025
This affects both rust and python libraries.
Since we are renaming the main packages, I just renamed all the
sub-crates / libs too to keep thing consistent and reduce confusion.

Extension names have **not** been updated, as I worry about further
breakage.
Should we update them (in a separate PR)?

### Project breakage

- For dependents, the breakage should be limited to having to update the
dependency names and some types like `Tk2Op` to `TketOp`,
`TKET2_EXTENSION` to `TKET_EXTENSION`, etc.

- For the local automation, I tried to update the workflows as much as
possible, but we can only test them once merged.
- `release-please`'s manifest has been updated. I'll recreate the last
python release tags without the `2`, and the workflow should pick up
from there. We'll need to swap some pypi API keys before merging the
release PR.
- `release-plz` will probably get confused with which commits should be
picked.
- ~It also does not have permission to publish new crates, so we'll need
to manually push `tket-hseries` and update the API keys.~
- Both the `tket` and `tket-qsystem` crates have been created and setup
for trusted publishing, so the release should work correctly.
  
### Follow up and deprecation.

We'll need to make patch releases for the `tket2*` libraries adding a
deprecation warning to the README and directing users to the new
libraries.

- Por python, take a look at the `pypi-rename` [README
template](https://github.com/simonw/pypi-rename/blob/main/%7B%7Bcookiecutter.old_package_name%7D%7D/README.md).
- For rust, make sure to update both the README and `lib.rs` rusdocs.
- Rustdoc recently added support for warning boxes:
[rust-lang/rust#106561](https://www.github.com/rust-lang/rust/pull/106561)

BREAKING CHANGES: Yes
BREAKING CHANGE: Libraries renamed from `tket2*` to `tket*`

---------

Co-authored-by: Alec Edgington <54802828+cqc-alec@users.noreply.github.com>
jennyQuantinuum pushed a commit that referenced this pull request Jul 27, 2025
In contrast to #987, this is not a breaking API change but a breaking
_serialization_ change.

I bumped the extension versions even if not strictly necessary.

BREAKING CHANGE: Renamed the `tket2.*` HUGR extensions to `tket.*`
github-merge-queue bot pushed a commit that referenced this pull request Jul 28, 2025
## 🙂  New release

* `tket2`: 0.12.3 -> `tket` 0.13.0 (New crate name!)
* `tket2-hseries`: 0.16.1 -> `tket-qsystem` 0.17.0 (New crate name!)

<details><summary><i><b>Changelog</b></i></summary><p>

## `tket`

<blockquote>

##
[0.13.0](tket2-v0.12.3...tket-v0.13.0)
- 2025-07-25

### New Features

- [**breaking] Rename tket2.* HUGR extensions to tket.*
([#988](#988))
- [**breaking] Rename tket2* libs to tket*
([#987](#987))
- [**breaking**] Update to `hugr 0.21`
([#965](#965))
- Add guppy extension with drop operation
([#962](#962))
- [**breaking**] Split the pytket extension encoder trait
([#970](#970))
</blockquote>

## `tket-qsystem`

<blockquote>

##
[0.17.0](tket2-hseries-v0.16.1...tket-qsystem-v0.17.0)
- 2025-07-25

### New Features

- [**breaking] Rename tket2.* HUGR extensions to tket.*
([#988](#988))
- [**breaking] Rename tket2* libs to tket*
([#987](#987))
- [**breaking**] Update to `hugr 0.21`
([#965](#965))
- Add guppy extension with drop operation
([#962](#962))
</blockquote>


</p></details>

---
This PR was generated by a human.
github-merge-queue bot pushed a commit that referenced this pull request Jul 29, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.10.0](tket-exts-v0.9.2...tket-exts-v0.10.0)
(2025-07-29)


### ⚠ BREAKING CHANGES

* Renamed the `tket2.*` HUGR extensions to `tket.*`
* Libraries renamed from `tket2*` to `tket*`

### Features

* **py:** update hugr-py dependency to 0.13
([#996](#996))
([1bf4c70](1bf4c70))
* Rename `tket2.*` HUGR extensions to `tket.*`
([#988](#988))
([c5279c5](c5279c5))
* Rename tket2* libs to tket*
([#987](#987))
([450f06a](450f06a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
github-merge-queue bot pushed a commit that referenced this pull request Jul 29, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.5.0](tket-eccs-v0.4.0...tket-eccs-v0.5.0)
(2025-07-29)


### ⚠ BREAKING CHANGES

* Renamed the `tket2.*` HUGR extensions to `tket.*`
* Libraries renamed from `tket2*` to `tket*`

### Features

* Rename `tket2.*` HUGR extensions to `tket.*`
([#988](#988))
([c5279c5](c5279c5))
* Rename tket2* libs to tket*
([#987](#987))
([450f06a](450f06a))

---
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 <seyon.sivarajah@cambridgequantum.com>
github-merge-queue bot pushed a commit that referenced this pull request Jul 29, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.12.0](tket-py-v0.11.1...tket-py-v0.12.0)
(2025-07-29)


### ⚠ BREAKING CHANGES

* Renamed the `tket2.*` HUGR extensions to `tket.*`
* Libraries renamed from `tket2*` to `tket*`

### Features

* **py:** update hugr-py dependency to 0.13
([#996](#996))
([1bf4c70](1bf4c70))
* Rename `tket2.*` HUGR extensions to `tket.*`
([#988](#988))
([c5279c5](c5279c5))
* Rename tket2* libs to tket*
([#987](#987))
([450f06a](450f06a))

---
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 <seyon.sivarajah@cambridgequantum.com>
Co-authored-by: Seyon Sivarajah <seyon.sivarajah@quantinuum.com>
@hugrbot hugrbot mentioned this pull request Jul 30, 2025
croyzor pushed a commit that referenced this pull request Aug 11, 2025
This affects both rust and python libraries.
Since we are renaming the main packages, I just renamed all the
sub-crates / libs too to keep thing consistent and reduce confusion.

Extension names have **not** been updated, as I worry about further
breakage.
Should we update them (in a separate PR)?

### Project breakage

- For dependents, the breakage should be limited to having to update the
dependency names and some types like `Tk2Op` to `TketOp`,
`TKET2_EXTENSION` to `TKET_EXTENSION`, etc.

- For the local automation, I tried to update the workflows as much as
possible, but we can only test them once merged.
- `release-please`'s manifest has been updated. I'll recreate the last
python release tags without the `2`, and the workflow should pick up
from there. We'll need to swap some pypi API keys before merging the
release PR.
- `release-plz` will probably get confused with which commits should be
picked.
- ~It also does not have permission to publish new crates, so we'll need
to manually push `tket-hseries` and update the API keys.~
- Both the `tket` and `tket-qsystem` crates have been created and setup
for trusted publishing, so the release should work correctly.
  
### Follow up and deprecation.

We'll need to make patch releases for the `tket2*` libraries adding a
deprecation warning to the README and directing users to the new
libraries.

- Por python, take a look at the `pypi-rename` [README
template](https://github.com/simonw/pypi-rename/blob/main/%7B%7Bcookiecutter.old_package_name%7D%7D/README.md).
- For rust, make sure to update both the README and `lib.rs` rusdocs.
- Rustdoc recently added support for warning boxes:
[rust-lang/rust#106561](https://www.github.com/rust-lang/rust/pull/106561)

BREAKING CHANGES: Yes
BREAKING CHANGE: Libraries renamed from `tket2*` to `tket*`

---------

Co-authored-by: Alec Edgington <54802828+cqc-alec@users.noreply.github.com>
croyzor pushed a commit that referenced this pull request Aug 11, 2025
In contrast to #987, this is not a breaking API change but a breaking
_serialization_ change.

I bumped the extension versions even if not strictly necessary.

BREAKING CHANGE: Renamed the `tket2.*` HUGR extensions to `tket.*`
croyzor pushed a commit that referenced this pull request Aug 11, 2025
## 🙂  New release

* `tket2`: 0.12.3 -> `tket` 0.13.0 (New crate name!)
* `tket2-hseries`: 0.16.1 -> `tket-qsystem` 0.17.0 (New crate name!)

<details><summary><i><b>Changelog</b></i></summary><p>

## `tket`

<blockquote>

##
[0.13.0](tket2-v0.12.3...tket-v0.13.0)
- 2025-07-25

### New Features

- [**breaking] Rename tket2.* HUGR extensions to tket.*
([#988](#988))
- [**breaking] Rename tket2* libs to tket*
([#987](#987))
- [**breaking**] Update to `hugr 0.21`
([#965](#965))
- Add guppy extension with drop operation
([#962](#962))
- [**breaking**] Split the pytket extension encoder trait
([#970](#970))
</blockquote>

## `tket-qsystem`

<blockquote>

##
[0.17.0](tket2-hseries-v0.16.1...tket-qsystem-v0.17.0)
- 2025-07-25

### New Features

- [**breaking] Rename tket2.* HUGR extensions to tket.*
([#988](#988))
- [**breaking] Rename tket2* libs to tket*
([#987](#987))
- [**breaking**] Update to `hugr 0.21`
([#965](#965))
- Add guppy extension with drop operation
([#962](#962))
</blockquote>


</p></details>

---
This PR was generated by a human.
croyzor pushed a commit that referenced this pull request Aug 11, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.10.0](tket-exts-v0.9.2...tket-exts-v0.10.0)
(2025-07-29)


### ⚠ BREAKING CHANGES

* Renamed the `tket2.*` HUGR extensions to `tket.*`
* Libraries renamed from `tket2*` to `tket*`

### Features

* **py:** update hugr-py dependency to 0.13
([#996](#996))
([1bf4c70](1bf4c70))
* Rename `tket2.*` HUGR extensions to `tket.*`
([#988](#988))
([c5279c5](c5279c5))
* Rename tket2* libs to tket*
([#987](#987))
([450f06a](450f06a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
croyzor pushed a commit that referenced this pull request Aug 11, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.5.0](tket-eccs-v0.4.0...tket-eccs-v0.5.0)
(2025-07-29)


### ⚠ BREAKING CHANGES

* Renamed the `tket2.*` HUGR extensions to `tket.*`
* Libraries renamed from `tket2*` to `tket*`

### Features

* Rename `tket2.*` HUGR extensions to `tket.*`
([#988](#988))
([c5279c5](c5279c5))
* Rename tket2* libs to tket*
([#987](#987))
([450f06a](450f06a))

---
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 <seyon.sivarajah@cambridgequantum.com>
croyzor pushed a commit that referenced this pull request Aug 11, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.12.0](tket-py-v0.11.1...tket-py-v0.12.0)
(2025-07-29)


### ⚠ BREAKING CHANGES

* Renamed the `tket2.*` HUGR extensions to `tket.*`
* Libraries renamed from `tket2*` to `tket*`

### Features

* **py:** update hugr-py dependency to 0.13
([#996](#996))
([1bf4c70](1bf4c70))
* Rename `tket2.*` HUGR extensions to `tket.*`
([#988](#988))
([c5279c5](c5279c5))
* Rename tket2* libs to tket*
([#987](#987))
([450f06a](450f06a))

---
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 <seyon.sivarajah@cambridgequantum.com>
Co-authored-by: Seyon Sivarajah <seyon.sivarajah@quantinuum.com>
github-merge-queue bot pushed a commit that referenced this pull request Aug 14, 2025
No functionality changes, only renames that we didn't do in #987 

I'm not touching the decoder code, since it's already being modified by
#1030

BREAKING CHANGE: Renamed various pytket encoder-related structs and
methods from `tk1*` to `pytket`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants