Skip to content
This repository was archived by the owner on Dec 7, 2021. It is now read-only.

Commit 7426e0c

Browse files
Merge pull request #290 from manoelmarques/stable-0.4.1
New Release 0.4.1
2 parents b407892 + e5caf72 commit 7426e0c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1640
-1089
lines changed
Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1-
# Contributor Covenant Code of Conduct
1+
Contributor Covenant Code of Conduct
2+
====================================
23

3-
## Our Pledge
4+
Our Pledge
5+
----------
46

5-
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
7+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers
8+
pledge to making participation in our project and our community a harassment-free
9+
experience for everyone, regardless of age, body size, disability, ethnicity, gender
10+
identity and expression, level of experience, nationality, personal appearance, race,
11+
religion, or sexual identity and orientation.
612

7-
## Our Standards
13+
Our Standards
14+
-------------
815

916
Examples of behavior that contributes to creating a positive environment include:
1017

@@ -22,25 +29,29 @@ Examples of unacceptable behavior by participants include:
2229
* Publishing others' private information, such as a physical or electronic address, without explicit permission
2330
* Other conduct which could reasonably be considered inappropriate in a professional setting
2431

25-
## Our Responsibilities
32+
Our Responsibilities
33+
--------------------
2634

2735
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
2836

2937
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
3038

31-
## Scope
39+
Scope
40+
-----
3241

3342
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
3443

35-
## Enforcement
44+
Enforcement
45+
-----------
3646

37-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at conduct@qiskit.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
47+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at qiskit@qiskit.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
3848

3949
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
4050

41-
## Attribution
51+
Attribution
52+
-----------
4253

43-
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
54+
This Code of Conduct is adapted from the Contributor `Covenant`_, `version`_ 1.4.
4455

45-
[homepage]: http://contributor-covenant.org
46-
[version]: http://contributor-covenant.org/version/1/4/
56+
.. _Covenant: http://contributor-covenant.org
57+
.. _version: http://contributor-covenant.org/version/1/4/

.github/CONTRIBUTING.rst

Lines changed: 173 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,103 +3,121 @@ Contributing
33

44
**We appreciate all kinds of help, so thank you!**
55

6-
Contributing to the project
6+
7+
Contributing to the Project
78
---------------------------
89

910
You can contribute in many ways to this project.
1011

11-
Issue reporting
12+
13+
Issue Reporting
1214
~~~~~~~~~~~~~~~
1315

1416
This is a good point to start, when you find a problem please add
15-
it to the `issue tracker <https://github.com/Qiskit/aqua/issues>`_.
17+
it to the `issue tracker <https://github.com/Qiskit/qiskit-aqua/issues>`_.
1618
The ideal report should include the steps to reproduce it.
1719

18-
Doubts solving
20+
21+
Doubts Solving
1922
~~~~~~~~~~~~~~
2023

2124
To help less advanced users is another wonderful way to start. You can
22-
help us close some opened issues. This kind of tickets should be
25+
help us close some opened issues. A ticket of this kind should be
2326
labeled as ``question``.
2427

25-
Improvement proposal
28+
29+
Improvement Proposal
2630
~~~~~~~~~~~~~~~~~~~~
2731

28-
If you have an idea for a new feature please open a ticket labeled as
32+
If you have an idea for a new feature, please open a ticket labeled as
2933
``enhancement``. If you could also add a piece of code with the idea
30-
or a partial implementation it would be awesome.
34+
or a partial implementation, that would be awesome.
35+
3136

3237
Contributor License Agreement
3338
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3439

3540
We'd love to accept your code! Before we can, we have to get a few legal
36-
requirements sorted out. By signing a contributor license agreement (CLA), we
41+
requirements sorted out. By signing a Contributor License Agreement (CLA), we
3742
ensure that the community is free to use your contributions.
3843

39-
When you contribute to the Qiskit project with a new pull request, a bot will
44+
When you contribute to the Qiskit Aqua project with a new pull request, a bot will
4045
evaluate whether you have signed the CLA. If required, the bot will comment on
4146
the pull request, including a link to accept the agreement. The
4247
`individual CLA <https://qiskit.org/license/qiskit-cla.pdf>`_ document is
4348
available for review as a PDF.
4449

45-
NOTE: If you work for a company that wants to allow you to contribute your work,
46-
then you'll need to sign a `corporate CLA <https://qiskit.org/license/qiskit-corporate-cla.pdf>`_
47-
and email it to us at qiskit@us.ibm.com.
48-
49-
Code
50-
----
51-
52-
This section include some tips that will help you to push source code.
50+
.. note::
51+
If you work for a company that wants to allow you to contribute your work,
52+
then you'll need to sign a `corporate CLA <https://qiskit.org/license/qiskit-corporate-cla.pdf>`_
53+
and email it to us at qiskit@us.ibm.com.
5354

5455

55-
Style guide
56-
~~~~~~~~~~~
57-
58-
Please submit clean code and please make effort to follow existing conventions
59-
in order to keep it as readable as possible. We use
60-
`Pylint <https://www.pylint.org>`_ and `PEP
61-
8 <https://www.python.org/dev/peps/pep-0008>`_ style guide.
62-
63-
Good first contributions
56+
Good First Contributions
6457
~~~~~~~~~~~~~~~~~~~~~~~~
6558

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

63+
7064
Doc
7165
~~~
7266

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

76-
Pull requests
70+
71+
Pull Requests
7772
~~~~~~~~~~~~~
7873

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

8277
A friendly reminder! We'd love to have a previous discussion about the best way to
8378
implement the feature/bug you are contributing with. This is a good way to
84-
improve code quality in our beloved SDK!, so remember to file a new Issue before
79+
improve code quality in our beloved Qiskit Aqua! So remember to file a new issue before
8580
starting to code for a solution.
8681

87-
So after having discussed the best way to land your changes into the codebase,
88-
you are ready to start coding (yay!). We have two options here:
82+
After having discussed the best way to land your changes into the codebase,
83+
you are ready to start coding. We have two options here:
8984

9085
1. You think your implementation doesn't introduce a lot of code, right?. Ok,
9186
no problem, you are all set to create the PR once you have finished coding.
9287
We are waiting for it!
9388
2. Your implementation does introduce many things in the codebase. That sounds
94-
great! Thanks!. In this case you can start coding and create a PR with the
89+
great! Thanks! In this case, you can start coding and create a PR with the
9590
word: **[WIP]** as a prefix of the description. This means "Work In
96-
Progress", and allow reviewers to make micro reviews from time to time
97-
without waiting to the big and final solution... otherwise, it would make
91+
Progress", and allows reviewers to make micro reviews from time to time
92+
without waiting for the big and final solution. Otherwise, it would make
9893
reviewing and coming changes pretty difficult to accomplish. The reviewer
9994
will remove the **[WIP]** prefix from the description once the PR is ready
10095
to merge.
10196

102-
Please follow the next rules for the commit messages:
97+
98+
Pull Request Checklist
99+
""""""""""""""""""""""
100+
101+
When submitting a pull request and you feel it is ready for review, please
102+
double check that:
103+
104+
* The code follows the code style of the project. For convenience, you can
105+
execute ``make style`` and ``make lint`` locally, which will print potential
106+
style warnings and fixes.
107+
* The documentation has been updated accordingly. In particular, if a function
108+
or class has been modified during the PR, please update the docstring
109+
accordingly.
110+
* Your contribution passes the existing tests, and if developing a new feature,
111+
that you have added new tests that cover those changes.
112+
* You add a new line to the ``CHANGELOG.rst`` file, in the ``UNRELEASED``
113+
section, with the title of your pull request and its identifier (for example,
114+
"``Replace OldComponent with FluxCapacitor (#123)``".
115+
116+
117+
Commit Messages
118+
"""""""""""""""
119+
120+
Please follow the next rules for any commit message:
103121

104122
- It should include a reference to the issue ID in the first line of the commit,
105123
**and** a brief description of the issue, so everybody knows what this ID
@@ -111,17 +129,69 @@ Please follow the next rules for the commit messages:
111129

112130
A good example:
113131

114-
.. code::
132+
.. code-block:: text
115133
116134
Issue #190: Short summary of the issue
117135
* One of the important changes
118136
* Another important change
119137
120-
A (really) bad example:
121138
122-
.. code::
139+
Code
140+
----
141+
142+
This section include some tips that will help you to push source code.
143+
144+
.. note::
145+
146+
We recommend using `Python virtual environments <https://docs.python.org/3/tutorial/venv.html>`__
147+
to cleanly separate Qiskit from other applications and improve your experience.
148+
149+
150+
Setup with an Environment
151+
~~~~~~~~~~~~~~~~~~~~~~~~~
152+
153+
The simplest way to use environments is by using Anaconda
154+
155+
.. code:: sh
123156
124-
Fixes #190
157+
conda create -y -n QiskitDevenv python=3
158+
source activate QiskitDevenv
159+
160+
In order to execute the Aqua code, after cloning the Aqua GitHub repository on your machine,
161+
you need to have some libraries, which can be installed in this way:
162+
163+
.. code:: sh
164+
165+
cd qiskit-aqua
166+
pip install -r requirements.txt
167+
pip install -r requirements-dev.txt
168+
169+
To install Qiskit Aqua locally, execute the following command from the `qiskit-aqua` root
170+
directory on your machine:
171+
172+
.. code:: sh
173+
174+
$ pip install -e .
175+
176+
Installing Aqua will automatically install `Terra <https://github.com/Qiskit/qiskit-terra>`__
177+
as one of its dependencies. We recommend that you also set up
178+
`Aer <https://github.com/Qiskit/qiskit-aer>`__ to get more advanced simulators.
179+
Refer to the installation instructions of both Terra and Aer for more details.
180+
181+
Style guide
182+
~~~~~~~~~~~
183+
184+
Please submit clean code and please make effort to follow existing conventions
185+
in order to keep it as readable as possible. We use the
186+
`Pylint <https://www.pylint.org>`_ and `PEP
187+
8 <https://www.python.org/dev/peps/pep-0008>`_ style guide. To ensure
188+
your changes respect the style guidelines, run the next commands (all platforms):
189+
190+
.. code:: sh
191+
192+
$> cd out
193+
out$> make lint
194+
out$> make style
125195
126196
127197
Documentation
@@ -138,14 +208,70 @@ documentation <http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_go
138208

139209
To generate the documentation, we need to invoke CMake first in order to generate
140210
all specific files for our current platform.
211+
See the `instructions <https://github.com/Qiskit/qiskit-terra/blob/master/.github/CONTRIBUTING.rst#dependencies>`__
212+
in the Terra repository for details on how to install and run CMake.
213+
The docunentation can then be built using the instructions available in the
214+
`docs folder's README file <../docs/README.md>`__.
141215

142-
See the previous *Building* section for details on how to run CMake.
143-
Once CMake is invoked, all configuration files are in place, so we can build the
144-
documentation running this command:
145216

146-
All platforms:
217+
Development Cycle
218+
-----------------
147219

148-
.. code:: sh
220+
Our development cycle is straightforward. Use the **Projects** board in Github
221+
for project management and use **Milestones** in the **Issues** board for releases. The features
222+
that we want to include in these releases will be tagged and discussed
223+
in the project boards. Whenever a new release is close to be launched,
224+
we'll announce it and detail what has changed since the latest version in
225+
our Release Notes and Changelog. The channels we'll use to announce new
226+
releases are still being discussed, but for now, you can
227+
`follow us <https://twitter.com/qiskit>`_ on Twitter!
149228

150-
$> cd out
151-
doc$> make doc
229+
230+
Branch Model
231+
~~~~~~~~~~~~
232+
233+
There are two main branches in the repository:
234+
235+
- ``master``
236+
237+
- This is the development branch.
238+
- Next release is going to be developed here. For example, if the current
239+
latest release version is r1.0.3, the master branch version will point to
240+
r1.1.0 (or r2.0.0).
241+
- You should expect this branch to be updated very frequently.
242+
- Even though we are always doing our best to not push code that breaks
243+
things, is more likely to eventually push code that breaks something...
244+
we will fix it ASAP, promise :).
245+
- This should not be considered as a stable branch to use in production
246+
environments.
247+
- The API of Qiskit could change without prior notice.
248+
249+
- ``stable``
250+
251+
- This is our stable release branch.
252+
- It's always synchronized with the latest distributed package: as for now,
253+
the package you can download from pip.
254+
- The code in this branch is well tested and should be free of errors
255+
(unfortunately sometimes it's not).
256+
- This is a stable branch (as the name suggest), meaning that you can expect
257+
stable software ready for production environments.
258+
- All the tags from the release versions are created from this branch.
259+
260+
261+
Release Cycle
262+
~~~~~~~~~~~~~
263+
264+
From time to time, we will release brand new versions of Qiskit Terra. These
265+
are well-tested versions of the software.
266+
267+
When the time for a new release has come, we will:
268+
269+
1. Merge the ``master`` branch with the ``stable`` branch.
270+
2. Create a new tag with the version number in the ``stable`` branch.
271+
3. Crate and distribute the pip package.
272+
4. Change the ``master`` version to the next release version.
273+
5. Announce the new version to the world!
274+
275+
The ``stable`` branch should only receive changes in the form of bug fixes, so the
276+
third version number (the maintenance number: [major].[minor].[maintenance])
277+
will increase on every new change.

0 commit comments

Comments
 (0)