qcs-sdk-python 0.21.20

Python bindings to qcs-sdk-rust
Documentation
# This is the metadata Maturin uploads to PyPI on publish
[project]
name = "qcs-sdk-python"
version = "0.21.20"
description = "Python interface for the QCS Rust SDK"
readme = "README.md"
license = { text = "Apache-2.0" }
authors = [
  { name = "Rigetti Computing", email = "softapps@rigetti.com" },
  { name = "Mark Skilbeck", email = "mark.skilbeck@rigetti.com" },
  { name = "Marquess Valdez", email = "mvaldez@rigetti.com" },
  { name = "Randall Fulton", email = "rfulton@rigetti.com" },
]
classifiers = [
  "Development Status :: 3 - Alpha",
  "License :: OSI Approved :: Apache Software License",
  "Programming Language :: Python :: 3.8",
  "Programming Language :: Python :: 3.9",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Operating System :: OS Independent",
]

dependencies = ["quil>=0.15.2", "qcs-api-client-common>=0.11.8"]

[tool.maturin]
features = ["pyo3/extension-module"]
bindings = "pyo3"
compatibility = "linux"
include = ["THIRDPARTY.yaml"]
sdist-include = ["README.md", "THIRDPARTY.yaml"]

[project.optional-dependencies]
pyquil = [
    "pyquil==4.14.2",
]
dev = [
    "black >= 24.8.0",
    "opentelemetry-sdk==1.25.0",
    "pytest >= 8.1.1",
    "pytest-asyncio >= 0.23.6",
    "pytest-mock >= 3.14.0",
    "pytest-sugar >= 1.0.0",
    "pytest-clarity >= 1.0.1",
    "syrupy >= 4.0.0",
    "maturin == 1.8.2", # coordinate this with .github/workflows/release-python.yml
    "numpy >= 1.24.1",
    "pdoc >= 14.6.1",
    "ruff >= 0.3.5",
    "mypy >= 1.14.1",
]

[build-system]
requires = ["maturin==1.8.2"] # coordinate this with .github/workflows/release-python.yml
build-backend = "maturin"

[tool.black]
line-length = 120
target-version = ['py38', 'py39', 'py310', 'py311']
include = '\.pyi?$'

[tool.pyright]
# This diagnostic is raised when a type stub is found without a corresponding source file. This is
# necessarily the case for a pure Rust pyo3 module, so disabling it.
reportMissingModuleSource = false