Skip to content

Commit

Permalink
[update] readme, ci
Browse files Browse the repository at this point in the history
  • Loading branch information
Mc-Zen committed Feb 18, 2024
1 parent 18e7195 commit f1abfc2
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 37 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/publish-python-testpypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Publish Python distribution to Test PyPI

on: workflow_dispatch

jobs:
build:
name: Build distribution
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: python-package-distributions
path: dist/

publish-to-testpypi:
name: Publish Python distribution to TestPyPI
needs:
- build
runs-on: ubuntu-latest

environment: testpypi

permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
32 changes: 5 additions & 27 deletions .github/workflows/publish-python.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
name: Publish Python distribution to PyPI

on: workflow_dispatch

jobs:
build:
name: Build distribution 📦
name: Build distribution
runs-on: ubuntu-latest

steps:
Expand All @@ -29,7 +29,7 @@ jobs:

publish-to-pypi:
name: >-
Publish Python 🐍 distribution 📦 to PyPI
Publish Python distribution to PyPI
# if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
needs:
- build
Expand All @@ -46,12 +46,12 @@ jobs:
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

github-release:
name: >-
Sign the Python 🐍 distribution 📦 with Sigstore
Sign the Python distribution with Sigstore
and upload them to GitHub Release
needs:
- publish-to-pypi
Expand Down Expand Up @@ -91,25 +91,3 @@ jobs:
gh release upload
'${{ github.ref_name }}' dist/**
--repo '${{ github.repository }}'
publish-to-testpypi:
name: Publish Python 🐍 distribution 📦 to TestPyPI
needs:
- build
runs-on: ubuntu-latest

environment: testpypi

permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing

steps:
- name: Download all the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
24 changes: 15 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Hardware-Tailored Stabilizer Circuits Python library

<p align="center">
<a href="https://github.com/Mc-Zen/quill/blob/main/LICENSE">
<img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue"/>
</a>
<a href="https://github.com/Mc-Zen/htstabilizer/actions/workflows/run-tests.yml">
<img alt="MIT License" src="https://github.com/Mc-Zen/htstabilizer/actions/workflows/run-tests.yml/badge.svg"/>
</a>
</p>




This library provides
- *hardware-tailored* quantum Clifford circuits for **stabilizer state preparation** or **measurement** as well as
- mutually unbiased bases in order to perform more efficient **full-state tomography** on small qubit systems.
Expand All @@ -9,12 +21,11 @@ Hereby, two-qubit gate count is minimized. All delivered circuits are designed t

## Installation

<!-- The library can be easily installed from [PyPi][pypi-page]:
You can install this package from [PyPi][pypi-page] via
```
pip install htstabilizer
```
Alternatively, y -->
You can clone the [repository][repository] and include it in your project. Soon, it will be available on [PyPi][pypi-page] and via `pip install`.
or you can clone the [repository][repository] and include it into your project.

## Tailored to your hardware connectivity

Expand Down Expand Up @@ -70,12 +81,7 @@ View examples for exploring the functionality:
[repository]: https://github.com/Mc-Zen/htstabilizer
[license]: https://github.com/Mc-Zen/htstabilizer/blob/master/LICENSE.txt

[2-qubit-con]: docs/images/2-qubit%20connectivities.png
[3-qubit-con]: docs/images/3-qubit%20connectivities.png
[4-qubit-con]: docs/images/4-qubit%20connectivities.png
[5-qubit-con]: docs/images/5-qubit%20connectivities.png
[6-qubit-con]: docs/images/6-qubit%20connectivities.png
[hardware-connectivities]: docs/images/Hardware_Connectivities.svg
[hardware-connectivities]: https://github.com/Mc-Zen/htstabilizer/raw/master/docs/images/Hardware_Connectivities.svg

[example-compress]: https://github.com/Mc-Zen/htstabilizer/blob/master/examples/compress_preparation_circuit.py
[example-readout]: https://github.com/Mc-Zen/htstabilizer/blob/master/examples/readout_circuit.py
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "htstabilizer"
version = "1.0.0"
description = "Hardware-tailored quantum Clifford circuits for stabilizer state preparation or readout as well as mutually unbiased bases in order to perform efficient full-state tomography on small qubit systems."
readme = "README.md"
requires-python = ">=3.7"
requires-python = ">=3.10"
authors = [{ name = "Mc-Zen"}]
license = { file = "LICENSE.txt" }
classifiers = [
Expand Down

0 comments on commit f1abfc2

Please sign in to comment.