Skip to content

Commit dfc0ac9

Browse files
authored
fix: #510: third-party licenses (#511)
* add THIRDPARTY yaml file with all third-party licenses * generate initial draft using cargo bundle-licenses * resolve all license warnings manually * manually add Rust stdlib section * resolve CI issues * bundle new YAML file in Python `wheel` and `sdist` * add notes regarding manual resolutions
1 parent 85c0f24 commit dfc0ac9

File tree

9 files changed

+41126
-16
lines changed

9 files changed

+41126
-16
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ crates/python/tests/__output__/
3737

3838
# unversioned developer notes
3939
scratch/
40+
41+
# un-consolidated updates to THIRDPARTY license data
42+
/THIRDPARTY-update.yaml

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/lib/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "qcs"
33
description = "High level interface for running Quil on a QPU"
4-
version = "0.25.2"
4+
version = "0.25.3-rc.4"
55
edition = "2018"
66
license = "Apache-2.0"
77
repository = "https://github.com/rigetti/qcs-sdk-rust"

crates/python/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "qcs-sdk-python"
33
description = "Python bindings to qcs-sdk-rust"
4-
version = "0.21.2"
4+
version = "0.21.3-rc.4"
55
edition = "2021"
66
license = "Apache-2.0"
77
repository = "https://github.com/rigetti/qcs-sdk-rust"

crates/python/THIRDPARTY.yaml

Lines changed: 40868 additions & 0 deletions
Large diffs are not rendered by default.

crates/python/pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This is the metadata Maturin uploads to PyPI on publish
22
[project]
33
name = "qcs-sdk-python"
4-
version = "0.21.2"
4+
version = "0.21.3-rc.4"
55
description = "Python interface for the QCS Rust SDK"
66
readme = "README.md"
77
license = { text = "Apache-2.0" }
@@ -27,7 +27,8 @@ dependencies = ["quil>=0.11.2", "qcs-api-client-common>=0.10.0"]
2727
features = ["pyo3/extension-module"]
2828
bindings = "pyo3"
2929
compatibility = "linux"
30-
sdist-include = ["README.md"]
30+
include = ["THIRDPARTY.yaml"]
31+
sdist-include = ["README.md", "THIRDPARTY.yaml"]
3132

3233
[project.optional-dependencies]
3334
pyquil = [

crates/python/scripts/patch_grpc_web.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""
2-
Appends grpc-web to the project name of both Cargo.toml and pyproject.toml,
3-
and patches the `hyper-proxy` dependency to allow ppc64le wheel builds.
2+
Appends grpc-web to the project name of both Cargo.toml and pyproject.toml.
43
54
This is used in CI to prepare grpc-web-specific python artifacts for publishing.
65
"""
@@ -29,11 +28,4 @@ def write(f: TextIOWrapper, data):
2928
with open(join(pycrate_path, "Cargo.toml"), "r+") as f:
3029
data = toml.load(f)
3130
data["package"]["name"] = "qcs-sdk-python-grpc-web"
32-
write(f, data)
33-
34-
# Patch the `hyper-proxy` dependency
35-
36-
with open(join(workspace_path, "Cargo.toml"), "r+") as f:
37-
data = toml.load(f)
38-
data["patch"] = {"crates-io": {"hyper-proxy": {"git": "https://github.com/rigetti/hyper-proxy"}}}
39-
write(f, data)
31+
write(f, data)

deny.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ ignore = [
6868
{ id = "RUSTSEC-2024-0375", reason = "introduced by atty, a transitive dependency of multiple dependencies, with no upgrade path" },
6969
{ id = "RUSTSEC-2024-0006", reason = "introduced by shlex, a transitive dependency of bindgen with no upgrade path" },
7070
{ id = "RUSTSEC-2021-0139", reason = "ansi_term is unmaintained, but used by clap" },
71+
{ id = "RUSTSEC-2024-0384", reason = "instant is unmaintained, but used by backoff" },
7172
]
7273
yanked = "deny"
7374
# If this is true, then cargo deny will use the git executable to fetch advisory database.

manual_changes_thirdparty.txt

Lines changed: 245 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)