Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:

- name: Upload coverage to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,46 @@ jobs:
generate_release_notes: true
draft: false
prerelease: ${{ contains(github.ref, 'rc') || contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}

# ── Job 4: Update Version Metadata ────────────────────────────
# After a release is published, update CITATION.cff and README.md
# on master so they always reflect the latest released version.
# Uses GITHUB_TOKEN which intentionally does not trigger other
# workflows, preventing infinite loops.
update-metadata:
name: Update Version Metadata
needs: github-release
runs-on: ubuntu-latest
if: ${{ !contains(github.ref, 'rc') && !contains(github.ref, 'beta') && !contains(github.ref, 'alpha') }}

steps:
- name: Checkout master
uses: actions/checkout@v4
with:
ref: master

- name: Extract version and date
id: meta
run: |
VERSION="${GITHUB_REF#refs/tags/v}"
DATE="$(date -u +%Y-%m-%d)"
echo "version=${VERSION}" >> "${GITHUB_OUTPUT}"
echo "date=${DATE}" >> "${GITHUB_OUTPUT}"

- name: Update CITATION.cff
run: |
sed -i 's/^version: ".*"/version: "${{ steps.meta.outputs.version }}"/' CITATION.cff
sed -i 's/^date-released: ".*"/date-released: "${{ steps.meta.outputs.date }}"/' CITATION.cff

- name: Update README.md bibtex version
run: |
sed -i 's/version={[^}]*}/version={${{ steps.meta.outputs.version }}}/' README.md

- name: Commit and push if changed
run: |
git diff --quiet && exit 0
git config user.name "Ashutosh Mishra"
git config user.email "ashutoshm1771@gmail.com"
git add CITATION.cff README.md
git commit -m "chore: update version metadata to ${{ steps.meta.outputs.version }}"
git push origin master
9 changes: 5 additions & 4 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ cff-version: 1.2.0
title: "Quantum Encoding Atlas"
message: "If you use this software, please cite it as below."
type: software
doi: "10.5281/zenodo.18780936"
authors:
- family-names: "Mishra"
given-names: "Ashutosh"
email: "ashutoshm1771@gmail.com"
repository-code: "https://github.com/encoding-atlas/quantum-encoding-atlas"
url: "https://q-encoding-atlas.web.app/documentation"
url: "https://encoding-atlas.github.io/quantum-encoding-atlas"
license: MIT
version: "0.1.0"
date-released: "2026-01-24"
version: "0.4.0"
date-released: "2026-02-26"
keywords:
- quantum computing
- quantum machine learning
Expand All @@ -21,6 +22,6 @@ keywords:
- cirq
abstract: >-
A comprehensive Python library for quantum data encodings
in machine learning, featuring 15+ encoding methods,
in machine learning, featuring 16 encoding methods,
multi-framework support (PennyLane, Qiskit, Cirq),
analysis tools, and practical guidance for encoding selection.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
[![CI](https://img.shields.io/github/actions/workflow/status/encoding-atlas/quantum-encoding-atlas/ci.yml?branch=master&logo=github&label=CI)](https://github.com/encoding-atlas/quantum-encoding-atlas/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/encoding-atlas/quantum-encoding-atlas/branch/master/graph/badge.svg)](https://codecov.io/gh/encoding-atlas/quantum-encoding-atlas)
[![Documentation](https://img.shields.io/badge/docs-online-blue.svg)](https://encoding-atlas.github.io/quantum-encoding-atlas/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18780936.svg)](https://doi.org/10.5281/zenodo.18780936)
[![Website](https://img.shields.io/badge/Website-live-brightgreen?logo=data:image/png;base64,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)](https://q-encoding-atlas.web.app)

[Documentation](https://encoding-atlas.github.io/quantum-encoding-atlas/) |
Expand Down Expand Up @@ -120,8 +121,9 @@ If you use this library in your research, please cite:
title={Quantum Encoding Atlas: A Comprehensive Library for Quantum Data Encodings},
author={Mishra, Ashutosh},
year={2026},
url={https://github.com/encoding-atlas/quantum-encoding-atlas},
version={0.1.0}
doi={10.5281/zenodo.18780936},
url={https://doi.org/10.5281/zenodo.18780936},
version={0.4.0}
}
```

Expand Down
2 changes: 2 additions & 0 deletions experiments/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
"vqc",
"kernel",
"tradeoff",
"report",
})

VALID_BACKENDS = frozenset({"pennylane", "qiskit", "cirq"})
Expand All @@ -88,6 +89,7 @@
"vqc": 6, # Stage 6a → seed 6042
"kernel": 7, # Stage 6b → seed 7042
"tradeoff": 8, # Stage 7 → seed 8042
"report": 9, # Stage 8 → seed 9042
}

# Quick-mode overrides reduce sample counts for fast validation.
Expand Down
29 changes: 29 additions & 0 deletions experiments/configs/stage8_report.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"stage": "report",
"seed": 42,
"backend": "pennylane",
"encodings": [
{
"name": "__report__",
"params": {}
}
],
"analysis_params": {
"stage_dirs": {
"resources": "experiments/results/raw/stage1_resources",
"simulability": "experiments/results/raw/stage2_simulability",
"expressibility": "experiments/results/raw/stage3_expressibility",
"entanglement": "experiments/results/raw/stage4_entanglement",
"trainability": "experiments/results/raw/stage5_trainability",
"noise": "experiments/results/raw/stage5b_noise",
"vqc": "experiments/results/raw/stage6a_vqc",
"kernel": "experiments/results/raw/stage6b_kernel"
},
"tradeoff_dir": "experiments/results/raw/stage7_tradeoff",
"sensitivity_dir": "experiments/results/raw/stage6a5_sensitivity",
"figure_dir": "experiments/results/figures",
"table_dir": "experiments/results/tables",
"generate_tables": true
},
"output_dir": "experiments/results/report"
}
Loading
Loading