Metadata-Version: 2.1
Name: quantify-scheduler
Version: 0.2.0
Summary: UNKNOWN
Home-page: https://gitlab.com/quantify-os/quantify-scheduler
Author: The Quantify consortium consisting of Qblox and Orange Quantum Systems
License: BSD-4 license
Keywords: quantify-scheduler
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: columnar
Requires-Dist: matplotlib
Requires-Dist: plotly
Requires-Dist: jsonschema
Requires-Dist: quantify-core (>=0.2.0)
Requires-Dist: qblox-instruments (>=0.2.1)

==================
quantify-scheduler
==================

.. image:: https://gitlab.com/quantify-os/quantify-scheduler/badges/develop/pipeline.svg
    :target: https://gitlab.com/quantify-os/quantify-scheduler/pipelines/

.. image:: https://img.shields.io/pypi/v/quantify-scheduler.svg
    :target: https://pypi.org/pypi/quantify-scheduler

.. image:: https://gitlab.com/quantify-os/quantify-scheduler/badges/develop/coverage.svg
    :target: https://gitlab.com/quantify-os/quantify-scheduler/pipelines/

.. image:: https://readthedocs.com/projects/quantify-quantify-scheduler/badge/?version=latest&token=ed6fdbf228e1369eacbeafdbad464f6de927e5dfb3a8e482ad0adcbea76fe74c
    :target: https://quantify-quantify-scheduler.readthedocs-hosted.com/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://img.shields.io/badge/License-BSD%204--Clause-blue.svg
    :target: https://gitlab.com/quantify-os/quantify-scheduler/-/blob/master/LICENSE



Quantify is a python based data acquisition platform focused on Quantum Computing and solid-state physics experiments.
It is build on top of `QCoDeS <https://qcodes.github.io/Qcodes/>`_ and is a spiritual successor of `PycQED <https://github.com/DiCarloLab-Delft/PycQED_py3>`_.
Quantify currently consists of `quantify-core <https://pypi.org/project/quantify-core/>`_ and `quantify-scheduler <https://pypi.org/project/quantify-scheduler/>`_.

Quantify-scheduler is a module for writing quantum programs. It features a unique hybrid control model allowing quantum gate- and pulse-level descriptions to be combined in a clearly defined and hardware-agnostic way. Quantify-scheduler is designed to allow experimentalists to easily define complex experiments, and produces synchronized pulse schedules to be distributed to control hardware.

.. caution::

    This is a pre-release **alpha version**, major changes are expected. Use for testing & development purposes only.

About
--------

Quantify-scheduler is maintained by The Quantify consortium consisting of Qblox and Orange Quantum Systems.

.. |_| unicode:: 0xA0
   :trim:


.. figure:: https://cdn.sanity.io/images/ostxzp7d/production/f9ab429fc72aea1b31c4b2c7fab5e378b67d75c3-132x31.svg
    :width: 200px
    :target: https://qblox.com
    :align: left

.. figure:: https://orangeqs.com/OQS_logo_with_text.svg
    :width: 200px
    :target: https://orangeqs.com
    :align: left

|_|


|_|

The software is free to use under the conditions specified in the license.


--------------------------


=======
Credits
=======

Developers
----------------

* Adriaan Rol <adriaan@orangeqs.com>
* Callum Attryde <cattryde@qblox.com>
* Jules van Oven <jules@qblox.com>
* Victor Negirneac <vnegirneac@qblox.com>
* Thomas Reynders <thomas@orangeqs.com>

Contributors
------------

None yet. Why not be the first?


===========
Changelog
===========

0.2.0 Hybrid pulse- gate-level control model (2021-01-14)
-------------------------------------------------------------------

* Major refactor of the scheduler resource code enabling hybrid pulse- gate-level control.
* Moved quantify.scheduler.types.Resource class to a separate quantify.scheduler.resources module.
* Adds a BasebandClockResource class within the newly created quantify.scheduler.resources module.
* Moved QRM and QCM related classes to the quantify.scheduler.backends.pulsar_backend module.
* In quantify.scheduler.compilation, rename of function '_determine_absolute_timing' to 'determine_absolute_timing'. Argument changed from clock_unit to time_unit.
* In quantify.scheduler.compilation, rename of function '_add_pulse_information_transmon' to 'add_pulse_information_transmon'.
* Added ramp waveform in quantify.scheduler.waveforms.
* Added schemas for operation and transmon_cfg.
* Added a basic hybrid visualisation for pulses using new addressing scheme.
* Operations check whether an operation is a valid gate or pulse.
* Refactor of visualization module. Moved quantify.scheduler.backends.visualization to quantify.scheduler.visualization module. Expect code breaking reorganization and changes to function names.
* Pulsar backend version now checks for QCM and QRM drivers version 0.1.2.

Merged branches and closed issues
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* fix(pulse_scheme): Add tickformatstops for x-axis using SI-unit 'seconds'. Closes #39. (!39)
* Resolve "y-axis label is broken in plotly visualization after resources-refactor". Closes #45. (!38)
* Resources refactor (!28, !29, !30)
* Hybrid visualisation for pulses and circuit gate operations. Closes #22 and #6. (!27)
* Support Pulsar parameterisation from scheduler. Support feature for #29. (!2)
* Operation properties to check if an operation is a valid gate or pulse. Closes #28 (!25)
* Visualisation refactor. Closes #26. (!22)
* Windows job (!20)
* Changed Pulsar backend version check from 0.1.1 to 0.1.2. (!21)



0.1.0 (2020-10-21)
------------------
* Refactored scheduler functionality from quantify-core into quantify-scheduler
* Support for modifying Pulsar params via the sequencer #54 (!2)
* Simplification of compilation through `qcompile` (!1)
* Qubit resources can be parameters of gates #11 (!4)
* Circuit diagram visualization of operations without no pulse info raises exception #5 (!5)
* Pulsar backend verifies driver and firmware versions of hardware #14 (!6)
* Sequencer renamed to scheduler #15 (!7)
* Documentation update to reflect refactor #8 (!8)
* Refactor circuit diagram to be more usable !10 (relates to #6)
* Unify API docstrings to adhere to NumpyDocstring format !11
* Changes to addressing of where a pulse is played !9 (#10)
* Renamed doc -docs folder for consistency #18 (!12)
* Moved test folder outside of project #19 (!14)
* Add copyright notices and cleanup documenation #21 (!13)
* Add installation tip for plotly dependency in combination with jupyter #24 (!15)

.. note::

    * # denotes a closed issue.
    * ! denotes a merge request.

