Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 41 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ concurrency:
cancel-in-progress: true

jobs:
publish_pypi:
name: Publish package to PyPI
publish_qoolqit_core_pypi:
name: Publish qoolqit-core package to PyPI
runs-on: ubuntu-latest
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
Expand All @@ -29,12 +29,49 @@ jobs:
run: |
pip install --upgrade pip
pip install build
- name: Build package
- name: Build qoolqit-core package
run: |
python -m build qoolqit-core
- name: Publish qoolqit-core to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
package_dir: qoolqit-core/dist
verbose: true
- name: Confirm qoolqit-core deployment
timeout-minutes: 5
run: |
VERSION=${GITHUB_REF#refs/tags/v}
until pip download qoolqit-core==$VERSION
do
echo "Failed to download from PyPI, will wait for upload and retry."
sleep 1
done

publish_qoolqit_pypi:
name: Publish qoolqit package to PyPI
runs-on: ubuntu-latest
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- name: Check out QoolQit
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: |
pip install --upgrade pip
pip install build
- name: Build qoolqit package
run: |
python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
- name: Confirm deployment
- name: Confirm qoolqit deployment
timeout-minutes: 5
run: |
VERSION=${GITHUB_REF#refs/tags/v}
Expand Down
12 changes: 7 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[build-system]
requires = ["hatchling"]
requires = ["hatchling >= 1.26"]
build-backend = "hatchling.build"

[project]
Expand All @@ -23,15 +23,17 @@ authors = [
{ name = "Vittorio Vitale", email = "vittorio.vitale@pasqal.com" },
{ name = "Vytautas Abramavicius"},
]
maintainers = [
{name = "Stefano Grava", email = "s.grava-ext@pasqal.com"},
{ name = "Vittorio Vitale", email = "vittorio.vitale@pasqal.com" },
]
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python",
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]

dependencies = [
Expand Down
13 changes: 13 additions & 0 deletions qoolqit-core/LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
PASQAL OPEN-SOURCE SOFTWARE LICENSE AGREEMENT (MIT-derived)

The author of the License is:
Pasqal, a Société par Actions Simplifiée (Simplified Joint Stock Company) registered under number 849 441 522 at the Registre du commerce et des sociétés (Trade and Companies Register) of Evry – France, headquartered at 24 rue Émile Baudot – 91120 – Palaiseau – France, duly represented by its Président, M. Georges-Olivier REYMOND, Hereafter referred to as « the Licensor »

- Permission is hereby granted, free of charge, to any person obtaining a copy of this software (the “Licensee”) and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. The Software is “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise arising from, out of or in connection with the Software or the use or other dealings in the Software.

- If use of the Software leads to the necessary use of any patent of the Licensor and/or any of its Affiliates (defined as a company owned or controlled by the Licensor), the Licensee is granted a royalty-free license, in any country where such patent is in force, to use the object of such patent; or use the process covered by such patent,

- Such a patent license is granted for internal research or academic use of the Licensee's, which includes use by employees and students of the Licensee, acting on behalf of the Licensee, for research purposes only.

- The License is governed by the laws of France. Any dispute relating to the License, notably its execution, performance and/or termination shall be brought to, heard and tried by the Tribunal Judiciaire de Paris, regardless of the rules of jurisdiction in the matter.
1 change: 1 addition & 0 deletions qoolqit-core/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Work in progress to define QoolQit core library with minimal dependencies.
28 changes: 28 additions & 0 deletions qoolqit-core/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[build-system]
requires = ["hatchling >= 1.26"]
build-backend = "hatchling.build"

[project]
name = "qoolqit-core"
description = "Work in progress to define QoolQit core library with minimal dependencies."
readme = "README.md"
version = "0.0.1"
requires-python = ">=3.10"
license = { text = "MIT-derived" }
keywords = ["quantum"]
maintainers = [
{ name = "Stefano Grava", email = "s.grava-ext@pasqal.com" },
{ name = "Vittorio Vitale", email = "vittorio.vitale@pasqal.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]

dependencies = [
"pulser-core >= 1.8",
]
5 changes: 5 additions & 0 deletions qoolqit-core/qoolqit_core/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Work in progress to define QoolQit core library with minimal dependencies."""

from __future__ import annotations

__version__ = "0.0.1"
Loading