Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
107172d
Move everything in the module to ease imports
hayekr Mar 3, 2026
4071681
Add entry points for cli to each. Create project script for each
hayekr Mar 3, 2026
e5eedd1
Fix imports to relative.
hayekr Mar 3, 2026
da15315
Fix args
hayekr Mar 3, 2026
b71a1c9
Update changelog and version
hayekr Mar 3, 2026
ce7b4fe
Fix typo, preserve backward compat
hayekr Mar 3, 2026
5daa8cf
fix random.choice to use correct method
hayekr Mar 3, 2026
6d0825d
Update the lock file
hayekr Mar 3, 2026
314a13a
Fix imports
hayekr Mar 3, 2026
7dd6d5e
[major] added the BDS formalism of the entanglement swapping protocol…
caitaozhan Mar 4, 2026
207848e
[minor] updating docstrings and minor refactor
caitaozhan Mar 4, 2026
f23632e
Bump urllib3 from 2.6.1 to 2.6.3
dependabot[bot] Mar 4, 2026
61c166e
Bump pillow from 12.0.0 to 12.1.1
dependabot[bot] Mar 4, 2026
e70a54b
Merge pull request #317 from sequence-toolbox/dependabot/uv/pillow-12…
hayekr Mar 4, 2026
8676434
Merge pull request #316 from sequence-toolbox/dependabot/uv/urllib3-2…
hayekr Mar 4, 2026
53cbdcd
[minor] update docstring and README; remove the quotaiton markin typing
caitaozhan Mar 4, 2026
c7e2153
Bump nbconvert from 7.16.6 to 7.17.0
dependabot[bot] Mar 4, 2026
a8512dc
Merge pull request #318 from sequence-toolbox/dependabot/uv/nbconvert…
hayekr Mar 4, 2026
9850fe8
Merge pull request #315 from sequence-toolbox/310-swapping-bds
caitaozhan Mar 4, 2026
114953d
Bump flask from 3.1.2 to 3.1.3
dependabot[bot] Mar 4, 2026
567de5a
Bump werkzeug from 3.1.4 to 3.1.6
dependabot[bot] Mar 4, 2026
9d795b8
Merge pull request #319 from sequence-toolbox/dependabot/uv/flask-3.1.3
hayekr Mar 4, 2026
de6d7b5
Merge pull request #320 from sequence-toolbox/dependabot/uv/werkzeug-…
hayekr Mar 4, 2026
0d8180d
Bump version
hayekr Mar 5, 2026
568c629
Merge branch 'RnD' into 311-make-the-json-config-generators-script-av…
hayekr Mar 5, 2026
462edd0
Update the lock
hayekr Mar 5, 2026
1a7c1c7
[minor] cosmetic updates
caitaozhan Mar 10, 2026
e82b40c
[minor] add a new message type EARLY_EXPIRE for resource manager
caitaozhan Mar 10, 2026
d9dbbd5
Delete util/. Move config to sequence/utils/
hayekr Mar 10, 2026
9455606
Switch to np import
hayekr Mar 10, 2026
26783ec
Merge pull request #312 from sequence-toolbox/311-make-the-json-confi…
caitaozhan Mar 10, 2026
46b7cf3
[minor] fix comments, added ResourceManager.expire_remote_rules()
caitaozhan Mar 10, 2026
9508ee9
Merge branch 'resource-manager-early-expire' of github.com:sequence-t…
caitaozhan Mar 10, 2026
7bc3191
[minor] use np. prefix
caitaozhan Mar 10, 2026
0d197d4
[minor] update the tutorial to catch up the recent updates; add NOTEs…
caitaozhan Mar 10, 2026
906ab78
[minor] fix comments
caitaozhan Mar 10, 2026
4584239
[minor]
caitaozhan Mar 10, 2026
309a59c
[minor] resolve comments
caitaozhan Mar 11, 2026
d975066
Add passing init to nw manager and rs manager. Create missing inits i…
hayekr Mar 12, 2026
3ebcc19
Changelog
hayekr Mar 12, 2026
9b3f04d
Merge pull request #324 from sequence-toolbox/fix_manager_init
caitaozhan Mar 12, 2026
8118647
Merge pull request #323 from sequence-toolbox/update-tutorial-resourc…
caitaozhan Mar 12, 2026
23c9fab
[minor] Docstring, comment, logging, and various cosmetic updates
caitaozhan Mar 12, 2026
35a6cda
[major] Create a parent class RoutingProtocol for the current classes…
caitaozhan Mar 13, 2026
dbce95f
[minor] update CHANGELOG
caitaozhan Mar 13, 2026
e00b385
[minor] cosmetic updates
caitaozhan Mar 13, 2026
9e683bf
[minor] resolve comments
caitaozhan Mar 13, 2026
0296107
[minor] resolve comments
caitaozhan Mar 13, 2026
f74bbe6
Merge branch 'RnD' into resource-manager-early-expire
hayekr Mar 13, 2026
3cb617e
Fix `__str__` format in `Reservation` class and update related unit t…
hayekr Mar 13, 2026
f7d21f9
Merge pull request #322 from sequence-toolbox/resource-manager-early-…
caitaozhan Mar 13, 2026
b51866a
[minor] deleted the global_type for RoutingProtocol
caitaozhan Mar 16, 2026
b7ee20b
Merge pull request #326 from sequence-toolbox/routing-module-register
caitaozhan Mar 20, 2026
7840817
Deprecate Python 3.11 (#287)
Apr 2, 2026
718b324
Merge pull request #328 from formeo/287-deprecate-python-311
caitaozhan Apr 3, 2026
35f49b9
[minor] update uv lock
caitaozhan Apr 3, 2026
6eaf5ef
[minor] fix typing issues
caitaozhan Apr 3, 2026
140d121
Merge branch 'RnD' into update-uvlock
caitaozhan Apr 3, 2026
dda6fbe
[minor] add logging in ResourceManager
caitaozhan Apr 3, 2026
964b685
[minor] update logging
caitaozhan Apr 4, 2026
da007c2
[minor] update CHANGELOG
caitaozhan Apr 5, 2026
88e8edb
[minor] update logging
caitaozhan Apr 7, 2026
a34a174
Merge pull request #329 from sequence-toolbox/update-uvlock
hayekr Apr 10, 2026
60ddce3
Create nx graph builders. Port over prev. existing topos to nx.
hayekr Apr 10, 2026
bdfa935
Add nx converter. Creates json configs from nx graph.
hayekr Apr 10, 2026
34e606d
Add AS system graph
hayekr Apr 10, 2026
63f51ba
Complete nx to sequence converter
hayekr Apr 10, 2026
9f37373
Remove old config generators
hayekr Apr 10, 2026
d928646
add typer to deps and create cli for topology
hayekr Apr 10, 2026
0325661
Fix typing
hayekr Apr 10, 2026
9bfe02f
Move DQC to own file
hayekr Apr 10, 2026
663c88e
Create CLI
hayekr Apr 10, 2026
cd15fb2
Remove old CLI's
hayekr Apr 10, 2026
026526d
Fix minor bugs
hayekr Apr 10, 2026
a403b3c
Update CHANGELOG.md
hayekr Apr 10, 2026
d0fe8a4
Expose libraries
hayekr Apr 17, 2026
1815335
Move default template location
hayekr Apr 17, 2026
dfab751
Modify loading to accept dicts.
hayekr Apr 17, 2026
5970c64
Address minor bugs
hayekr Apr 17, 2026
50ef252
Refactor test, update template naming and validation
hayekr Apr 17, 2026
60d7e7d
Add docstring
hayekr Apr 20, 2026
94c8587
Add lengths to graph edges
hayekr Apr 24, 2026
6cfb6bf
Add attenuation to graphs.
hayekr Apr 24, 2026
f537ba3
Fix unpacking issue, update bsm length to use graph edge
hayekr Apr 24, 2026
d3c1a98
Fix truthiness
hayekr Apr 26, 2026
6da191e
Create custom topology command using GML
hayekr Apr 26, 2026
29b260d
Complete topology generator with custom and yaml functionality for te…
hayekr Apr 26, 2026
c725e4a
Update Changelog
hayekr Apr 26, 2026
60af7df
Fix test.
hayekr Apr 26, 2026
8f12f3d
Merge pull request #332 from sequence-toolbox/331-create-topology-gen…
hayekr Apr 30, 2026
0f9350d
Add action to mirror gitlab
hayekr May 4, 2026
11d1617
Update push method
hayekr May 4, 2026
7869f1e
Fix unintended HEAD branch. Add concurrency protection and permissions
hayekr May 4, 2026
d3745d0
Merge branch 'RnD' into mirror_repo
hayekr May 4, 2026
39f87b5
Merge pull request #335 from sequence-toolbox/mirror_repo
caitaozhan May 5, 2026
f931283
[minor] fix the stop_time argument default value in config_generator_…
caitaozhan May 6, 2026
c3b6448
[major] update the classical delay model. Introduce processing delay,…
caitaozhan May 7, 2026
fac14e2
[minor] introduce non_propagation_delay to summarize all other delays…
caitaozhan May 7, 2026
455022c
[minor] change default value of non_propagation_delay to 0 to pass th…
caitaozhan May 7, 2026
a744880
[minor] change non_propagation_delay to sender_delay
caitaozhan May 7, 2026
20dfa8c
Update uv build backend version
hayekr May 8, 2026
f70284a
UV auto includes files. Remove setuptools
hayekr May 8, 2026
7160800
Move debugging deps to dev dependency group
hayekr May 8, 2026
188cbed
Update the lock and add license
hayekr May 8, 2026
ced56a5
[minor] remove setting the node memory to the node degree because it …
caitaozhan May 8, 2026
83fc393
[minor] changed the default memory from 1 to 5. You cannot do anythin…
caitaozhan May 8, 2026
f1219ab
[major] move qlan to SeQUeNCe-Examples repository
caitaozhan May 10, 2026
f1a0f93
Merge pull request #339 from sequence-toolbox/update_uv
caitaozhan May 11, 2026
ec110af
[minor] clean up the qlan
caitaozhan May 11, 2026
a57c829
[minor] update changelog
caitaozhan May 11, 2026
9e79597
Merge branch 'RnD' into remove_qlan
caitaozhan May 11, 2026
ed6b40e
Merge branch 'RnD' into cli_fix
caitaozhan May 11, 2026
e52eddb
Add failing build if wrong source branch
hayekr May 12, 2026
9ae7a1e
fix permissions
hayekr May 12, 2026
867958a
Merge pull request #340 from sequence-toolbox/remove_qlan
hayekr May 12, 2026
bf96038
Merge branch 'RnD' into cli_fix
hayekr May 12, 2026
f482194
Merge branch 'RnD' into branch_protection
hayekr May 12, 2026
2c23d39
Merge pull request #344 from sequence-toolbox/branch_protection
hayekr May 12, 2026
29df729
Merge branch 'RnD' into cli_fix
hayekr May 12, 2026
86f2227
Merge pull request #336 from sequence-toolbox/cli_fix
caitaozhan May 12, 2026
079678e
Update publications list and reformat as table
hayekr May 12, 2026
10b6f1b
Add coverage for built-in entanglement protocols
SeCuReDmE-main-dev May 15, 2026
7068833
Add BBPSSW BDS fidelity gain coverage
SeCuReDmE-main-dev May 15, 2026
5094e6d
Merge pull request #345 from sequence-toolbox/update_pubs
caitaozhan May 15, 2026
02055eb
[minor] add two new attributes to the QuantumRouter: swapping_success…
caitaozhan May 19, 2026
458a065
[minor] clean up test_router_net_topo.py, a new test was added in the…
caitaozhan May 19, 2026
44ecaab
[minor] delete commented code in rsvp.py
caitaozhan May 19, 2026
0f5059f
[minor] success_prob and degradation is back to the es_rule_action_A;…
caitaozhan May 19, 2026
efe3078
[minor] update router_net_topo_sample_config.json
caitaozhan May 20, 2026
634245d
[minor] fix test_router_net_topo.py
caitaozhan May 20, 2026
dcc385b
Fix single-qubit depolarizing noise channel
HasanTasdiq May 21, 2026
ce786cb
Fix POVM completeness for QSDetectorFockDirect
HasanTasdiq May 21, 2026
47ffcd4
Fix density-matrix comparison in SingleAtomBSM _eq_psi_plus
HasanTasdiq May 21, 2026
411b046
Merge branch 'RnD' into config_swapping_success
hayekr May 22, 2026
4a820bc
Bump idna from 3.11 to 3.15 in the uv group across 1 directory
dependabot[bot] May 22, 2026
e1c7c05
Merge branch 'RnD' into dependabot/uv/uv-d665ee01e3
hayekr May 22, 2026
3a6781f
Merge branch 'RnD' into issue-270-expand-em-protocol-tests
hayekr May 24, 2026
057fd47
Merge branch 'RnD' into issue-270-bbpssw-bds-fidelity-gain
hayekr May 24, 2026
1ae89c9
Merge pull request #349 from SeCuReDmE-main-dev/issue-270-bbpssw-bds-…
hayekr May 24, 2026
5f4cdfe
Merge branch 'RnD' into dependabot/uv/uv-d665ee01e3
hayekr May 24, 2026
18b043d
Merge pull request #356 from sequence-toolbox/dependabot/uv/uv-d665ee…
hayekr May 24, 2026
ee5d5fd
Merge branch 'RnD' into config_swapping_success
hayekr May 24, 2026
bc45cc6
Merge branch 'RnD' into fix/single-qubit-depolarizing-noise
hayekr May 24, 2026
661812b
Fix formalism constant names in entanglement tests
SeCuReDmE-main-dev May 24, 2026
a139db3
Merge commit '18b043d0d73af19fa72aea1411a17fef01dc8b30' into issue-27…
SeCuReDmE-main-dev May 24, 2026
fd5afab
Merge branch 'RnD' into fix/bsm-psi-plus-density-matrix
hayekr May 24, 2026
81a81d2
Merge pull request #351 from sequence-toolbox/config_swapping_success
caitaozhan May 26, 2026
46b390f
Merge branch 'RnD' into fix/fock-detector-povm-completeness
caitaozhan May 27, 2026
6217ce6
[minor] remove redundant code
caitaozhan May 27, 2026
2e490b5
Merge pull request #353 from HasanTasdiq/fix/fock-detector-povm-compl…
hayekr May 27, 2026
50a596f
Merge branch 'RnD' into fix/single-qubit-depolarizing-noise
caitaozhan May 27, 2026
21f7ab5
[minor] rename functions and add a new test case for non-continuous k…
caitaozhan May 27, 2026
0f96703
Merge branch 'RnD' into fix/bsm-psi-plus-density-matrix
caitaozhan May 27, 2026
523b973
[minor] cosmetic updates
caitaozhan May 27, 2026
b049a42
Merge branch 'fix/bsm-psi-plus-density-matrix' of https://github.com/…
caitaozhan May 27, 2026
4cf95a9
Merge pull request #354 from HasanTasdiq/fix/bsm-psi-plus-density-matrix
hayekr May 27, 2026
f7ec585
Merge branch 'RnD' into fix/single-qubit-depolarizing-noise
hayekr May 27, 2026
d3db78a
Merge pull request #352 from HasanTasdiq/fix/single-qubit-depolarizin…
hayekr May 27, 2026
ac3a19d
[major] breakdown the huge quantum_manager.py file into a module cons…
caitaozhan May 27, 2026
599b862
[minor] rename files
caitaozhan May 28, 2026
14e748c
[major] break down quantum_state.py into a module of several files
caitaozhan May 28, 2026
df0ef88
[minor] remove from quantum_utils import *, only import what is needed
caitaozhan May 28, 2026
e42fc42
[minor] update comments
caitaozhan May 28, 2026
7f70c44
Merge branch 'RnD' into reorg-quantum-manager
caitaozhan May 29, 2026
0c3cd5d
[major] add a new tableau formalism -- TableauState and QuantumManage…
caitaozhan May 29, 2026
95b2279
[minor] rename TableauState to StabilizerState, rename QuantumManager…
caitaozhan May 29, 2026
1fe7715
Merge branch 'RnD' into issue-270-expand-em-protocol-tests
caitaozhan May 29, 2026
ce29225
[minor] remove State.serialize() and State.deserialize()
caitaozhan May 29, 2026
d766dd5
[minor] add unit test for StabilizerState
caitaozhan May 30, 2026
d3a2e14
[minor] remove test_polarization_noise()
caitaozhan May 30, 2026
b59858e
[minor] add StabilizerState.canonical_stabilizers()
caitaozhan May 30, 2026
d8566c0
[minor] update CHANGELOG
caitaozhan May 30, 2026
ade859f
Merge pull request #358 from sequence-toolbox/reorg-quantum-manager
caitaozhan Jun 1, 2026
7452c4f
Merge branch 'RnD' into feature/stabilizer-formalism
caitaozhan Jun 1, 2026
9f3bf0e
Merge branch 'RnD' into issue-270-expand-em-protocol-tests
SeCuReDmE-main-dev Jun 1, 2026
9616419
Merge pull request #348 from SeCuReDmE-main-dev/issue-270-expand-em-p…
hayekr Jun 1, 2026
155d660
[minor] refactor QuantumManagerStabilizer; update unit test for Quant…
caitaozhan Jun 3, 2026
d829c4a
Merge branch 'RnD' into feature/stabilizer-formalism
caitaozhan Jun 3, 2026
cc25c38
[minor] update CHANGELOG
caitaozhan Jun 3, 2026
f9b0d4a
[minor] update QuantumManagerStabilizer.get_circuit_duration()
caitaozhan Jun 3, 2026
4f79684
[minor] cosmetic updates, including updating StabilizerState.__str__()
caitaozhan Jun 3, 2026
26d32c7
[minor] remove QuantumManagerStabilizer._to_stim_circuit()
caitaozhan Jun 3, 2026
20aca88
[minor] refactor QuantumManagerStabilizer.apply_idling_decoherence() …
caitaozhan Jun 4, 2026
890fe09
[minor] update QuantumManagerStabilizer.set_to_zero()
caitaozhan Jun 4, 2026
1358764
[minor] QuantumManagerStabilizerf.track_error_statistics is removed, …
caitaozhan Jun 4, 2026
813c0d1
[minor] fix copilot comments
caitaozhan Jun 4, 2026
a932204
Update three minute tutorial
j-rinchiuso Jun 5, 2026
fffeb72
Update three minute tutorial prerequisites
j-rinchiuso Jun 5, 2026
95fca35
Update print statement for entangled memory pairs
j-rinchiuso Jun 5, 2026
15c957a
Revise CHANGELOG for recent updates and changes
j-rinchiuso Jun 5, 2026
1581d0b
Error handling for missing quantum channels
Tw1ZZLER Jun 5, 2026
68945ef
Removed redundant else, fixed quotes with repr
Tw1ZZLER Jun 8, 2026
006825d
Updated CHANGELOG.md
Tw1ZZLER Jun 8, 2026
293af84
Reorganize documentation navigation
j-rinchiuso Jun 8, 2026
1360570
Update CHANGELOG with tutorial and navigation changes
j-rinchiuso Jun 8, 2026
b1eec05
Merge pull request #363 from j-rinchiuso/joey-branch
caitaozhan Jun 8, 2026
99b59ca
Merge branch 'RnD' into bugfix/send-qubit-error
hayekr Jun 8, 2026
b39f224
Merge pull request #364 from Tw1ZZLER/bugfix/send-qubit-error
hayekr Jun 8, 2026
c993ee4
Merge branch 'RnD' into feature/stabilizer-formalism
hayekr Jun 8, 2026
0fc030a
[minor] update the three_minute tutorial, including minor bug fix and…
caitaozhan Jun 8, 2026
6e3c46c
[minor] rename
caitaozhan Jun 8, 2026
463f84d
[minor] update README: added editable install via pip; added new publ…
caitaozhan Jun 8, 2026
a96013e
[minor] cosmetic updates
caitaozhan Jun 8, 2026
b330b7f
[minor] update tutorial
caitaozhan Jun 8, 2026
d523df7
[minor] update tutorial
caitaozhan Jun 8, 2026
7117c34
Merge branch 'RnD' into update-tutorial
hayekr Jun 10, 2026
870b144
Merge pull request #366 from sequence-toolbox/update-tutorial
caitaozhan Jun 10, 2026
65c256e
Merge branch 'RnD' into feature/stabilizer-formalism
caitaozhan Jun 10, 2026
ccfce48
[minor] fix comments
caitaozhan Jun 11, 2026
5f91ce2
[major] added a new class QuantumManagerDenseQubit(QuantumManager) th…
caitaozhan Jun 11, 2026
4d2865b
[minor] meas_samp argument is removed from QuantumManagerStabilizer._…
caitaozhan Jun 11, 2026
47273e4
[minor] update the QuantumManager.set() argument name; update documen…
caitaozhan Jun 11, 2026
f74680d
[major] attributes truncation and dim are moved from the parent class…
caitaozhan Jun 13, 2026
6dc55a4
[minor] update CHANGELOG
caitaozhan Jun 13, 2026
4dd0efc
[minor] update docomentation, typing, and various cosmetic changes
caitaozhan Jun 13, 2026
1e8a2b2
[minor] improve documentation and typing
caitaozhan Jun 13, 2026
dce1da5
[minor] update typing
caitaozhan Jun 13, 2026
eab10ad
Merge pull request #362 from sequence-toolbox/feature/stabilizer-form…
caitaozhan Jun 15, 2026
0496ac5
[minor] fix bug in FreeQuantumState.measure_multiple
caitaozhan Jun 15, 2026
0ccaa9d
Merge pull request #369 from sequence-toolbox/fix/free-quantum-state
caitaozhan Jun 16, 2026
7d50000
[minor] update the three_minute tutorial and fixing minor comments
caitaozhan Jun 16, 2026
2d40054
[minor] fix typo
caitaozhan Jun 16, 2026
e6f6bcc
Merge branch 'RnD' into fix/comment-and-tutorial
caitaozhan Jun 16, 2026
0050aad
Add link length and attenuation to graph building CLI
hayekr Jun 17, 2026
cf55c6b
Merge pull request #371 from sequence-toolbox/fix/comment-and-tutorial
caitaozhan Jun 17, 2026
bbe0331
Merge branch 'RnD' into fix_missing_args_topo
caitaozhan Jun 17, 2026
0177f6e
Merge pull request #372 from sequence-toolbox/fix_missing_args_topo
caitaozhan Jun 17, 2026
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
33 changes: 33 additions & 0 deletions .github/workflows/mirror_gitlab.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Mirror to GitLab
on:
push:
branches: [ '**' ]
tags: [ '**' ]
delete:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: mirror-to-gitlab
cancel-in-progress: true

jobs:
mirror:
if: github.repository == 'sequence-toolbox/SeQUeNCe'
runs-on: ubuntu-latest
steps:
- name: Checkout full history
uses: actions/checkout@v6
with:
fetch-depth: 0
persist-credentials: false
- name: Push to GitLab
env:
GITLAB_TOKEN: ${{ secrets.GITLAB_KEY }}
GITLAB_REPO: ${{ secrets.GITLAB_URL }}
run: |
git remote add gitlab "https://oauth2:${GITLAB_TOKEN}@${GITLAB_REPO}"
git update-ref -d refs/remotes/origin/HEAD || true
git push --force --prune gitlab "refs/remotes/origin/*:refs/heads/*" "refs/tags/*:refs/tags/*"
23 changes: 23 additions & 0 deletions .github/workflows/pr_source_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: PR Source Check
on:
pull_request:
branches: [master]

permissions: {}
jobs:
check-source-branch:
name: Verify source branch
runs-on: ubuntu-latest
if: github.repository == 'sequence-toolbox/SeQUeNCe'
steps:
- name: Check source branch
run: |
SOURCE="${{ github.head_ref }}"
echo "Source branch: ${SOURCE}"
if [ "${SOURCE}" = "RnD" ]; then
echo "Source branch '${SOURCE}' is allowed to merge into master."
else
echo "ERROR: PRs to master must come from 'RnD'."
echo "Source branch '${SOURCE}' is not permitted."
exit 1
fi
1 change: 0 additions & 1 deletion .github/workflows/validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ jobs:
strategy:
matrix:
python-version:
- "3.11"
- "3.12"
- "3.13"
- "3.14"
Expand Down
47 changes: 45 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,53 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2026-6-12
### Added
- Added support for the Stabilizer formalism by introducing `StabilizerState` and `QuantumManagerStabilizer`
- A new class `QuantumManagerDenseQubit` is added. It is the child class of `QuantumManager` and parent class of `QuantumManagerKet` and `QuantumManagerDensity`
- Attributes `truncation` and `dim` are moved from the parent class `QuantumManager` to the child class `QuantumManagerDensityFock`; the `Timeline.__init__()` signature update: argument `truncation` is replaced with `manager_kwargs`
- Add a module to convert an arbitrary graph object to sequence configurations for QuantumRouter with MIM BSM
- Add FatTree topology and BCube topology
- Added the `routing` module: a new parent class `RoutingProtocol` for the subclasses `StaticRoutingProtocol` and `DistributedRoutingProtocol`. The register decorator is used to make it easy to plug in new routing protocols in the future.
- Add empty init() to Protocol to satisfy class hierarchy.
- Created project scripts for each config generator.
- Added the `swapping` module that has the following classes. The subclasses use the registry decorator (factory pattern).
- Base class: `EntanglementSwappingA` & `EntanglementSwappingB`
- Subclass for ket vector and density matrix: `EntanglementSwappingA_Circuit` & `EntanglementSwappingB_Circuit`
- Subclass for Bell diagonal state: `EntanglementSwappingA_BDS` & `EntanglementSwappingB_BDS`
- Update the tutorial to catch up on the recent updates. Add notes saying refer to chapter 6 Application module for standard usage
- Introducing `EARLY_EXPIRE` message type. A request has a `start_time` and `end_time`. When a request is finished before the `end_time`, then the reservation (and the associated rules) should expire early. If not, the quantum network will keep generating entanglement pairs because the rules still exist.
- Added three minute tutorial (tutorial file, md, json file). Also reorganized nav bar to have about section, tutorial section, and moduale refrence

### Changed
- Using typer for CLI, creates a unified interface for topology generation. Allow for custom graph objects in CLI.
- Moved all old topologies to NetworkX graph objects
- Docstring, documentation, comment, logging, and various cosmetic updates.
- Moved routing_protocol init() to network manager.
- Trigger empty inits for resource and network manager to enable future bootstrapping.
- Migrated `utils/json_config_generators/` to `sequence/config_generators/`.
- Add a `sender_delay` argument to the `Node.send_message()` to account for processing delay, queueing delay, transmission delay, etc.
- Break down the `quantum_manager.py` into a module consisting of multiple files where each file has a quantum manager class
- Break down the `quantum_state.py` into a module consisting of multiple files where each file has a quantum state class

### Removed
- Old configuration generators
- The old `swapping.py` is removed
- The old `quantum_manager.py` is removed
- The old `quantum_state.py` is removed
- Removed support for Python 3.11
- Removed `qlan` submodule

### Fixed
- Some minor bugs in quantum states
- Fixed a bug in `Node.send_qubit()` where if there are no quantum channels available for the qubit to travel, a `KeyError` crash would occur.


## [0.8.5] - 2026-2-27
### Added
- `NetworkManager` ABC with a factory pattern for selection and future implementation of new network managers.
- File `action_condition_set.py` is added. This contains the action, condition, and request functions for entanglement generation, swapping, and purification.
- Class `DistributedRoutingProtocol` is added, among many other supporting classes in `routing_distributed.py`. This module does distributed entanglement routing.
- Class `DistributedRoutingProtocol` is added, among many other supporting classes in `routing_distributed`. This module does distributed entanglement routing.
- Class `NetworkManager` has two new attributes: `forwarding_table` and `routing_protocol`.
- Add a cutoff flag to memory to allow disable the expiration of memories.
- Add a template in config json for network manager to select routing protocols (distributed vs. static)
Expand All @@ -18,8 +60,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed
- `RSVPProtocol` is now decoupled from the `DistributedNetworkManager`.
- Moved `ResourceReservationProtocol` to `RSVPProtocol` in `rsvp.py`.
- Moved `MemoryTimecard` to `memory_timecard.py` and are instantiated by the `NetworkManager`
- Moved `ResourceReservationProtocol` to `RSVPProtocol` in `rsvp.py`
- `RSVPProtocol` does not instantiate `MemoryTimecard` anymore. The `timecards` attribute in `RSVPProtocol` becomes a reference to the `MemoryTimecard` in `NetworkManager`
- NetworkManager is now `DistributedNetworkManager`
- Extend and refactor the tests in `test_reservation.py`
- Minor refactors pertaining to typing errors in `memory.py`, `resource_manager.py`, `rule_manager.py`, `network_manager.py` and `reservation.py`
Expand Down
86 changes: 51 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
[![PyPi](https://img.shields.io/pypi/v/sequence)](https://pypi.org/project/sequence/)
![pyversions](https://img.shields.io/pypi/pyversions/sequence)
[![Documentation](https://img.shields.io/readthedocs/sequence-rtd-tutorial)](https://sequence-rtd-tutorial.readthedocs.io/)
[![Qutip](https://img.shields.io/badge/integration%20-Qutip-blue)](https://qutip.org/)
[![QuTiP](https://img.shields.io/badge/integration-QuTiP-blue)](https://qutip.org/)
[![Stim](https://img.shields.io/badge/integration-Stim-blue)](https://github.com/quantumlib/Stim)
[![Paper](https://img.shields.io/badge/10.1088%2F2058-9565%2Fac22f6?label=DOI)](https://iopscience.iop.org/article/10.1088/2058-9565/ac22f6)
[![PyPI Downloads](https://static.pepy.tech/badge/sequence/month)](https://pepy.tech/projects/sequence)
<!-- [![Download-month](https://img.shields.io/pypi/dm/sequence)](https://pypistats.org/packages/sequence) -->
[![Download-month](https://img.shields.io/pypi/dm/sequence)](https://pypistats.org/packages/sequence)

</div>

Expand All @@ -38,15 +38,33 @@ These modules can be edited by users to define additional functionality and test

## Installation
### For Users
SeQUeNCe requires [Python](https://www.python.org/downloads/) 3.11 or later. You can install SeQUeNCe using `pip`:
SeQUeNCe requires [Python](https://www.python.org/downloads/) 3.12 or later. You can install SeQUeNCe using `pip`:
```
pip install sequence
```

### Development Environment Setup
If you wish to modify the source code, use an editable installation with [uv](https://docs.astral.sh/uv/):
If you wish to modify the source code, use an editable installation with either pip or [uv](https://docs.astral.sh/uv/):

Editable installations let Python use your local source tree directly, so changes you make to the SeQUeNCe code are available **without reinstalling the package after each edit**. The `pip` option is a lightweight way to install the local package into an environment you already manage, while `uv` can create and synchronize a reproducible virtual environment from the project's dependency files.

#### (1) Using pip
```
git clone https://github.com/sequence-toolbox/SeQUeNCe.git
cd sequence
make install_editable
```

In the Makefile, `install_editable` will run the following:
```
pip install --editable . --config-settings editable_mode=strict
```
The `--config-settings editable_mode=strict` setting makes the editable install behaves more like a real packaged install.

#### (2) Using uv

##### Install uv ([Astral Instructions](https://docs.astral.sh/uv/getting-started/installation/))

#### Install uv ([Astral Instructions](https://docs.astral.sh/uv/getting-started/installation/))
```bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Expand All @@ -55,23 +73,26 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

#### Clone the repository and create the virtual environment
##### Clone the repository and create the virtual environment

Here we clone the repository and let uv configure the development environment with the target python version.
```bash
git clone https://github.com/sequence-toolbox/SeQUeNCe.git
cd sequence
uv sync
```

#### Activate the virtual environment
##### Activate the virtual environment

Now that the virtual environment is created with all dependencies installed, you can activate it using the following command.

```bash
source .venv/bin/activate # macOS/Linux
source .venv\Scripts\activate # Windows
```

#### Running the test suite
##### Running the test suite

SeQUeNCe includes a comprehensive test suite, this can be ran with the following command
```
uv run pytest tests
Expand Down Expand Up @@ -118,32 +139,27 @@ This script also supports a flag `-m` to visualize BSM nodes created by default
## Contact
If you have questions, please contact [Caitao Zhan](https://caitaozhan.github.io/) at [czhan@anl.gov](mailto:czhan@anl.gov).

## Papers that Used and/or Extended SeQUeNCe

* X. Wu et al., ["Simulations of Photonic Quantum Networks for Performance Analysis and Experiment Design"](https://ieeexplore.ieee.org/document/8950718), IEEE/ACM Workshop on Photonics-Optics Technology Oriented Networking, Information and Computing Systems (PHOTONICS), 2019

* X. Wu, A. Kolar, J. Chung, D. Jin, T. Zhong, R. Kettimuthu and M. Suchara. ["SeQUeNCe: A Customizable Discrete-Event Simulator of Quantum Networks"](https://iopscience.iop.org/article/10.1088/2058-9565/ac22f6), Quantum Science and Technology, 2021

* V. Semenenko et al., ["Entanglement generation in a quantum network with finite quantum memory lifetime"](https://pubs.aip.org/avs/aqs/article/4/1/012002/2835237/Entanglement-generation-in-a-quantum-network-with), AVS Quantum Science, 2022

* A. Zang et al., ["Simulation of Entanglement Generation between Absorptive Quantum Memories"](https://ieeexplore.ieee.org/abstract/document/9951205), IEEE QCE 2022

* M.G. Davis et al., ["Towards Distributed Quantum Computing by Qubit and Gate Graph Partitioning Techniques"](https://ieeexplore.ieee.org/abstract/document/10313645), IEEE QCE 2023

* R. Zhou et al., ["A Simulator of Atom-Atom Entanglement with Atomic Ensembles and Quantum Optics"](https://ieeexplore.ieee.org/abstract/document/10313610), IEEE QCE 2023
Here is the updated table with the Code column populated:

* X. Wu et al., ["Parallel Simulation of Quantum Networks with Distributed Quantum State Management"](https://dl.acm.org/doi/abs/10.1145/3634701), ACM Transactions on Modeling and Computer Simulation, 2024

* C. Howe, M. Aziz, and A. Anwar, ["Towards Scalable Quantum Repeater Networks"](https://arxiv.org/abs/2409.08416), arXiv preprint, 2024

* A. Zang et al., ["Quantum Advantage in Distributed Sensing with Noisy Quantum Networks"](https://arxiv.org/abs/2409.17089), arXiv preprint, 2024

* L. d'Avossa et al., ["Simulation of Quantum Transduction Strategies for Quantum Networks"](https://arxiv.org/abs/2411.11377), arXiv preprint, 2024

* F. Mazza et al., ["Simulation of Entanglement-Enabled Connectivity in QLANs using SeQUeNCe"](https://arxiv.org/abs/2411.11031), IEEE ICC 2025

* C. Zhan et al., ["Design and Simulation of the Adaptive Continuous Entanglement Generation Protocol"](https://arxiv.org/abs/2502.01964), QCNC 2025. [GitHub Repository](https://github.com/caitaozhan/adaptive-continuous)

* H. Miller et al., ["Simulation of a Heterogeneous Quantum Network"](https://arxiv.org/abs/2512.04211), arXiv preprint, 2025
## Papers that Used and/or Extended SeQUeNCe
| Year | Authors | Title | Venue | Code |
|------|---------|-------|-------|------|
| 2026 | S. Pantage et al. | [Realistic Simulation of Quantum Repeater with Encoding and Classical Error Correction](https://arxiv.org/abs/2605.06928) | arXiv preprint | [GitHub](https://github.com/SagarPatange/Quantum-Repeater-Encoding) |
| 2026 | A. Pirker et al. | [Centralizing Task-based Approach to Quantum Network Control](https://arxiv.org/abs/2605.03336) | arXiv preprint | [GitHub](https://github.com/sequence-toolbox/central_scheduler) |
| 2026 | A. Amlou et al. | [Physics-Informed Discrete-Event Simulation of Polarization-Encoded Quantum Networks](https://arxiv.org/abs/2604.07289) | arXiv preprint | |
| 2026 | H. Miller et al. | [Simulation of a Heterogeneous Quantum Network](https://doi.org/10.1109/QCNC69040.2026.00085) | IEEE QCNC | [GitHub](https://github.com/haydenmllr1317/heterogenous) |
| 2026 | A. Zang et al. | [Quantum Advantage in Distributed Sensing with Noisy Quantum Networks](https://doi.org/10.1103/7n9w-9xd4) | Physical Review Research | |
| 2025 | C. Zhan et al. | [Design and Simulation of the Adaptive Continuous Entanglement Generation Protocol](https://doi.org/10.1109/QCNC64685.2025.00028) | IEEE QCNC | [GitHub](https://github.com/caitaozhan/adaptive-continuous) |
| 2025 | F. Mazza et al. | [Simulation of Entanglement-Enabled Connectivity in QLANs using SeQUeNCe](https://doi.org/10.1109/ICC52391.2025.11434940) | IEEE ICC | |
| 2025 | L. d'Avossa et al. | [Simulation of Quantum Transduction Strategies for Quantum Networks](https://doi.org/10.1109/QCE65121.2025.00142) | IEEE QCE | |
| 2025 | V. S. Mai et al. | [Towards Optimal Orders for Entanglement Swapping in Path Graphs: A Greedy Approach](https://arxiv.org/abs/2504.14040) | IEEE QCE | |
| 2024 | C. Howe et al. | [Towards Scalable Quantum Repeater Networks](https://arxiv.org/abs/2409.08416) | arXiv preprint | |
| 2024 | X. Wu et al. | [Parallel Simulation of Quantum Networks with Distributed Quantum State Management](https://dl.acm.org/doi/abs/10.1145/3634701) | ACM TOMACS | |
| 2023 | R. Zhou et al. | [A Simulator of Atom-Atom Entanglement with Atomic Ensembles and Quantum Optics](https://doi.org/10.1109/QCE57702.2023.00143) | IEEE QCE | |
| 2023 | M.G. Davis et al. | [Towards Distributed Quantum Computing by Qubit and Gate Graph Partitioning Techniques](https://doi.org/10.1109/QCE57702.2023.00026) | IEEE QCE | |
| 2022 | A. Zang et al. | [Simulation of Entanglement Generation between Absorptive Quantum Memories](https://doi.org/10.1109/QCE53715.2022.00084) | IEEE QCE | |
| 2022 | V. Semenenko et al. | [Entanglement generation in a quantum network with finite quantum memory lifetime](https://doi.org/10.1116/5.0082239) | AVS Quantum Science | |
| 2021 | X. Wu et al. | [SeQUeNCe: A Customizable Discrete-Event Simulator of Quantum Networks](https://iopscience.iop.org/article/10.1088/2058-9565/ac22f6) | IOP Quantum Science and Technology | |
| 2019 | X. Wu et al. | [Simulations of Photonic Quantum Networks for Performance Analysis and Experiment Design](https://ieeexplore.ieee.org/document/8950718) | IEEE/ACM PHOTONICS | |

Please do a Pull Request to add your paper here!
4 changes: 4 additions & 0 deletions docs/source/about/introduction/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Introduction
Welcome to SeQUeNCe! SeQUeNCe, the Simulator of QUantum Network Communication, is an open source, discrete-event simulator for quantum networks. It is designed to support detailed and customizable simulations of quantum network prototypes across both current and future hardware technologies and protocols.The simulator is organized around five main modules: Hardware, Entanglement Management, Resource Management, Network Management, and Application. These modules allow users to model quantum network components, test protocol schemes, evaluate network parameters, and study full-stack quantum network behavior. SeQUeNCe was developed to help compare alternative quantum network technologies, support experiment planning and validation, and aid the design of new quantum networking protocols.

For more information, please see our [paper](http://arxiv.org/abs/2009.12000) (note that this paper is published in 2021 and some content might outdated).
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@ Thank you for downloading SeQUeNCe and welcome to the tutorial section of the do

### Python Version

The simulator requires at least version **3.10** of Python. This can be found at the [Python Website](https://www.python.org/downloads/).
The simulator requires at least version **3.12** of Python. This can be found at the [Python Website](https://www.python.org/downloads/).

### Dependencies

The simulator requires the following Python libraries:
* `qutip`,for quantum circuit management
* `qutip`, for quantum circuit management
* `stim`, for stabilizer state management
* `networkx`, for network topology related operations
* `numpy`, for mathematical computing tasks
* `scipy`, for linear algebra computing tasks
* `pandas`, for data processing
* `matplotlib`, for generating graphics

These will be installed automatically with the simulator if they are not already present.
For the complete and updated requirements, see the `pyproject.toml`. These will be installed automatically with the simulator if they are not already present.

## Installation

Expand All @@ -38,7 +39,9 @@ $ source path-to-venv/bin/activate

The shell prompt should now show the name of the virtual environment.

Using Anaconda/conda to create a virtual environment is also recommended.
Using `Anaconda/conda` to create a virtual environment is also recommended.

`uv` is also supported, see [README](https://github.com/sequence-toolbox/SeQUeNCe#development-environment-setup) for detailed instructions.

### Install SeQUeNCe

Expand Down
8 changes: 7 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,18 @@ Welcome to the SeQUeNCe documentation page

==========================================

.. toctree::
:maxdepth: 1
:caption: About:

about/introduction/about
about/requirements/prerequisite

.. toctree::
:maxdepth: 1
:caption: Tutorials:

tutorial/chapter0/prerequisite
tutorial/sequence3min/three_minute
tutorial/chapter1/discrete-event-simulation
tutorial/chapter2/hardware
tutorial/chapter3/entangle
Expand Down
Loading
Loading