Skip to content

Commit

Permalink
Merge pull request Qiskit#517 from atilag/stable-0.5.3
Browse files Browse the repository at this point in the history
Stable 0.5.3
  • Loading branch information
atilag committed May 29, 2018
2 parents 29e075f + f9803b5 commit df613ef
Show file tree
Hide file tree
Showing 42 changed files with 556 additions and 220 deletions.
28 changes: 18 additions & 10 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
# Where component owners are known, add them here.
# This file defines the persons that will be assigned as reviewers for PRs that
# modify a particular file in the repo. Please note it is just a convention
# for the GitHub interface, and any member of the QISKit team can (and should!)
# review as well.

qiskit/core/* @ewinston @awcross1 @pacomf @jaygambetta @ismaelfaro
qiskit/core/simulators/* @ewinston @chriseclectic
qiskit/doc/* @ewinston @pacomf
# Real code owners.
#* @jaygambetta @ismaelfaro

qiskit/tools/qcvv/* @chriseclectic
qiskit/tools/qi/* @chriseclectic
qiskit/tools/apps/* @antoniomezzacapo
# Generic rule for the repository. This pattern is actually the one that will
# apply unless specialized by a later rule
* @ajavadia @ewinston @atilag @delapuente @diego-plan9

# other repository
# Individual folders on root directory
/cmake @ajavadia @atilag @diego-plan9
/doc @jaygambetta @ajavadia @atilag @diego-plan9
/examples @jaygambetta @ajavadia @atilag @diego-plan9
/src @chriseclectic @ajavadia @atilag @diego-plan9

qiskit-tutorial @ewinston @awcross1 @jaygambetta @antoniomezzacapo
qiskit-api-py @pacomf
# qiskit folders
qiskit/qasm/* @1ucian0 @ajavadia @ewinston @atilag @delapuente @diego-plan9
qiskit/tools/* @antoniomezzacapo @chriseclectic @ajavadia @ewinston @atilag @delapuente @diego-plan9
qiskit/schemas/* @jaygambetta @ajavadia @ewinston @atilag @delapuente @diego-plan9
File renamed without changes.
112 changes: 94 additions & 18 deletions .github/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -204,30 +204,29 @@ All platforms:

.. code:: sh
$> cd out
out$> make lint
out$> make style
$> cd out
out$> make lint
out$> make style
Good first contributions
~~~~~~~~~~~~~~~~~~~~~~~~

You are welcome to contribute wherever in the code you want to, of course, but
we recommend taking a look at the "Good first contribution" label into the issues and
pick one. We would love to mentor you!
we recommend taking a look at the "Good first contribution" label into the
issues and pick one. We would love to mentor you!

Doc
~~~

Review the parts of the documentation regarding the new changes and
update it if it's needed.
Review the parts of the documentation regarding the new changes and update it
if it's needed.

Pull requests
~~~~~~~~~~~~~

We use `GitHub pull requests
<https://help.github.com/articles/about-pull-requests>`_ to accept the
contributions.
We use `GitHub pull requests <https://help.github.com/articles/about-pull-requests>`_
to accept the contributions.

A friendly reminder! We'd love to have a previous discussion about the best way to
implement the feature/bug you are contributing with. This is a good way to
Expand All @@ -251,13 +250,13 @@ you are ready to start coding (yay!). We have two options here:

Please follow the next rules for the commit messages:

- It should include a reference to the issue ID in the first line of the
commit, **and** a brief description of the issue, so everybody knows what
this ID actually refers to without wasting to much time on following the
link to the issue.
- It should include a reference to the issue ID in the first line of the commit,
**and** a brief description of the issue, so everybody knows what this ID
actually refers to without wasting to much time on following the link to the
issue.

- It should provide enough information for a reviewer to understand the
changes and their relation to the rest of the code.
- It should provide enough information for a reviewer to understand the changes
and their relation to the rest of the code.

A good example:

Expand All @@ -273,6 +272,83 @@ A (really) bad example:
Fixes #190
Development cycle
-----------------

Our development cycle is straightforward, we define a roadmap with milestones
for releases, and features that we want to include in these releases. The
roadmap is not public at the moment, but it's a committed project in our
community and we are working to make parts of it public in a way that can be
beneficial for everyone. Whenever a new release is close to be launched, we'll
announce it and detail what has changed since the latest version.
The channels we'll use to announce new releases are still being discussed, but
for now you can `follow us <https://twitter.com/qiskit>`_ on Twitter!

Branch model
~~~~~~~~~~~~

There are two main branches in the repository:

- ``master``

- This is the development branch.
- Next release is going to be developed here. For example, if the current
latest release version is r1.0.3, the master branch version will point to
r1.1.0 (or r2.0.0).
- You should expect this branch to be updated very frequently.
- Even though we are always doing our best to not push code that breaks
things, is more likely to eventually push code that breaks something...
we will fix it ASAP, promise :).
- This should not be considered as a stable branch to use in production
environments.
- The API of the SDK could change without prior notice.

- ``stable``

- This is our stable release branch.
- It's always synchronized with the latest distributed package, as for now,
the package you can download from pip.
- The code in this branch is well tested and should be free of errors
(unfortunately sometimes it's not).
- This is a stable branch (as the name suggest), meaning that you can expect
stable software ready for production environments.
- All the tags from the release versions are created from this branch.

Release cycle
~~~~~~~~~~~~~

From time to time, we will release brand new versions of the QISKit SDK. These
are well-tested versions of the software.

When the time for a new release has come, we will:

1. Merge the ``master`` branch with the ``stable`` branch.
2. Create a new tag with the version number in the ``stable`` branch.
3. Crate and distribute the pip package.
4. Change the ``master`` version to the next release version.
5. Announce the new version to the world!

The ``stable`` branch should only receive changes in the form of bug fixes, so the
third version number (the maintenance number: [major].[minor].[maintenance])
will increase on every new change.

What version should I use: development or stable?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It depends on your needs as a user.

If you want to use QISKit for building Apps which goal is to run Quantum
programs, we encourage you to use the latest released version, installing it via
Pip.

.. code:: sh
$ pip install qiskit`
If you found out that the release version doesn't fit your needs, and you are
thinking about extending the functionality of the SDK, you are more likely to
use the ``master`` branch and thinking seriously about contributing with us :)
Documentation
-------------
Expand All @@ -298,5 +374,5 @@ All platforms:

.. code:: sh
$> cd out
doc$> make doc
$> cd out
doc$> make doc
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
project (QISKit VERSION 0.5.2 LANGUAGES CXX)
project (QISKit VERSION 0.5.3 LANGUAGES CXX)

# Verbose!!
set(CMAKE_VERBOSE_MAKEFILE True)
Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,22 @@ involved in the project:
* Vincent Dwyer
* Mark Everitt
* Ismael Faro
* Albert Frisch
* Jay Gambetta
* Juan Gomez
* Ali Javadi-Abhari
* Peng Liu
* Yunho Maeng
* Paco Martin
* Antonio Mezzacapo
* Diego Moreda
* Jesus Perez
* Marco Pistoia
* Russell Rundle
* Todd Tilma
* John Smolin
* Erick Winston
* Chris Wood

If you [contribute to the project](CONTRIBUTING.rst), you are welcome to include
If you [contribute to the project](.github/CONTRIBUTING.rst), you are welcome to include
your name in this list.
47 changes: 0 additions & 47 deletions DEVELOPMENT_CYCLE.md

This file was deleted.

20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Quantum Information Software Kit (QISKit)
# Quantum Information Science Kit (QISKit)

[![PyPI](https://img.shields.io/pypi/v/qiskit.svg)](https://pypi.python.org/pypi/qiskit)
[![Build Status](https://travis-ci.org/QISKit/qiskit-sdk-py.svg?branch=master)](https://travis-ci.org/QISKit/qiskit-sdk-py)

The Quantum Information Software Kit (**QISKit** for short) is a software development kit (SDK) for
The Quantum Information Science Kit (**QISKit** for short) is a software development kit (SDK) for
working with [OpenQASM](https://github.com/QISKit/qiskit-openqasm) and the
[IBM Q Experience (QX)](https://quantumexperience.ng.bluemix.net/).

Expand Down Expand Up @@ -151,18 +151,16 @@ your IBM Q Experience account:
`config` variable with the values you can find on your IBM Q account
page.

Once the `Qconfig.py` file is set up, you have to move it under the same directory/folder where your program/tutorial resides, so it can be imported and be used to authenticate with the `set_api()` function. For example:
Once the `Qconfig.py` file is set up, you have to move it under the same directory/folder where your program/tutorial resides, so it can be imported and be used to authenticate with the `register()` function. For example:

```python
from qiskit import QuantumProgram
from qiskit import register
import Qconfig

# Creating Programs create your first QuantumProgram object instance.
qp = QuantumProgram()
qp.set_api(Qconfig.APItoken, Qconfig.config["url"],
hub=Qconfig.config["hub"],
group=Qconfig.config["group"],
project=Qconfig.config["project"])
register(Qconfig.APItoken, Qconfig.config["url"],
hub=Qconfig.config["hub"],
group=Qconfig.config["group"],
project=Qconfig.config["project"])
```

For more details on this and more information see
Expand All @@ -174,7 +172,7 @@ For more details on this and more information see
Now you're set up and ready to check out some of the other examples from our
[Tutorial](https://github.com/QISKit/qiskit-tutorial) repository. Start with the
[index tutorial](https://github.com/QISKit/qiskit-tutorial/blob/master/index.ipynb) and then go to
the [‘Getting Started’ example](https://github.com/QISKit/qiskit-tutorial/blob/002d054c72fc59fc5009bb9fa0ee393e15a69d07/1_introduction/getting_started.ipynb).
the [‘Getting Started’ example](https://github.com/QISKit/qiskit-tutorial/blob/master/reference/tools/getting_started.ipynb).
If you already have [Jupyter Notebooks installed](https://jupyter.readthedocs.io/en/latest/install.html),
you can copy and modify the notebooks to create your own experiments.

Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ install:

# Use py.test for output of xunit test results.
test_script:
- py.test -v --junit-xml=test_results.xml
- py.test -v --tb=short --junit-xml=test_results.xml

# Upload the test results to appveyor so they are shown on the "Tests" tab.
on_finish:
Expand Down
13 changes: 12 additions & 1 deletion cmake/defaults.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,23 @@
# out$ cmake -DSTATIC_LINKING=True ..
#

# Set the build type: Release or Debug
set(CMAKE_BUILD_TYPE "Release")

# Set the type of linking we want to make for native code. Static builds are
# great for distributing. Apple doesn't allow full static linking, so only user
# libraries will be included in the final binary.
set(STATIC_LINKING False CACHE BOOL "Static linking of executables")

# Enable or disable CMake targets that depends on native code.
set(ENABLE_TARGETS_NON_PYTHON True CACHE BOOL "Enable targets for non Python code")

# Enable or disable CMake targets for Q&A: tests/linter/style
set(ENABLE_TARGETS_QA True CACHE BOOL "Enable targets for QA targets")

# Detect platform bit size
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(ARCH64 True CACHE BOOL "We are on a 64 bits platform")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(ARCH32 True CACHE BOOL "We are on a 32 bits platform")
endif()
endif()
2 changes: 1 addition & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@

# Add description
html_context = {
'description': 'Quantum Information Software Kit'
'description': 'Quantum Information Science Kit'
}

# The version info for the project you're documenting, acts as replacement for
Expand Down
2 changes: 1 addition & 1 deletion doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
QISKit Documentation
====================

Quantum Information Software Kit (QISKit), SDK Python version for working
Quantum Information Science Kit (QISKit), SDK Python version for working
with `OpenQASM <https://github.com/QISKit/openqasm>`_ and the IBM Q experience
(QX).

Expand Down
3 changes: 3 additions & 0 deletions doc/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ package manager):
This will install the latest stable release along with all the dependencies.

.. note::
Some packages may be downgraded to meet requirements.

.. _qconfig-setup:

3. Configure your API token and QE credentials
Expand Down
2 changes: 1 addition & 1 deletion doc/ja/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
QISKit マニュアル
=================

Quantum Information Software Kit (QISKit, 量子情報ソフトウェアキット)は
Quantum Information Science Kit (QISKit, 量子情報ソフトウェアキット)は
`OpenQASM <https://github.com/QISKit/openqasm>`_ とIBM Q Experience(QX)
を利用してプログラミングをするためのPythonソフトウェア開発キット(SDK)です。

Expand Down
2 changes: 1 addition & 1 deletion doc/ko/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Quantum Information Software Kit (QISKit)
# Quantum Information Science Kit (QISKit)

[![PyPI](https://img.shields.io/pypi/v/qiskit.svg)](https://pypi.python.org/pypi/qiskit)
[![Build Status](https://travis-ci.org/QISKit/qiskit-sdk-py.svg?branch=master)](https://travis-ci.org/QISKit/qiskit-sdk-py)
Expand Down
2 changes: 1 addition & 1 deletion doc/zh/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Quantum Information Software Kit (QISKit)
# Quantum Information Science Kit (QISKit)

[![PyPI](https://img.shields.io/pypi/v/qiskit.svg)](https://pypi.python.org/pypi/qiskit)
[![Build Status](https://travis-ci.org/QISKit/qiskit-sdk-py.svg?branch=master)](https://travis-ci.org/QISKit/qiskit-sdk-py)
Expand Down
Loading

0 comments on commit df613ef

Please sign in to comment.