Skip to content

Prepare move to MQT organization #385

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
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
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ body:
**Thank you for wanting to report a bug for this project!**

Verify first that your issue is not [already reported on GitHub](https://github.com/cda-tum/mqt-predictor/search?q=is%3Aissue&type=issues).
Verify first that your issue is not [already reported on GitHub](https://github.com/munich-quantum-toolkit/predictor/search?q=is%3Aissue&type=issues).

If you have general questions, please consider [starting a discussion](https://github.com/cda-tum/mqt-predictor/discussions).
If you have general questions, please consider [starting a discussion](https://github.com/munich-quantum-toolkit/predictor/discussions).
- type: textarea
attributes:
label: Environment information
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ body:
**Thank you for wanting to suggest a feature for this project!**

Verify first that your idea is not [already requested on GitHub](https://github.com/cda-tum/mqt-predictor/search?q=is%3Aissue&type=issues).
Verify first that your idea is not [already requested on GitHub](https://github.com/munich-quantum-toolkit/predictor/search?q=is%3Aissue&type=issues).

- type: textarea
attributes:
Expand Down
10 changes: 5 additions & 5 deletions .github/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ We value contributions from people with all levels of experience.
In particular if this is your first pull request not everything has to be perfect.
We will guide you through the process.

We use GitHub to `host code <https://github.com/cda-tum/mqt-predictor>`_, to `track issues and feature requests <https://github.com/cda-tum/mqt-predictor/issues>`_, as well as accept `pull requests <https://github.com/cda-tum/mqt-predictor/pulls>`_.
We use GitHub to `host code <https://github.com/munich-quantum-toolkit/predictor>`_, to `track issues and feature requests <https://github.com/munich-quantum-toolkit/predictor/issues>`_, as well as accept `pull requests <https://github.com/munich-quantum-toolkit/predictor/pulls>`_.
See https://docs.github.com/en/get-started/quickstart for a general introduction to working with GitHub and contributing to projects.

Types of Contributions
Expand All @@ -15,16 +15,16 @@ Types of Contributions
You can contribute in several ways:

- 🐛 Report Bugs
Report bugs at https://github.com/cda-tum/mqt-predictor/issues using the *🐛 Bug report* issue template. Please make sure to fill out all relevant information in the respective issue form.
Report bugs at https://github.com/munich-quantum-toolkit/predictor/issues using the *🐛 Bug report* issue template. Please make sure to fill out all relevant information in the respective issue form.

- 🐛 Fix Bugs
Look through the `GitHub Issues <https://github.com/cda-tum/mqt-predictor/issues>`_ for bugs. Anything tagged with "bug" is open to whoever wants to try and fix it.
Look through the `GitHub Issues <https://github.com/munich-quantum-toolkit/predictor/issues>`_ for bugs. Anything tagged with "bug" is open to whoever wants to try and fix it.

- ✨ Propose New Features
Propose new features at https://github.com/cda-tum/mqt-predictor/issues using the *✨ Feature request* issue template. Please make sure to fill out all relevant information in the respective issue form.
Propose new features at https://github.com/munich-quantum-toolkit/predictor/issues using the *✨ Feature request* issue template. Please make sure to fill out all relevant information in the respective issue form.

- ✨ Implement New Features
Look through the `GitHub Issues <https://github.com/cda-tum/mqt-predictor/issues>`_ for features. Anything tagged with "feature" is open to whoever wants to implement it. We highly appreciate external contributions to the project.
Look through the `GitHub Issues <https://github.com/munich-quantum-toolkit/predictor/issues>`_ for features. Anything tagged with "feature" is open to whoever wants to implement it. We highly appreciate external contributions to the project.

- 📝 Write Documentation
MQT Predictor could always use some more `documentation <https://mqt.readthedocs.io/projects/predictor>`_, and we appreciate any help with that.
Expand Down
4 changes: 2 additions & 2 deletions .github/support.rst
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Support
=======

If you are stuck with a problem using MQT Predictor or have questions, please do get in touch at our `Issues <https://github.com/cda-tum/mqt-predictor/issues>`_ or `Discussions <https://github.com/cda-tum/mqt-predictor/discussions>`_. We'd love to help.
If you are stuck with a problem using MQT Predictor or have questions, please do get in touch at our `Issues <https://github.com/munich-quantum-toolkit/predictor/issues>`_ or `Discussions <https://github.com/munich-quantum-toolkit/predictor/discussions>`_. We'd love to help.

You can save time by following this procedure when reporting a problem:

- Do try to solve the problem on your own first. Make sure to consult the `Documentation <https://mqt.readthedocs.io/projects/predictor>`_.
- Search through past `Issues <https://github.com/cda-tum/mqt-predictor/issues>`_ to see if someone else already had the same problem.
- Search through past `Issues <https://github.com/munich-quantum-toolkit/predictor/issues>`_ to see if someone else already had the same problem.
- Before filing a bug report, try to create a minimal working example (MWE) that reproduces the problem. It's much easier to identify the cause for the problem if a handful of lines suffice to show that something isn't working.

You can also always reach us at `[email protected] <mailto:[email protected]>`_.
32 changes: 32 additions & 0 deletions .license-tools-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"author": {
"name": "Chair for Design Automation, TUM\nCopyright (c) 2025 Munich Quantum Software Company GmbH",
"years": [2023, 2025]
},
"force_author": true,
"license": "MIT",
"title": false,
"include": ["**/*"],
"style_override_for_suffix": {
".pyi": "DOCSTRING_STYLE",
".in": "POUND_STYLE",
".mlir": "SLASH_STYLE",
".td": "SLASH_STYLE",
".yaml": "POUND_STYLE",
".toml": "POUND_STYLE"
},
"exclude": [
"^\\.[^/]+",
"/\\.[^/]+",
".*\\.md",
".*\\.bib",
".*\\.css",
".*\\.ipynb",
".*\\.json",
".*\\.html",
"uv\\.lock",
".*\\.rst",
"py\\.typed",
".*build.*"
]
}
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ repos:
- id: blacken-docs
additional_dependencies: [black==24.*]

# Check for license headers
- repo: https://github.com/emzeat/mz-lictools
rev: v2.7.0
hooks:
- id: license-tools

# Format configuration files with prettier
- repo: https://github.com/rbubley/mirrors-prettier
rev: v3.5.3
Expand Down
File renamed without changes.
36 changes: 27 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
[![PyPI](https://img.shields.io/pypi/v/mqt.predictor?logo=pypi&style=flat-square)](https://pypi.org/project/mqt.predictor/)
![OS](https://img.shields.io/badge/os-linux%20%7C%20macos%20%7C%20windows-blue?style=flat-square)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)
[![CI](https://img.shields.io/github/actions/workflow/status/cda-tum/mqt-predictor/ci.yml?branch=main&style=flat-square&logo=github&label=ci)](https://github.com/cda-tum/mqt-predictor/actions/workflows/ci.yml)
[![CD](https://img.shields.io/github/actions/workflow/status/cda-tum/mqt-predictor/cd.yml?style=flat-square&logo=github&label=cd)](https://github.com/cda-tum/mqt-predictor/actions/workflows/cd.yml)
[![CI](https://img.shields.io/github/actions/workflow/status/munich-quantum-toolkit/predictor/ci.yml?branch=main&style=flat-square&logo=github&label=ci)](https://github.com/munich-quantum-toolkit/predictor/actions/workflows/ci.yml)
[![CD](https://img.shields.io/github/actions/workflow/status/munich-quantum-toolkit/predictor/cd.yml?style=flat-square&logo=github&label=cd)](https://github.com/munich-quantum-toolkit/predictor/actions/workflows/cd.yml)
[![Documentation](https://img.shields.io/readthedocs/mqt-predictor?logo=readthedocs&style=flat-square)](https://mqt.readthedocs.io/projects/predictor)
[![codecov](https://img.shields.io/codecov/c/github/cda-tum/mqt-predictor?style=flat-square&logo=codecov)](https://codecov.io/gh/cda-tum/mqt-predictor)
[![codecov](https://img.shields.io/codecov/c/github/munich-quantum-toolkit/predictor?style=flat-square&logo=codecov)](https://codecov.io/gh/munich-quantum-toolkit/predictor)

<p align="center">
<a href="https://mqt.readthedocs.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-banner-dark.svg" width="90%">
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-banner-light.svg" width="90%" alt="MQT Banner">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-dark.svg" width="60%">
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-light.svg" width="60%" alt="MQT Logo">
</picture>
</a>
</p>
Expand Down Expand Up @@ -41,13 +41,29 @@ For more details, please refer to:
</a>
</p>

MQT Predictor is part of the [Munich Quantum Toolkit (MQT)](https://mqt.readthedocs.io/) developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/).
## Contributors and Supporters

If you have any questions, feel free to create a [discussion](https://github.com/cda-tum/mqt-predictor/discussions) or an [issue](https://github.com/cda-tum/mqt-predictor/issues) on [GitHub](https://github.com/cda-tum/mqt-predictor).
The _[Munich Quantum Toolkit (MQT)](https://mqt.readthedocs.io)_ is developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/) and supported by the [Munich Quantum Software Company (MQSC)](https://munichquantum.software).
Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://www.munich-quantum-valley.de/research/research-areas/mqss) ecosystem, which is being developed as part of the [Munich Quantum Valley (MQV)](https://www.munich-quantum-valley.de) initiative.

<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-logo-banner-dark.svg" width="90%">
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-logo-banner-light.svg" width="90%" alt="MQT Partner Logos">
</picture>
</p>

Thank you to all the contributors who have helped make MQT Predictor a reality!

<p align="center">
<a href="https://github.com/munich-quantum-toolkit/predictor/graphs/contributors">
<img src="https://contrib.rocks/image?repo=munich-quantum-toolkit/predictor" />
</a>
</p>

## Getting Started

`mqt-predictor` is available via [PyPI](https://pypi.org/project/mqt.predictor/).
`mqt.predictor` is available via [PyPI](https://pypi.org/project/mqt.predictor/).

```console
(venv) $ pip install mqt.predictor
Expand All @@ -59,7 +75,7 @@ The following code gives an example on the usage:
from mqt.predictor import qcompile
from mqt.bench import get_benchmark

# get a benchmark circuit on algorithmic level representing the GHZ state with 5 qubits from [MQT Bench](https://github.com/cda-tum/mqt-bench)
# get a benchmark circuit on algorithmic level representing the GHZ state with 5 qubits from [MQT Bench](https://github.com/munich-quantum-toolkit/bench)
qc_uncompiled = get_benchmark(benchmark_name="ghz", level="alg", circuit_size=5)

# compile it using the MQT Predictor
Expand Down Expand Up @@ -98,6 +114,8 @@ In case you are using MQT Predictor in your work, we would be thankful if you re
}
```

---

## Acknowledgements

This project received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research
Expand Down
4 changes: 2 additions & 2 deletions docs/Compilation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@ We trained one RL model for each currently :ref:`supported quantum device <suppo

Training Data
-------------
To train the model, sufficient training data must be provided as qasm files in the `respective directory <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/rl/training_data/training_circuits>`_.
We provide the training data used for the initial performance evaluation of this framework which are stored `here <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/rl/training_data/trained_model>`_.
To train the model, sufficient training data must be provided as qasm files in the `respective directory <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/rl/training_data/training_circuits>`_.
We provide the training data used for the initial performance evaluation of this framework which are stored `here <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/rl/training_data/trained_model>`_.
2 changes: 1 addition & 1 deletion docs/DevelopmentGuide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Ready to contribute to the project? Here is how to set up a local development en
Initial Setup
#############

1. Fork the `cda-tum/mqt-predictor <https://github.com/cda-tum/mqt-predictor>`_ repository on GitHub (see https://docs.github.com/en/get-started/quickstart/fork-a-repo).
1. Fork the `munich-quantum-toolkit/predictor <https://github.com/munich-quantum-toolkit/predictor>`_ repository on GitHub (see https://docs.github.com/en/get-started/quickstart/fork-a-repo).

2. Clone your fork locally

Expand Down
4 changes: 2 additions & 2 deletions docs/DeviceSelection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@ For the evaluation of our methodology, seven supervised machine learning classif
- Naive Bayes

In our exemplary scenario, the Random Forest classifier achieved the best performance.
To play around with all the examined models, please use the `Jupyter notebook <https://github.com/cda-tum/mqt-predictor/blob/main/evaluations/supervised_ml_models/evaluation.ipynb>`_.
To play around with all the examined models, please use the `Jupyter notebook <https://github.com/munich-quantum-toolkit/predictor/blob/main/evaluations/supervised_ml_models/evaluation.ipynb>`_.

Training Data
-------------

To train the model, sufficient training data must be provided as qasm files in the `respective directory <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/ml/training_data/training_circuits>`_.
To train the model, sufficient training data must be provided as qasm files in the `respective directory <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/ml/training_data/training_circuits>`_.
We provide the training data used in the initial performance evaluation of this framework.

After the adjustment is finished, the following methods need to be called to generate the training data:
Expand Down
12 changes: 6 additions & 6 deletions docs/Usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ For that, the repository must be cloned and installed:

.. code-block::

git clone https://github.com/cda-tum/mqt-predictor.git
git clone https://github.com/munich-quantum-toolkit/predictor.git
cd mqt-predictor
pip install .

Expand All @@ -47,13 +47,13 @@ Currently, all devices supported by `MQT Bench <https://github.com/cda-tum/mqt-b
In case another device shall be considered, it can be added by using a similar format as in MQT Bench but it is not
necessary to add it in the repository since it can be directly added to the MQT Predictor framework as follows:

- Modify in `mqt/predictor/rl/predictorenv.py <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/rl/predictorenv.py>`_. the line where ``mqt.bench.devices.get_device_by_name`` is used.
- Modify in `mqt/predictor/ml/predictor.py <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/ml/predictor.py>`_. the lines where ``mqt.bench.devices.*`` are used.
- Modify in `mqt/predictor/rl/predictorenv.py <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/rl/predictorenv.py>`_. the line where ``mqt.bench.devices.get_device_by_name`` is used.
- Modify in `mqt/predictor/ml/predictor.py <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/ml/predictor.py>`_. the lines where ``mqt.bench.devices.*`` are used.
- Follow the same data format as defined in `mqt.bench.devices.device.py <https://github.com/cda-tum/mqt-bench/tree/main/src/mqt/bench/devices/device.py>`_

Second, for each supported device, a respective reinforcement learning model must be trained. This is done by running
the following command based on the training data in the form of quantum circuits provided as qasm files in
`mqt/predictor/rl/training_data/training_circuits <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/rl/training_data/training_circuits>`_:
`mqt/predictor/rl/training_data/training_circuits <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/rl/training_data/training_circuits>`_:

.. code-block:: python

Expand All @@ -66,12 +66,12 @@ the following command based on the training data in the form of quantum circuits

This will train a reinforcement learning model for the ``ibm_washington`` device with the expected fidelity as figure of merit.
Additionally to the expected fidelity, also critical depth is provided as another figure of merit.
Further figures of merit can be added in `mqt.predictor.reward.py <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/reward.py>`_.
Further figures of merit can be added in `mqt.predictor.reward.py <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/reward.py>`_.

Third, after the reinforcement learning models that are used for the respective compilations are trained, the
supervised machine learning model to predict the device selection must be trained.
This is done by first creating the necessary training data (based on the training data in the form of quantum circuits provided as qasm files in
`mqt/predictor/ml/training_data/training_circuits <https://github.com/cda-tum/mqt-predictor/tree/main/src/mqt/predictor/ml/training_data/training_circuits>`_) and then running the following command:
`mqt/predictor/ml/training_data/training_circuits <https://github.com/munich-quantum-toolkit/predictor/tree/main/src/mqt/predictor/ml/training_data/training_circuits>`_) and then running the following command:

.. code-block:: python

Expand Down
10 changes: 9 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Copyright (c) 2023 - 2025 Chair for Design Automation, TUM
# Copyright (c) 2025 Munich Quantum Software Company GmbH
# All rights reserved.
#
# SPDX-License-Identifier: MIT
#
# Licensed under the MIT License

"""Sphinx configuration file."""

from __future__ import annotations
Expand Down Expand Up @@ -118,7 +126,7 @@ def format_url(self, _e: Entry) -> HRef:
html_theme_options = {
"light_logo": "mqt_dark.png",
"dark_logo": "mqt_light.png",
"source_repository": "https://github.com/cda-tum/mqt-predictor/",
"source_repository": "https://github.com/munich-quantum-toolkit/predictor/",
"source_branch": "main",
"source_directory": "docs/",
"navigation_with_keys": True,
Expand Down
8 changes: 8 additions & 0 deletions noxfile.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Copyright (c) 2023 - 2025 Chair for Design Automation, TUM
# Copyright (c) 2025 Munich Quantum Software Company GmbH
# All rights reserved.
#
# SPDX-License-Identifier: MIT
#
# Licensed under the MIT License

"""Nox sessions."""

from __future__ import annotations
Expand Down
14 changes: 11 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Copyright (c) 2023 - 2025 Chair for Design Automation, TUM
# Copyright (c) 2025 Munich Quantum Software Company GmbH
# All rights reserved.
#
# SPDX-License-Identifier: MIT
#
# Licensed under the MIT License

[build-system]
requires = [
"setuptools>=66.1",
Expand Down Expand Up @@ -73,9 +81,9 @@ docs = [
]

[project.urls]
Homepage = "https://github.com/cda-tum/mqt-predictor"
Issues = "https://github.com/cda-tum/mqt-predictor/issues"
Discussions = "https://github.com/cda-tum/mqt-predictor/discussions"
Homepage = "https://github.com/munich-quantum-toolkit/predictor"
Issues = "https://github.com/munich-quantum-toolkit/predictor/issues"
Discussions = "https://github.com/munich-quantum-toolkit/predictor/discussions"
Research = "https://www.cda.cit.tum.de/research/quantum/"

[tool.setuptools_scm]
Expand Down
Loading
Loading