You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/README.md
+29-62Lines changed: 29 additions & 62 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,6 @@
1
1
# Q-CTRL Open Controls
2
2
3
-
Q-CTRL Open Controls is an open-source Python package that makes it easy to
4
-
create and deploy established error-robust quantum control protocols from the
5
-
open literature. The aim of the package is to be the most comprehensive library
6
-
of published and tested quantum control techniques developed by the community,
7
-
with easy to use export functions allowing users to deploy these controls on:
3
+
Q-CTRL Open Controls is an open-source Python package that makes it easy to create and deploy established error-robust quantum control protocols from the open literature. The aim of the package is to be the most comprehensive library of published and tested quantum control techniques developed by the community, with easy to use export functions allowing users to deploy these controls on:
8
4
9
5
- Custom quantum hardware
10
6
- Publicly available cloud quantum computers
@@ -14,23 +10,13 @@ Anyone interested in quantum control is welcome to contribute to this project.
14
10
15
11
## Installation
16
12
17
-
Q-CTRL Open Controls can be installed through `pip` or from source. We recommend
18
-
the `pip` distribution to get the most recent stable release. If you want the
19
-
latest features, then install from source.
13
+
Q-CTRL Open Controls can be installed through `pip` or from source. We recommend the `pip` distribution to get the most recent stable release. If you want the latest features, then install from source.
20
14
21
15
### Requirements
22
16
23
-
To use Q-CTRL Open Controls you will need an installation of Python (>=3.8, <3.12).
24
-
We recommend using the [Anaconda](https://www.anaconda.com/) distribution of
25
-
Python. Anaconda includes standard numerical and scientific Python packages
26
-
which are optimally compiled for your machine. Follow the [Anaconda
27
-
Installation](https://docs.anaconda.com/anaconda/install/) instructions and
28
-
consult the [Anaconda User
29
-
guide](https://docs.anaconda.com/anaconda/user-guide/) to get started.
17
+
To use Q-CTRL Open Controls you will need an installation of Python (>=3.8, <3.12). We recommend using the [Anaconda](https://www.anaconda.com/) distribution of Python. Anaconda includes standard numerical and scientific Python packages which are optimally compiled for your machine. Follow the [Anaconda Installation](https://docs.anaconda.com/anaconda/install/) instructions and consult the [Anaconda User guide](https://docs.anaconda.com/anaconda/user-guide/) to get started.
30
18
31
-
We use interactive jupyter notebooks for our usage examples. The Anaconda
32
-
python distribution comes with editors for these files, or you can [install the
33
-
jupyter notebook editor](https://jupyter.org/install) on its own.
19
+
We use interactive jupyter notebooks for our usage examples. The Anaconda python distribution comes with editors for these files, or you can [install the jupyter notebook editor](https://jupyter.org/install) on its own.
34
20
35
21
### Using PyPi
36
22
@@ -40,11 +26,9 @@ Use `pip` to install the latest version of Q-CTRL Open Controls.
40
26
pip install qctrl-open-controls
41
27
```
42
28
43
-
### From Source
29
+
### From source
44
30
45
-
The source code is hosted on
46
-
[GitHub](https://github.com/qctrl/open-controls). The repository can be
47
-
cloned using
31
+
The source code is hosted on [GitHub](https://github.com/qctrl/open-controls). The repository can be cloned using
@@ -54,9 +38,7 @@ Once the clone is complete, you have two options:
54
38
55
39
1. Using Poetry
56
40
57
-
Follow the instructions from the
58
-
[Poetry documentation](https://python-poetry.org/docs/#installation) to
59
-
install Poetry.
41
+
Follow the instructions from the [Poetry documentation](https://python-poetry.org/docs/#installation) to install Poetry.
60
42
61
43
After you have installed Poetry, use:
62
44
@@ -75,61 +57,56 @@ Once the clone is complete, you have two options:
75
57
rm requirements.txt
76
58
```
77
59
78
-
Once installed via one of the above methods, test your installation by running
79
-
`pytest` in the `open-controls` directory.
60
+
Once installed via one of the above methods, test your installation by running `pytest` in the `open-controls` directory.
80
61
81
62
```shell
82
63
pytest
83
64
```
84
65
85
66
## Usage
86
67
87
-
See the [Jupyter notebooks examples](../examples) and the
88
-
[Q-CTRL Open Controls reference documentation](https://docs.q-ctrl.com/open-controls/references/qctrl-open-controls/).
68
+
See the [Jupyter notebooks examples](../examples) and the [Q-CTRL Open Controls reference documentation](https://docs.q-ctrl.com/open-controls/references/qctrl-open-controls/).
89
69
90
70
## Contributing
91
71
92
72
For general guidelines, see [Contributing](https://code.q-ctrl.com/contributing).
93
73
94
74
### Building documentation
95
75
96
-
Documentation generation relies on [Sphinx](http://www.sphinx-doc.org).
97
-
The reference documentation for the latest released version of
Documentation generation relies on [Sphinx](http://www.sphinx-doc.org). The reference documentation for the latest released version of Q-CTRL Open Controls is hosted online in the [Q-CTRL documentation website](https://docs.q-ctrl.com/open-controls/references/qctrl-open-controls/).
100
77
101
78
To build it locally:
102
79
103
80
1. Ensure you have used one of the install options above.
104
81
1. Execute the make file from the docs directory:
105
82
106
-
If using Poetry:
83
+
If using Poetry:
107
84
108
-
```bash
109
-
cd docs
110
-
poetry run make html
111
-
```
85
+
```bash
86
+
cd docs
87
+
poetry run make html
88
+
```
112
89
113
-
If using pip:
90
+
If using pip:
114
91
115
-
```bash
116
-
cd docs
117
-
# Activate your virtual environment if required
118
-
make html
119
-
```
92
+
```bash
93
+
cd docs
94
+
# Activate your virtual environment if required
95
+
make html
96
+
```
120
97
121
98
The generated HTML will appear in the `docs/_build/html` directory.
122
99
123
100
### Formatting, linting, and static analysis
124
101
125
102
Code is formatted, linted and checked using the following tools:
These checks are run on all code merged to master, and may also be run locally from the open-controls
132
-
directory:
109
+
These checks are run on all code merged to master, and may also be run locally from the open-controls directory:
133
110
134
111
```shell
135
112
pip install black isort mypy pylint
@@ -139,39 +116,29 @@ black --check .
139
116
pylint .
140
117
```
141
118
142
-
Note that you can speed up the execution of Pylint by running it in the parallel mode with the `-j`
143
-
option: `pylint -j 0 .`.
144
-
See the [official documentation](https://pylint.readthedocs.io/en/latest/user_guide/usage/run.html#parallel-execution)
145
-
for details.
119
+
Note that you can speed up the execution of Pylint by running it in the parallel mode with the `-j` option: `pylint -j 0 .`. See the [official documentation](https://pylint.readthedocs.io/en/latest/user_guide/usage/run.html#parallel-execution) for details.
146
120
147
-
Black and isort, in addition to checking code, can also automatically apply fixes. To fix all code
148
-
in the open-controls tree, run:
121
+
Black and isort, in addition to checking code, can also automatically apply fixes. To fix all code in the open-controls tree, run:
149
122
150
123
```shell
151
124
isort
152
125
black .
153
126
```
154
127
155
-
You can also run these checks only in the files that you changed by using the
156
-
`pre-commit` tool. To use it, run:
128
+
You can also run these checks only in the files that you changed by using the `pre-commit` tool. To use it, run:
157
129
158
130
```shell
159
131
pip install pre-commit
160
132
pre-commit install
161
133
```
162
134
163
-
With this, the checks will run every time that you commit code with
164
-
`git commit`. If you prefer to run the checks every time that you push changes
165
-
instead of when you commit changes, use `pre-commit install -t pre-push`.
135
+
With this, the checks will run every time that you commit code with `git commit`. If you prefer to run the checks every time that you push changes instead of when you commit changes, use `pre-commit install -t pre-push`.
166
136
167
-
If you no longer wish to use `pre-commit`, you can uninstall it by running
168
-
`pre-commit uninstall`in the `open-controls` directory (or by running
169
-
`pre-commit uninstall -t pre-push`, if you used the pre-push hooks).
137
+
If you no longer wish to use `pre-commit`, you can uninstall it by running `pre-commit uninstall` in the `open-controls` directory (or by running `pre-commit uninstall -t pre-push`, if you used the pre-push hooks).
Copy file name to clipboardExpand all lines: README.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,6 @@
1
1
# Q-CTRL Open Controls
2
2
3
-
Q-CTRL Open Controls is an open-source Python package that makes it easy to
4
-
create and deploy established error-robust quantum control protocols from the
5
-
open literature. The aim of the package is to be the most comprehensive library
6
-
of published and tested quantum control techniques developed by the community,
7
-
with easy to use export functions allowing users to deploy these controls on:
3
+
Q-CTRL Open Controls is an open-source Python package that makes it easy to create and deploy established error-robust quantum control protocols from the open literature. The aim of the package is to be the most comprehensive library of published and tested quantum control techniques developed by the community, with easy to use export functions allowing users to deploy these controls on:
0 commit comments