Skip to content

Commit 1a79d99

Browse files
authored
chore: Setup hugr-persistent for release (#2427)
Some last config and metadata updates before we publish the crate (required to publish `hugr 0.21`). The bot does not have permissions to create new crates, so I'll do it manually.
1 parent f089931 commit 1a79d99

File tree

5 files changed

+82
-8
lines changed

5 files changed

+82
-8
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ pretty = "0.12.4"
8989
pretty_assertions = "1.4.1"
9090
zstd = "0.13.2"
9191
relrc = "0.4.6"
92+
wyhash = "0.6.0"
9293

9394
# These public dependencies usually require breaking changes downstream, so we
9495
# try to be as permissive as possible.

hugr-persistent/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Changelog

hugr-persistent/Cargo.toml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,40 @@
11
[package]
22
name = "hugr-persistent"
33
version = "0.1.0"
4-
rust-version.workspace = true
5-
edition.workspace = true
6-
homepage.workspace = true
7-
repository.workspace = true
8-
license.workspace = true
4+
edition = { workspace = true }
5+
rust-version = { workspace = true }
6+
license = { workspace = true }
7+
readme = "README.md"
8+
documentation = "https://docs.rs/hugr-persistent/"
9+
homepage = { workspace = true }
10+
repository = { workspace = true }
11+
description = "Persistent IR structure for Quantinuum's HUGR"
12+
keywords = ["Quantum", "Quantinuum"]
13+
categories = ["compilers", "ir"]
914

1015
[[test]]
1116
name = "persistent_walker_example"
1217

1318
[dependencies]
14-
hugr-core.path = "../hugr-core"
19+
hugr-core = { path = "../hugr-core", version = "0.21.0" }
1520

21+
derive_more = { workspace = true, features = ["display", "error", "from"] }
1622
delegate.workspace = true
17-
derive_more.workspace = true
1823
itertools.workspace = true
1924
petgraph.workspace = true
2025
portgraph.workspace = true
2126
relrc = { workspace = true, features = ["petgraph", "serde"] }
2227
serde.workspace = true
2328
serde_json.workspace = true
2429
thiserror.workspace = true
25-
wyhash = "0.6.0"
30+
wyhash.workspace = true
2631

2732
[lints]
2833
workspace = true
2934

35+
[lib]
36+
bench = false
37+
3038
[dev-dependencies]
3139
rstest.workspace = true
3240
lazy_static.workspace = true

hugr-persistent/README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
![](/hugr/assets/hugr_logo.svg)
2+
3+
# hugr-persistent
4+
5+
[![build_status][]](https://github.com/CQCL/hugr/actions)
6+
[![crates][]](https://crates.io/crates/hugr-persistent)
7+
[![msrv][]](https://github.com/CQCL/hugr)
8+
[![codecov][]](https://codecov.io/gh/CQCL/hugr)
9+
10+
The Hierarchical Unified Graph Representation (HUGR, pronounced _hugger_) is the
11+
common representation of quantum circuits and operations in the Quantinuum
12+
ecosystem.
13+
14+
It provides a high-fidelity representation of operations, that facilitates
15+
compilation and encodes runnable programs.
16+
17+
The HUGR specification is [here](https://github.com/CQCL/hugr/blob/main/specification/hugr.md).
18+
19+
## Overview
20+
21+
This crate provides a persistent data structure for HUGR mutations; mutations to
22+
the data are stored persistently as a set of `Commit`s along with the
23+
dependencies between them.
24+
25+
As a result of persistency, the entire mutation history of a HUGR can be
26+
traversed and references to previous versions of the data remain valid even
27+
as the HUGR graph is "mutated" by applying patches: the patches are in
28+
effect added to the history as new commits.
29+
30+
## Usage
31+
32+
Add the dependency to your project:
33+
34+
```bash
35+
cargo add hugr-persistent
36+
```
37+
38+
Please read the [API documentation here][].
39+
40+
## Recent Changes
41+
42+
See [CHANGELOG][] for a list of changes. The minimum supported rust
43+
version will only change on major releases.
44+
45+
## Development
46+
47+
See [DEVELOPMENT.md](https://github.com/CQCL/hugr/blob/main/DEVELOPMENT.md) for instructions on setting up the development environment.
48+
49+
## License
50+
51+
This project is licensed under Apache License, Version 2.0 ([LICENSE][] or http://www.apache.org/licenses/LICENSE-2.0).
52+
53+
[API documentation here]: https://docs.rs/hugr-persistent/
54+
[build_status]: https://github.com/CQCL/hugr/actions/workflows/ci-rs.yml/badge.svg?branch=main
55+
[msrv]: https://img.shields.io/crates/msrv/hugr-persistent
56+
[crates]: https://img.shields.io/crates/v/hugr-persistent
57+
[codecov]: https://img.shields.io/codecov/c/gh/CQCL/hugr?logo=codecov
58+
[LICENSE]: https://github.com/CQCL/hugr/blob/main/LICENCE
59+
[CHANGELOG]: https://github.com/CQCL/hugr/blob/main/hugr-persistent/CHANGELOG.md

release-plz.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,8 @@ version_group = "hugr"
6969
name = "hugr-llvm"
7070
release = true
7171
version_group = "hugr"
72+
73+
[[package]]
74+
name = "hugr-persistent"
75+
# TODO: Remove after the first release has been manually created.
76+
release = false

0 commit comments

Comments
 (0)