Release 0.9
Change to authenticated access for online documentation and pypi server
- Access to the online documentation and to the NetSquid python package server now requires valid user credentials for the NetSquid forum.
- Access to the package server must be explicitly granted by an administrator until the user license agreement has been finalised.
Major new features and improvements
Added a Network component
- The
Network
component holds and managesNodes
and theConnections
between them. - It supports automatic creation of
Nodes
andConnections
. - It supports connecting
Nodes
viaConnections
.
New protocol subclasses
- Added
ServiceProtocol
, an abstract subclass ofNodeProtocol
that defines an interface for specifying service requests and responses. - Added
DataNodeProtocol
, an abstract subclass ofNodeProtocol
intended for processing incoming data on ports e.g. from connections. It replaces theDataProtocol
, which has been been deprecated.
Quantum program arguments and concatenation
- Added a
qubit_mapping
parameter to a QuantumProgram constructor to allow concatenation of programs with different numbers of qubits or different qubit mappings. - Keyword arguments can now be passed through to a quantum program calling the
execute_program
method of a quantum processor.
Improved documentation
- Changes to tutorial and getting started guide based on user feedback (alpha test).
- Added an example module for simulating repeater chains.
- Added an example module that simulates a link layer protocol.
- Added walkthrough guides for all examples.
- Added table of contents and learning goals to tutorial.
Minor features and improvements
- Forwarding the input of a port is only allowed to a sub-component, and forwarding the output of a port is only allowed to a super-component.
- Added a
filter_by_type(self, value_type)
toConstraintMap
, which will return aConstrainedMapView
which has everything that is not the given type filtered out. - A
ConstrainedMapView
allows viewing the data of theConstraintMap
without changing it. - The components.fibres module has been deprecated. The standard classical and quantum channels with the appropriate fibre models can be used instead.
New package version dependencies
- The required pyDynAA version is 0.3
- Set minimum Numpy dependency to version 1.16
- Set minimum SciPy dependency to version 1.3
- Set minimum Pandas depencency to version 0.25