sequence 1.0.0.dev13413021__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/PKG-INFO +6 -20
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/README.md +4 -11
- sequence-1.3.0/pyproject.toml +158 -0
- sequence-1.0.0.dev13413021/pyproject.toml → sequence-1.3.0/pyproject.toml.orig +73 -14
- sequence-1.3.0/sequence/__init__.py +33 -0
- sequence-1.3.0/sequence/__init__.pyi +169 -0
- sequence-1.3.0/sequence/app/__init__.py +5 -0
- sequence-1.3.0/sequence/app/__init__.pyi +4 -0
- sequence-1.3.0/sequence/app/app.py +81 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/app/request_app.py +14 -13
- sequence-1.3.0/sequence/components/__init__.py +5 -0
- sequence-1.3.0/sequence/components/__init__.pyi +49 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/circuit.py +12 -32
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/memory.py +6 -1
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/constants.py +8 -0
- sequence-1.3.0/sequence/entanglement_management/__init__.py +5 -0
- sequence-1.3.0/sequence/entanglement_management/__init__.pyi +34 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/entanglement_protocol.py +9 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/generation/barret_kok.py +4 -1
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/generation/generation_base.py +5 -1
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/generation/single_heralded.py +4 -1
- sequence-1.3.0/sequence/entanglement_management/purification/__init__.py +18 -0
- sequence-1.3.0/sequence/entanglement_management/purification/bbpssw_bds.py +205 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/purification/bbpssw_circuit.py +14 -14
- sequence-1.3.0/sequence/entanglement_management/purification/dejmps_bds.py +164 -0
- sequence-1.0.0.dev13413021/sequence/entanglement_management/purification/bbpssw_protocol.py → sequence-1.3.0/sequence/entanglement_management/purification/purification_protocol.py +26 -18
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/swapping/swapping_base.py +15 -3
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/swapping/swapping_bds.py +7 -3
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/swapping/swapping_circuit.py +5 -1
- sequence-1.3.0/sequence/kernel/__init__.py +5 -0
- sequence-1.3.0/sequence/kernel/__init__.pyi +21 -0
- sequence-1.3.0/sequence/kernel/quantum_gates.py +149 -0
- sequence-1.3.0/sequence/kernel/quantum_manager/base.py +161 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_manager/bell_diagonal.py +16 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_manager/density_matrix.py +81 -14
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_manager/fock_density_matrix.py +3 -0
- sequence-1.3.0/sequence/kernel/quantum_manager/ket_vector.py +240 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_manager/stabilizer.py +18 -0
- sequence-1.3.0/sequence/kernel/quantum_manager/utils.py +47 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_utils.py +74 -74
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/timeline.py +2 -1
- sequence-1.3.0/sequence/network_management/__init__.py +5 -0
- sequence-1.3.0/sequence/network_management/__init__.pyi +24 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/network_manager.py +16 -2
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/reservation.py +31 -4
- sequence-1.3.0/sequence/network_management/routing/__init__.py +11 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/routing/routing_distributed.py +1 -1
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/rsvp.py +7 -0
- sequence-1.3.0/sequence/py.typed +0 -0
- sequence-1.3.0/sequence/qkd/__init__.py +5 -0
- sequence-1.3.0/sequence/qkd/__init__.pyi +12 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/qkd/cascade.py +1 -2
- sequence-1.3.0/sequence/resource_management/__init__.py +5 -0
- sequence-1.3.0/sequence/resource_management/__init__.pyi +7 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/resource_management/action_condition_set.py +6 -6
- sequence-1.3.0/sequence/resource_management/reservation_rule_registry.py +347 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/resource_management/resource_manager.py +99 -107
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/resource_management/rule_manager.py +14 -13
- sequence-1.3.0/sequence/topology/__init__.py +5 -0
- sequence-1.3.0/sequence/topology/__init__.pyi +12 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/topology/node.py +3 -2
- sequence-1.3.0/sequence/utils/__init__.py +5 -0
- sequence-1.3.0/sequence/utils/__init__.pyi +7 -0
- sequence-1.3.0/sequence/utils/classical_delay.py +80 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/utils/config_generator_cli.py +34 -11
- sequence-1.3.0/sequence/utils/draw_topo.py +84 -0
- sequence-1.3.0/sequence/utils/metrics/__init__.py +272 -0
- sequence-1.3.0/sequence/utils/metrics/builtins.py +134 -0
- sequence-1.3.0/sequence/utils/metrics/event_types.py +207 -0
- sequence-1.3.0/sequence/utils/metrics/metric_types.py +615 -0
- sequence-1.3.0/sequence/utils/metrics/registry.py +81 -0
- sequence-1.3.0/sequence/utils/metrics/storage.py +76 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/utils/nx_converter.py +5 -5
- sequence-1.0.0.dev13413021/sequence/__init__.py +0 -27
- sequence-1.0.0.dev13413021/sequence/app/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/components/__init__.py +0 -5
- sequence-1.0.0.dev13413021/sequence/entanglement_management/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/entanglement_management/purification/__init__.py +0 -8
- sequence-1.0.0.dev13413021/sequence/entanglement_management/purification/bbpssw_bds.py +0 -236
- sequence-1.0.0.dev13413021/sequence/gui/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/gui/app.py +0 -1240
- sequence-1.0.0.dev13413021/sequence/gui/assets/argonne.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/attributions_req +0 -11
- sequence-1.0.0.dev13413021/sequence/gui/assets/bsmnode.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/detector.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/logo.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/photonsource.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/quantum.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/repeater.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/router.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/sequence.jpg +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/bsmnode.svg +0 -9
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/detector.svg +0 -30
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/photonsource.svg +0 -9
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/quantum.svg +0 -1
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/repeater.svg +0 -1
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/router.svg +0 -78
- sequence-1.0.0.dev13413021/sequence/gui/assets/svg/temp.svg +0 -4
- sequence-1.0.0.dev13413021/sequence/gui/assets/temp.png +0 -0
- sequence-1.0.0.dev13413021/sequence/gui/css_styles.py +0 -163
- sequence-1.0.0.dev13413021/sequence/gui/default_params.json +0 -34
- sequence-1.0.0.dev13413021/sequence/gui/default_templates.json +0 -43
- sequence-1.0.0.dev13413021/sequence/gui/graph_comp.py +0 -10
- sequence-1.0.0.dev13413021/sequence/gui/layout.py +0 -265
- sequence-1.0.0.dev13413021/sequence/gui/menus.py +0 -982
- sequence-1.0.0.dev13413021/sequence/gui/run_gui.py +0 -91
- sequence-1.0.0.dev13413021/sequence/gui/simulator_bindings.py +0 -206
- sequence-1.0.0.dev13413021/sequence/gui/starlight.json +0 -115
- sequence-1.0.0.dev13413021/sequence/gui/test.txt +0 -49
- sequence-1.0.0.dev13413021/sequence/gui/user_templates.json +0 -43
- sequence-1.0.0.dev13413021/sequence/kernel/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/kernel/quantum_manager/base.py +0 -252
- sequence-1.0.0.dev13413021/sequence/kernel/quantum_manager/ket_vector.py +0 -192
- sequence-1.0.0.dev13413021/sequence/network_management/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/network_management/routing/__init__.py +0 -8
- sequence-1.0.0.dev13413021/sequence/qkd/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/resource_management/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/topology/__init__.py +0 -4
- sequence-1.0.0.dev13413021/sequence/utils/__init__.py +0 -3
- sequence-1.0.0.dev13413021/sequence/utils/dqc_node_generator.py +0 -20
- sequence-1.0.0.dev13413021/sequence/utils/draw_topo.py +0 -81
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/LICENSE +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/app/random_request.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/app/teleport_app.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/beam_splitter.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/bsm.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/detector.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/fiber_stretcher.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/interferometer.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/light_source.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/mirror.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/optical_channel.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/photon.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/spdc_lens.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/switch.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/transducer.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/components/transmon.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/generation/__init__.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/generation/generation_message.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/swapping/__init__.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/entanglement_management/teleportation.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/entity.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/event.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/eventlist.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/process.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_manager/__init__.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/__init__.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/base.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/bell_diagonal.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/density_matrix.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/free.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/ket_vector.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/kernel/quantum_state/stabilizer.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/message.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/forwarding.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/memory_timecard.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/routing/routing_base.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/network_management/routing/routing_static.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/protocol.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/qkd/BB84.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/resource_management/memory_manager.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/topology/dqc_net_topo.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/topology/qkd_topo.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/topology/router_net_topo.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/topology/topology.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/utils/encoding.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/utils/graphs.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/utils/log.py +0 -0
- {sequence-1.0.0.dev13413021 → sequence-1.3.0}/sequence/utils/noise.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sequence
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Simulator of QUantum Network Communication (SeQUeNCe) is an open-source tool that allows modeling of quantum networks including photonic network components, control protocols, and applications.
|
|
5
5
|
Keywords: quantum,network,discrete,event,simulator
|
|
6
6
|
Author: Xiaoliang Wu, Joaquin Chung, Alexander Kolar, Alexander Kiefer, Eugene Wang, Tian Zhong, Rajkumar Kettimuthu, Martin Suchara, Robert Hayek, Ansh Singal, Caitao Zhan
|
|
@@ -9,22 +9,15 @@ License-File: LICENSE
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.13
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.14
|
|
12
|
-
Requires-Dist: dash>=3.3.0
|
|
13
|
-
Requires-Dist: dash-bootstrap-components>=2.0.4
|
|
14
|
-
Requires-Dist: dash-core-components>=2.0.0
|
|
15
|
-
Requires-Dist: dash-cytoscape>=1.0.2
|
|
16
|
-
Requires-Dist: dash-html-components>=2.0.0
|
|
17
|
-
Requires-Dist: dash-table>=5.0.0
|
|
18
12
|
Requires-Dist: gmpy2>=2.2.2
|
|
19
13
|
Requires-Dist: graphviz>=0.21
|
|
20
14
|
Requires-Dist: ipywidgets>=8.1.8
|
|
21
15
|
Requires-Dist: jupyterlab>=4.5.0
|
|
16
|
+
Requires-Dist: lazy-loader>=0.6
|
|
22
17
|
Requires-Dist: matplotlib>=3.10.7
|
|
23
18
|
Requires-Dist: networkx>=3.6.1
|
|
24
19
|
Requires-Dist: numpy>=2.3.5
|
|
25
20
|
Requires-Dist: pandas>=2.3.3
|
|
26
|
-
Requires-Dist: plotly>=6.5.0
|
|
27
|
-
Requires-Dist: pytest>=9.0.2
|
|
28
21
|
Requires-Dist: pyyaml>=6.0.3
|
|
29
22
|
Requires-Dist: qutip>=5.2.2
|
|
30
23
|
Requires-Dist: qutip-qip>=0.4.1
|
|
@@ -61,7 +54,8 @@ Description-Content-Type: text/markdown
|
|
|
61
54
|
[](https://qutip.org/)
|
|
62
55
|
[](https://github.com/quantumlib/Stim)
|
|
63
56
|
[](https://iopscience.iop.org/article/10.1088/2058-9565/ac22f6)
|
|
64
|
-
[](https://pepy.tech/project/sequence)
|
|
58
|
+
|
|
65
59
|
|
|
66
60
|
</div>
|
|
67
61
|
|
|
@@ -95,7 +89,7 @@ Editable installations let Python use your local source tree directly, so change
|
|
|
95
89
|
#### (1) Using pip
|
|
96
90
|
```
|
|
97
91
|
git clone https://github.com/sequence-toolbox/SeQUeNCe.git
|
|
98
|
-
cd
|
|
92
|
+
cd SeQUeNCe
|
|
99
93
|
make install_editable
|
|
100
94
|
```
|
|
101
95
|
|
|
@@ -122,7 +116,7 @@ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | ie
|
|
|
122
116
|
Here we clone the repository and let uv configure the development environment with the target python version.
|
|
123
117
|
```bash
|
|
124
118
|
git clone https://github.com/sequence-toolbox/SeQUeNCe.git
|
|
125
|
-
cd
|
|
119
|
+
cd SeQUeNCe
|
|
126
120
|
uv sync
|
|
127
121
|
```
|
|
128
122
|
|
|
@@ -158,14 +152,6 @@ publisher = {IOP Publishing},
|
|
|
158
152
|
}
|
|
159
153
|
```
|
|
160
154
|
|
|
161
|
-
<!-- * X. Wu, A. Kolar, J. Chung, D. Jin, T. Zhong, R. Kettimuthu and M. Suchara. "SeQUeNCe: Simulator of QUantum Network Communication." GitHub repository, https://github.com/sequence-toolbox/SeQUeNCe, 2021. -->
|
|
162
|
-
|
|
163
|
-
## Running the GUI
|
|
164
|
-
Once SeQUeNCe has been installed as described above, run the `gui.py` script found in the root of the project directory
|
|
165
|
-
```
|
|
166
|
-
python gui.py
|
|
167
|
-
```
|
|
168
|
-
|
|
169
155
|
## Usage Examples
|
|
170
156
|
Many examples of SeQUeNCe in action can be found in the [example](/example) folder. The example includes jupyter notebook demos, and code used in published papers.
|
|
171
157
|
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
[](https://qutip.org/)
|
|
18
18
|
[](https://github.com/quantumlib/Stim)
|
|
19
19
|
[](https://iopscience.iop.org/article/10.1088/2058-9565/ac22f6)
|
|
20
|
-
[](https://pepy.tech/project/sequence)
|
|
21
|
+
|
|
21
22
|
|
|
22
23
|
</div>
|
|
23
24
|
|
|
@@ -51,7 +52,7 @@ Editable installations let Python use your local source tree directly, so change
|
|
|
51
52
|
#### (1) Using pip
|
|
52
53
|
```
|
|
53
54
|
git clone https://github.com/sequence-toolbox/SeQUeNCe.git
|
|
54
|
-
cd
|
|
55
|
+
cd SeQUeNCe
|
|
55
56
|
make install_editable
|
|
56
57
|
```
|
|
57
58
|
|
|
@@ -78,7 +79,7 @@ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | ie
|
|
|
78
79
|
Here we clone the repository and let uv configure the development environment with the target python version.
|
|
79
80
|
```bash
|
|
80
81
|
git clone https://github.com/sequence-toolbox/SeQUeNCe.git
|
|
81
|
-
cd
|
|
82
|
+
cd SeQUeNCe
|
|
82
83
|
uv sync
|
|
83
84
|
```
|
|
84
85
|
|
|
@@ -114,14 +115,6 @@ publisher = {IOP Publishing},
|
|
|
114
115
|
}
|
|
115
116
|
```
|
|
116
117
|
|
|
117
|
-
<!-- * X. Wu, A. Kolar, J. Chung, D. Jin, T. Zhong, R. Kettimuthu and M. Suchara. "SeQUeNCe: Simulator of QUantum Network Communication." GitHub repository, https://github.com/sequence-toolbox/SeQUeNCe, 2021. -->
|
|
118
|
-
|
|
119
|
-
## Running the GUI
|
|
120
|
-
Once SeQUeNCe has been installed as described above, run the `gui.py` script found in the root of the project directory
|
|
121
|
-
```
|
|
122
|
-
python gui.py
|
|
123
|
-
```
|
|
124
|
-
|
|
125
118
|
## Usage Examples
|
|
126
119
|
Many examples of SeQUeNCe in action can be found in the [example](/example) folder. The example includes jupyter notebook demos, and code used in published papers.
|
|
127
120
|
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sequence"
|
|
3
|
+
version = "1.3.0"
|
|
4
|
+
license-files = ["LICENSE"]
|
|
5
|
+
description = "Simulator of QUantum Network Communication (SeQUeNCe) is an open-source tool that allows modeling of quantum networks including photonic network components, control protocols, and applications."
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
requires-python = ">=3.12, <3.15"
|
|
8
|
+
classifiers = [
|
|
9
|
+
"Programming Language :: Python :: 3.12",
|
|
10
|
+
"Programming Language :: Python :: 3.13",
|
|
11
|
+
"Programming Language :: Python :: 3.14",
|
|
12
|
+
]
|
|
13
|
+
keywords = [
|
|
14
|
+
"quantum",
|
|
15
|
+
"network",
|
|
16
|
+
"discrete",
|
|
17
|
+
"event",
|
|
18
|
+
"simulator",
|
|
19
|
+
]
|
|
20
|
+
dependencies = [
|
|
21
|
+
"gmpy2>=2.2.2",
|
|
22
|
+
"graphviz>=0.21",
|
|
23
|
+
"ipywidgets>=8.1.8",
|
|
24
|
+
"jupyterlab>=4.5.0",
|
|
25
|
+
"lazy-loader>=0.6",
|
|
26
|
+
"matplotlib>=3.10.7",
|
|
27
|
+
"networkx>=3.6.1",
|
|
28
|
+
"numpy>=2.3.5",
|
|
29
|
+
"pandas>=2.3.3",
|
|
30
|
+
"pyyaml>=6.0.3",
|
|
31
|
+
"qutip>=5.2.2",
|
|
32
|
+
"qutip-qip>=0.4.1",
|
|
33
|
+
"scipy>=1.16.3",
|
|
34
|
+
"seaborn>=0.13.2",
|
|
35
|
+
"tqdm>=4.67.1",
|
|
36
|
+
"typer>=0.24.1",
|
|
37
|
+
"stim>=1.15",
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
[[project.authors]]
|
|
41
|
+
name = "Xiaoliang Wu, Joaquin Chung, Alexander Kolar, Alexander Kiefer, Eugene Wang, Tian Zhong, Rajkumar Kettimuthu, Martin Suchara, Robert Hayek, Ansh Singal, Caitao Zhan"
|
|
42
|
+
email = "czhan@anl.gov"
|
|
43
|
+
|
|
44
|
+
[[project.maintainers]]
|
|
45
|
+
name = "Caitao Zhan"
|
|
46
|
+
email = "czhan@anl.gov"
|
|
47
|
+
|
|
48
|
+
[[project.maintainers]]
|
|
49
|
+
name = "Robert Hayek"
|
|
50
|
+
email = "rhayek@anl.gov"
|
|
51
|
+
|
|
52
|
+
[project.scripts]
|
|
53
|
+
generate-topology = "sequence.utils.config_generator_cli:app"
|
|
54
|
+
|
|
55
|
+
[project.urls]
|
|
56
|
+
Homepage = "https://github.com/sequence-toolbox/SeQUeNCe"
|
|
57
|
+
Documentation = "https://sequence-rtd-tutorial.readthedocs.io/"
|
|
58
|
+
Issues = "https://github.com/sequence-toolbox/SeQUeNCe/issues"
|
|
59
|
+
Changelog = "https://github.com/sequence-toolbox/SeQUeNCe/blob/master/CHANGELOG.md"
|
|
60
|
+
|
|
61
|
+
[build-system]
|
|
62
|
+
requires = ["uv_build>=0.11.11,<0.13"]
|
|
63
|
+
build-backend = "uv_build"
|
|
64
|
+
|
|
65
|
+
[tool.uv.build-backend]
|
|
66
|
+
module-root = ""
|
|
67
|
+
module-name = "sequence"
|
|
68
|
+
|
|
69
|
+
[tool.pytest.ini_options]
|
|
70
|
+
markers = ["unit: Marks tests as unit tests"]
|
|
71
|
+
|
|
72
|
+
[tool.semantic_release]
|
|
73
|
+
build_command = """
|
|
74
|
+
python -m pip install "uv>=0.11,<0.12"
|
|
75
|
+
uv lock --upgrade-package "$PACKAGE_NAME"
|
|
76
|
+
git add uv.lock
|
|
77
|
+
"""
|
|
78
|
+
assets = ["uv.lock"]
|
|
79
|
+
version_toml = ["pyproject.toml:project.version"]
|
|
80
|
+
commit_message = """
|
|
81
|
+
{version}
|
|
82
|
+
|
|
83
|
+
Automatically generated by python-semantic-release"""
|
|
84
|
+
commit_parser = "conventional"
|
|
85
|
+
logging_use_named_masks = false
|
|
86
|
+
major_on_zero = true
|
|
87
|
+
allow_zero_version = false
|
|
88
|
+
no_git_verify = false
|
|
89
|
+
tag_format = "v{version}"
|
|
90
|
+
add_partial_tags = false
|
|
91
|
+
|
|
92
|
+
[tool.semantic_release.branches.main]
|
|
93
|
+
match = "master"
|
|
94
|
+
|
|
95
|
+
[tool.semantic_release.changelog]
|
|
96
|
+
changelog_file = "CHANGELOG.md"
|
|
97
|
+
exclude_commit_patterns = []
|
|
98
|
+
mode = "update"
|
|
99
|
+
insertion_flag = "<!-- version list -->"
|
|
100
|
+
|
|
101
|
+
[tool.semantic_release.changelog.default_templates]
|
|
102
|
+
changelog_file = "CHANGELOG.md"
|
|
103
|
+
output_format = "md"
|
|
104
|
+
mask_initial_release = true
|
|
105
|
+
|
|
106
|
+
[tool.semantic_release.changelog.environment]
|
|
107
|
+
block_start_string = "{%"
|
|
108
|
+
block_end_string = "%}"
|
|
109
|
+
variable_start_string = "{{"
|
|
110
|
+
variable_end_string = "}}"
|
|
111
|
+
comment_start_string = "{#"
|
|
112
|
+
comment_end_string = "#}"
|
|
113
|
+
trim_blocks = true
|
|
114
|
+
lstrip_blocks = true
|
|
115
|
+
newline_sequence = """
|
|
116
|
+
|
|
117
|
+
"""
|
|
118
|
+
keep_trailing_newline = true
|
|
119
|
+
extensions = []
|
|
120
|
+
autoescape = false
|
|
121
|
+
|
|
122
|
+
[tool.semantic_release.commit_parser_options]
|
|
123
|
+
minor_tags = ["feat"]
|
|
124
|
+
patch_tags = [
|
|
125
|
+
"fix",
|
|
126
|
+
"docs",
|
|
127
|
+
"test",
|
|
128
|
+
"ci",
|
|
129
|
+
"refactor",
|
|
130
|
+
"perf",
|
|
131
|
+
"chore",
|
|
132
|
+
"revert",
|
|
133
|
+
]
|
|
134
|
+
allowed_tags = [
|
|
135
|
+
"feat",
|
|
136
|
+
"fix",
|
|
137
|
+
"perf",
|
|
138
|
+
"build",
|
|
139
|
+
"ci",
|
|
140
|
+
"docs",
|
|
141
|
+
"style",
|
|
142
|
+
"refactor",
|
|
143
|
+
"test",
|
|
144
|
+
]
|
|
145
|
+
other_allowed_tags = ["chore"]
|
|
146
|
+
default_bump_level = 0
|
|
147
|
+
parse_squash_commits = true
|
|
148
|
+
ignore_merge_commits = true
|
|
149
|
+
|
|
150
|
+
[dependency-groups]
|
|
151
|
+
dev = [
|
|
152
|
+
"coverage>=7.13.4",
|
|
153
|
+
"ruff>=0.15.1",
|
|
154
|
+
"ty>=0.0.16",
|
|
155
|
+
"scipy-stubs>=1.16.3,<1.19.0",
|
|
156
|
+
"pytest-cov>=7.1.0",
|
|
157
|
+
"pytest>=9.0.2",
|
|
158
|
+
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sequence"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.3.0"
|
|
4
4
|
authors = [
|
|
5
5
|
{ name = "Xiaoliang Wu, Joaquin Chung, Alexander Kolar, Alexander Kiefer, Eugene Wang, Tian Zhong, Rajkumar Kettimuthu, Martin Suchara, Robert Hayek, Ansh Singal, Caitao Zhan", email = "czhan@anl.gov" }
|
|
6
6
|
]
|
|
@@ -19,22 +19,15 @@ classifiers = [
|
|
|
19
19
|
]
|
|
20
20
|
keywords = ["quantum", "network", "discrete", "event", "simulator"]
|
|
21
21
|
dependencies = [
|
|
22
|
-
"dash>=3.3.0",
|
|
23
|
-
"dash-bootstrap-components>=2.0.4",
|
|
24
|
-
"dash-core-components>=2.0.0",
|
|
25
|
-
"dash-cytoscape>=1.0.2",
|
|
26
|
-
"dash-html-components>=2.0.0",
|
|
27
|
-
"dash-table>=5.0.0",
|
|
28
22
|
"gmpy2>=2.2.2",
|
|
29
23
|
"graphviz>=0.21",
|
|
30
24
|
"ipywidgets>=8.1.8",
|
|
31
25
|
"jupyterlab>=4.5.0",
|
|
26
|
+
"lazy-loader>=0.6",
|
|
32
27
|
"matplotlib>=3.10.7",
|
|
33
28
|
"networkx>=3.6.1",
|
|
34
29
|
"numpy>=2.3.5",
|
|
35
30
|
"pandas>=2.3.3",
|
|
36
|
-
"plotly>=6.5.0",
|
|
37
|
-
"pytest>=9.0.2",
|
|
38
31
|
"pyyaml>=6.0.3",
|
|
39
32
|
"qutip>=5.2.2",
|
|
40
33
|
"qutip-qip>=0.4.1",
|
|
@@ -42,14 +35,14 @@ dependencies = [
|
|
|
42
35
|
"seaborn>=0.13.2",
|
|
43
36
|
"tqdm>=4.67.1",
|
|
44
37
|
"typer>=0.24.1",
|
|
45
|
-
"stim>=1.15"
|
|
38
|
+
"stim>=1.15",
|
|
46
39
|
]
|
|
47
40
|
|
|
48
41
|
[project.scripts]
|
|
49
42
|
generate-topology = "sequence.utils.config_generator_cli:app"
|
|
50
43
|
|
|
51
44
|
[build-system]
|
|
52
|
-
requires = ["uv_build>=0.11.11,<0.
|
|
45
|
+
requires = ["uv_build>=0.11.11,<0.13"]
|
|
53
46
|
build-backend = "uv_build"
|
|
54
47
|
|
|
55
48
|
[tool.uv.build-backend]
|
|
@@ -66,12 +59,78 @@ dev = [
|
|
|
66
59
|
"coverage>=7.13.4",
|
|
67
60
|
"ruff>=0.15.1",
|
|
68
61
|
"ty>=0.0.16",
|
|
69
|
-
"
|
|
70
|
-
"
|
|
62
|
+
"scipy-stubs>=1.16.3,<1.19.0",
|
|
63
|
+
"pytest-cov>=7.1.0",
|
|
64
|
+
"pytest>=9.0.2",
|
|
71
65
|
]
|
|
72
66
|
|
|
73
67
|
[project.urls]
|
|
74
68
|
Homepage = "https://github.com/sequence-toolbox/SeQUeNCe"
|
|
75
69
|
Documentation = "https://sequence-rtd-tutorial.readthedocs.io/"
|
|
76
70
|
Issues = "https://github.com/sequence-toolbox/SeQUeNCe/issues"
|
|
77
|
-
Changelog = "https://github.com/sequence-toolbox/SeQUeNCe/blob/master/CHANGELOG.md"
|
|
71
|
+
Changelog = "https://github.com/sequence-toolbox/SeQUeNCe/blob/master/CHANGELOG.md"
|
|
72
|
+
|
|
73
|
+
[tool.semantic_release]
|
|
74
|
+
build_command = """
|
|
75
|
+
python -m pip install "uv>=0.11,<0.12"
|
|
76
|
+
uv lock --upgrade-package "$PACKAGE_NAME"
|
|
77
|
+
git add uv.lock
|
|
78
|
+
"""
|
|
79
|
+
assets = ["uv.lock"]
|
|
80
|
+
version_toml = ["pyproject.toml:project.version"]
|
|
81
|
+
commit_message = "{version}\n\nAutomatically generated by python-semantic-release"
|
|
82
|
+
commit_parser = "conventional"
|
|
83
|
+
logging_use_named_masks = false
|
|
84
|
+
major_on_zero = true
|
|
85
|
+
allow_zero_version = false
|
|
86
|
+
no_git_verify = false
|
|
87
|
+
tag_format = "v{version}"
|
|
88
|
+
add_partial_tags = false
|
|
89
|
+
|
|
90
|
+
[tool.semantic_release.branches.main]
|
|
91
|
+
match = "master"
|
|
92
|
+
|
|
93
|
+
[tool.semantic_release.changelog]
|
|
94
|
+
changelog_file = "CHANGELOG.md"
|
|
95
|
+
exclude_commit_patterns = []
|
|
96
|
+
mode = "update"
|
|
97
|
+
insertion_flag = "<!-- version list -->"
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
[tool.semantic_release.changelog.default_templates]
|
|
101
|
+
changelog_file = "CHANGELOG.md"
|
|
102
|
+
output_format = "md"
|
|
103
|
+
mask_initial_release = true
|
|
104
|
+
|
|
105
|
+
[tool.semantic_release.changelog.environment]
|
|
106
|
+
block_start_string = "{%"
|
|
107
|
+
block_end_string = "%}"
|
|
108
|
+
variable_start_string = "{{"
|
|
109
|
+
variable_end_string = "}}"
|
|
110
|
+
comment_start_string = "{#"
|
|
111
|
+
comment_end_string = "#}"
|
|
112
|
+
trim_blocks = true
|
|
113
|
+
lstrip_blocks = true
|
|
114
|
+
newline_sequence = "\n"
|
|
115
|
+
keep_trailing_newline = true
|
|
116
|
+
extensions = []
|
|
117
|
+
autoescape = false
|
|
118
|
+
|
|
119
|
+
[tool.semantic_release.commit_parser_options]
|
|
120
|
+
minor_tags = ["feat"]
|
|
121
|
+
patch_tags = [
|
|
122
|
+
"fix",
|
|
123
|
+
"docs",
|
|
124
|
+
"test",
|
|
125
|
+
"ci",
|
|
126
|
+
"refactor",
|
|
127
|
+
"perf",
|
|
128
|
+
"chore",
|
|
129
|
+
"revert",
|
|
130
|
+
]
|
|
131
|
+
allowed_tags = ["feat", "fix", "perf", "build", "ci", "docs", "style", "refactor", "test"]
|
|
132
|
+
other_allowed_tags = ["chore"]
|
|
133
|
+
|
|
134
|
+
default_bump_level = 0
|
|
135
|
+
parse_squash_commits = true
|
|
136
|
+
ignore_merge_commits = true
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""SeQUeNCe Quantum Network Simulator. Documentation is provided at https://sequence-rtd-tutorial.readthedocs.io/stable/index.html
|
|
2
|
+
|
|
3
|
+
Example usage:
|
|
4
|
+
```
|
|
5
|
+
import sequence as sq
|
|
6
|
+
timeline = sq.Timeline()
|
|
7
|
+
memory = sq.Memory(...)
|
|
8
|
+
```
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
import lazy_loader as lazy
|
|
14
|
+
|
|
15
|
+
__getattr__, __dir__, __all__ = lazy.attach_stub(__name__, __file__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def read_version_from_pyproject() -> str:
|
|
19
|
+
"""Read the project version from a source checkout."""
|
|
20
|
+
pyproject = Path(__file__).resolve().parent.parent / "pyproject.toml"
|
|
21
|
+
if not pyproject.exists():
|
|
22
|
+
return "unknown"
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
import tomllib
|
|
26
|
+
|
|
27
|
+
with pyproject.open("rb") as file:
|
|
28
|
+
return tomllib.load(file)["project"]["version"]
|
|
29
|
+
except (ImportError, KeyError, OSError, TypeError):
|
|
30
|
+
return "unknown"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
__version__ = read_version_from_pyproject()
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
from . import (
|
|
2
|
+
app as app,
|
|
3
|
+
components as components,
|
|
4
|
+
constants as constants,
|
|
5
|
+
entanglement_management as entanglement_management,
|
|
6
|
+
kernel as kernel,
|
|
7
|
+
network_management as network_management,
|
|
8
|
+
qkd as qkd,
|
|
9
|
+
resource_management as resource_management,
|
|
10
|
+
topology as topology,
|
|
11
|
+
utils as utils,
|
|
12
|
+
)
|
|
13
|
+
from .app import (
|
|
14
|
+
App as App,
|
|
15
|
+
RandomRequestApp as RandomRequestApp,
|
|
16
|
+
RequestApp as RequestApp,
|
|
17
|
+
TeleportApp as TeleportApp,
|
|
18
|
+
)
|
|
19
|
+
from .components import (
|
|
20
|
+
AbsorptiveBSM as AbsorptiveBSM,
|
|
21
|
+
AbsorptiveMemory as AbsorptiveMemory,
|
|
22
|
+
BSM as BSM,
|
|
23
|
+
BeamSplitter as BeamSplitter,
|
|
24
|
+
Circuit as Circuit,
|
|
25
|
+
ClassicalChannel as ClassicalChannel,
|
|
26
|
+
Detector as Detector,
|
|
27
|
+
DownConversionProtocol as DownConversionProtocol,
|
|
28
|
+
EmittingProtocol as EmittingProtocol,
|
|
29
|
+
FiberStretcher as FiberStretcher,
|
|
30
|
+
FockBeamSplitter as FockBeamSplitter,
|
|
31
|
+
FockBeamSplitter2 as FockBeamSplitter2,
|
|
32
|
+
FockDetector as FockDetector,
|
|
33
|
+
Interferometer as Interferometer,
|
|
34
|
+
LightSource as LightSource,
|
|
35
|
+
Memory as Memory,
|
|
36
|
+
MemoryArray as MemoryArray,
|
|
37
|
+
MemoryWithRandomCoherenceTime as MemoryWithRandomCoherenceTime,
|
|
38
|
+
Mirror as Mirror,
|
|
39
|
+
OpticalChannel as OpticalChannel,
|
|
40
|
+
Photon as Photon,
|
|
41
|
+
PolarizationBSM as PolarizationBSM,
|
|
42
|
+
QSDetector as QSDetector,
|
|
43
|
+
QSDetectorFockDirect as QSDetectorFockDirect,
|
|
44
|
+
QSDetectorFockInterference as QSDetectorFockInterference,
|
|
45
|
+
QSDetectorPolarization as QSDetectorPolarization,
|
|
46
|
+
QSDetectorTimeBin as QSDetectorTimeBin,
|
|
47
|
+
QuantumChannel as QuantumChannel,
|
|
48
|
+
SPDCLens as SPDCLens,
|
|
49
|
+
SPDCSource as SPDCSource,
|
|
50
|
+
ShellBSM as ShellBSM,
|
|
51
|
+
SingleAtomBSM as SingleAtomBSM,
|
|
52
|
+
SingleHeraldedBSM as SingleHeraldedBSM,
|
|
53
|
+
Switch as Switch,
|
|
54
|
+
TimeBinBSM as TimeBinBSM,
|
|
55
|
+
Transducer as Transducer,
|
|
56
|
+
Transmon as Transmon,
|
|
57
|
+
UpConversionProtocol as UpConversionProtocol,
|
|
58
|
+
make_bsm as make_bsm,
|
|
59
|
+
)
|
|
60
|
+
from .entanglement_management import (
|
|
61
|
+
BBPSSW_BDS as BBPSSW_BDS,
|
|
62
|
+
BBPSSWCircuit as BBPSSWCircuit,
|
|
63
|
+
BBPSSWMessage as BBPSSWMessage,
|
|
64
|
+
BBPSSWMsgType as BBPSSWMsgType,
|
|
65
|
+
BarretKokA as BarretKokA,
|
|
66
|
+
BarretKokB as BarretKokB,
|
|
67
|
+
DEJMPS_BDS as DEJMPS_BDS,
|
|
68
|
+
EntanglementGenerationA as EntanglementGenerationA,
|
|
69
|
+
EntanglementGenerationB as EntanglementGenerationB,
|
|
70
|
+
EntanglementGenerationMessage as EntanglementGenerationMessage,
|
|
71
|
+
EntanglementProtocol as EntanglementProtocol,
|
|
72
|
+
EntanglementSwappingA as EntanglementSwappingA,
|
|
73
|
+
EntanglementSwappingA_BDS as EntanglementSwappingA_BDS,
|
|
74
|
+
EntanglementSwappingA_Circuit as EntanglementSwappingA_Circuit,
|
|
75
|
+
EntanglementSwappingB as EntanglementSwappingB,
|
|
76
|
+
EntanglementSwappingB_BDS as EntanglementSwappingB_BDS,
|
|
77
|
+
EntanglementSwappingB_Circuit as EntanglementSwappingB_Circuit,
|
|
78
|
+
EntanglementSwappingMessage as EntanglementSwappingMessage,
|
|
79
|
+
GenerationMsgType as GenerationMsgType,
|
|
80
|
+
PurificationProtocol as PurificationProtocol,
|
|
81
|
+
SingleHeraldedA as SingleHeraldedA,
|
|
82
|
+
SingleHeraldedB as SingleHeraldedB,
|
|
83
|
+
SwappingMsgType as SwappingMsgType,
|
|
84
|
+
TeleportMessage as TeleportMessage,
|
|
85
|
+
TeleportMsgType as TeleportMsgType,
|
|
86
|
+
TeleportProtocol as TeleportProtocol,
|
|
87
|
+
)
|
|
88
|
+
from .kernel import (
|
|
89
|
+
BellDiagonalState as BellDiagonalState,
|
|
90
|
+
ClassicalEntity as ClassicalEntity,
|
|
91
|
+
DensityState as DensityState,
|
|
92
|
+
Entity as Entity,
|
|
93
|
+
Event as Event,
|
|
94
|
+
EventList as EventList,
|
|
95
|
+
FreeQuantumState as FreeQuantumState,
|
|
96
|
+
KetState as KetState,
|
|
97
|
+
Process as Process,
|
|
98
|
+
QuantumManager as QuantumManager,
|
|
99
|
+
QuantumManagerBellDiagonal as QuantumManagerBellDiagonal,
|
|
100
|
+
QuantumManagerDensity as QuantumManagerDensity,
|
|
101
|
+
QuantumManagerDensityFock as QuantumManagerDensityFock,
|
|
102
|
+
QuantumManagerKet as QuantumManagerKet,
|
|
103
|
+
QuantumManagerStabilizer as QuantumManagerStabilizer,
|
|
104
|
+
StabilizerState as StabilizerState,
|
|
105
|
+
State as State,
|
|
106
|
+
Timeline as Timeline,
|
|
107
|
+
)
|
|
108
|
+
from .message import Message as Message
|
|
109
|
+
from .network_management import (
|
|
110
|
+
DistributedNetworkManager as DistributedNetworkManager,
|
|
111
|
+
DistributedRoutingProtocol as DistributedRoutingProtocol,
|
|
112
|
+
ForwardingMessage as ForwardingMessage,
|
|
113
|
+
ForwardingMessageType as ForwardingMessageType,
|
|
114
|
+
ForwardingProtocol as ForwardingProtocol,
|
|
115
|
+
MemoryTimeCard as MemoryTimeCard,
|
|
116
|
+
NetworkManager as NetworkManager,
|
|
117
|
+
NetworkManagerMessage as NetworkManagerMessage,
|
|
118
|
+
NetworkManagerMsgType as NetworkManagerMsgType,
|
|
119
|
+
QCap as QCap,
|
|
120
|
+
RSVPMessage as RSVPMessage,
|
|
121
|
+
RSVPMsgType as RSVPMsgType,
|
|
122
|
+
RSVPProtocol as RSVPProtocol,
|
|
123
|
+
Reservation as Reservation,
|
|
124
|
+
RoutingProtocol as RoutingProtocol,
|
|
125
|
+
StaticRoutingProtocol as StaticRoutingProtocol,
|
|
126
|
+
)
|
|
127
|
+
from .protocol import Protocol as Protocol, StackProtocol as StackProtocol
|
|
128
|
+
from .qkd import (
|
|
129
|
+
BB84 as BB84,
|
|
130
|
+
BB84Message as BB84Message,
|
|
131
|
+
BB84MsgType as BB84MsgType,
|
|
132
|
+
Cascade as Cascade,
|
|
133
|
+
CascadeMessage as CascadeMessage,
|
|
134
|
+
CascadeMsgType as CascadeMsgType,
|
|
135
|
+
pair_bb84_protocols as pair_bb84_protocols,
|
|
136
|
+
pair_cascade_protocols as pair_cascade_protocols,
|
|
137
|
+
)
|
|
138
|
+
from .resource_management import (
|
|
139
|
+
MemoryInfo as MemoryInfo,
|
|
140
|
+
MemoryManager as MemoryManager,
|
|
141
|
+
ResourceManager as ResourceManager,
|
|
142
|
+
ResourceManagerMessage as ResourceManagerMessage,
|
|
143
|
+
ResourceManagerMsgType as ResourceManagerMsgType,
|
|
144
|
+
Rule as Rule,
|
|
145
|
+
RuleManager as RuleManager,
|
|
146
|
+
)
|
|
147
|
+
from .topology import (
|
|
148
|
+
BSMNode as BSMNode,
|
|
149
|
+
ClassicalNode as ClassicalNode,
|
|
150
|
+
DQCNetTopo as DQCNetTopo,
|
|
151
|
+
DQCNode as DQCNode,
|
|
152
|
+
Node as Node,
|
|
153
|
+
QKDNode as QKDNode,
|
|
154
|
+
QKDTopo as QKDTopo,
|
|
155
|
+
QuantumRouter as QuantumRouter,
|
|
156
|
+
RouterNetTopo as RouterNetTopo,
|
|
157
|
+
Topology as Topology,
|
|
158
|
+
)
|
|
159
|
+
from .utils import (
|
|
160
|
+
encoding as encoding,
|
|
161
|
+
graphs as graphs,
|
|
162
|
+
log as log,
|
|
163
|
+
metrics as metrics,
|
|
164
|
+
nx_converter as nx_converter,
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
__version__: str
|
|
168
|
+
|
|
169
|
+
def read_version_from_pyproject() -> str: ...
|