From 1bb8fc0d483c202ea6a5fa08b097df513dee27e8 Mon Sep 17 00:00:00 2001 From: Stefano Grava Date: Thu, 20 Aug 2026 16:41:45 +0200 Subject: [PATCH 1/3] add pyproject how to install and basic pipeline --- .github/workflows/build.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/lint.yml | 19 +++++++++++++++++++ .gitignore | 8 ++++---- README.md | 22 ++++++++++++++++++++++ pyproject.toml | 25 +++++++++++++++++++++++++ 5 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/lint.yml create mode 100644 pyproject.toml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..41b3748 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,31 @@ +name: Build + +on: + push: + branches: [main] + pull_request: + +jobs: + install-pip: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: actions/setup-python@v7 + with: + python-version: "3.10" + - name: Install with pip + run: | + python -m venv .venv + source .venv/bin/activate + pip install . + + install-uv: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v10 + - name: Install with uv + run: | + uv venv + source .venv/bin/activate + uv pip install . diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..dc406ae --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,19 @@ +name: Lint + +on: + push: + branches: [main] + pull_request: + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v10 + - name: Install ruff + run: uv tool install ruff + - name: ruff format --check + run: uv tool run ruff format --check . + - name: ruff check + run: uv tool run ruff check . diff --git a/.gitignore b/.gitignore index 83972fa..423d55d 100644 --- a/.gitignore +++ b/.gitignore @@ -85,7 +85,7 @@ ipython_config.py # pyenv # For a library or package, you might want to ignore these files since the code is # intended to run in multiple environments; otherwise, check them in: -# .python-version +.python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. @@ -164,9 +164,6 @@ venv.bak/ # Rope project settings .ropeproject -# mkdocs documentation -/site - # mypy .mypy_cache/ .dmypy.json @@ -216,3 +213,6 @@ __marimo__/ # Streamlit .streamlit/secrets.toml + +# VSCode settings +.vscode/settings.json diff --git a/README.md b/README.md index 86fa95e..b96d880 100644 --- a/README.md +++ b/README.md @@ -18,3 +18,25 @@ Over the course of **3 weeks**, you'll follow a guided learning journey desi - 🎤 Recognition during the official QoolQit launch webinar - ☁️ Complimentary Pasqal Cloud emulation credits upon completion + +**How to install** + +First, create and activate a virtual environment, then install the package. Examples below use `pip` and [`uv`](https://docs.astral.sh/uv/), but feel free to use your favorite package manager instead. + +With `pip`: + +```bash +python -m venv .venv +source .venv/bin/activate +pip install . +``` + +With `uv`: + +```bash +uv venv +source .venv/bin/activate +uv pip install . +``` + +This installs QoolQit 1.4 and Jupyter so you can run the exercise notebooks with `jupyter lab` or `jupyter notebook`. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..cd45624 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "qoolqit-beta-testing-program" +version = "0.1.0" +description = "Qoolqit Beta Testing Program" +readme = "README.md" +requires-python = ">=3.10" +authors = [ + { name = "Francesco Ferrulli", email = "francesco.ferrulli@pasqal.com" }, + { name = "Stefano Grava", email = "s.grava-ext@pasqal.com" }, + { name = "Vittorio Vitale", email = "vittorio.vitale@pasqal.com" }, +] +dependencies = [ + "qoolqit>=1.4.0", + "jupyter", +] + +[tool.setuptools] +packages = [] + +[project.optional-dependencies] +dev = ["ruff"] From b9a480076240bfd6a31748c73c68a64584d5dc9f Mon Sep 17 00:00:00 2001 From: Stefano Grava Date: Thu, 20 Aug 2026 16:49:09 +0200 Subject: [PATCH 2/3] pip setup-uv action version --- .github/workflows/build.yml | 2 +- .github/workflows/lint.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 41b3748..bb1e819 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - - uses: astral-sh/setup-uv@v10 + - uses: astral-sh/setup-uv@v10.0.1 - name: Install with uv run: | uv venv diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index dc406ae..941eba1 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - - uses: astral-sh/setup-uv@v10 + - uses: astral-sh/setup-uv@v10.0.1 - name: Install ruff run: uv tool install ruff - name: ruff format --check From 068ccd5494e5c32efb5649d4ac10cb895c2def01 Mon Sep 17 00:00:00 2001 From: Stefano Grava Date: Thu, 20 Aug 2026 16:59:50 +0200 Subject: [PATCH 3/3] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b96d880..732337f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -🚀 **Join the QoolQit Beta Testing Program!** +## 🚀 **Join the QoolQit Beta Testing Program!** Be among the first to explore QoolQit, Pasqal's new open-source, hardware-agnostic Python framework for quantum programming. QoolQit lets you focus on designing quantum experiments while abstracting away the complexities of the underlying hardware. @@ -19,7 +19,7 @@ Over the course of **3 weeks**, you'll follow a guided learning journey desi - 🎤 Recognition during the official QoolQit launch webinar - ☁️ Complimentary Pasqal Cloud emulation credits upon completion -**How to install** +### ⚙️ **How to install** First, create and activate a virtual environment, then install the package. Examples below use `pip` and [`uv`](https://docs.astral.sh/uv/), but feel free to use your favorite package manager instead.