Skip to content

Commit fe00e78

Browse files
committed
Big Bang
0 parents  commit fe00e78

File tree

89 files changed

+40933
-0
lines changed

Some content is hidden

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

89 files changed

+40933
-0
lines changed

.github/CHANGELOG.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Release 0.1.0
2+
3+
### New features since last release
4+
5+
* This is the initial public release.
6+
7+
### Contributors
8+
9+
This release contains contributions from (in alphabetical order):
10+
11+
[Mikhail Andrenkov](https://github.com/Mandrenkov), [Jack Brown](https://github.com/brownj85), [Lee J. O'Riordan](https://github.com/mlxd), [Trevor Vincent](https://github.com/trevor-vincent).

.github/CODE_OF_CONDUCT.md

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
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.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
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.
28+
29+
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.
30+
31+
## Scope
32+
33+
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.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected]. 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.
38+
39+
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.
40+
41+
## Attribution
42+
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]
44+
45+
[homepage]: http://contributor-covenant.org
46+
[version]: http://contributor-covenant.org/version/1/4/

.github/CONTRIBUTING.md

+154
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Contributing to Jet
2+
3+
Thank you for taking the time to contribute to Jet!
4+
:airplane: :confetti_ball: :tada: :fireworks: :balloon:
5+
6+
Jet is a collaborative effort with the quantum computation community - while we
7+
will continue working on adding new and exciting features to Jet, we invite you
8+
to join us and suggest improvements, research ideas, or even just to discuss how
9+
Jet fits into your workflow.
10+
11+
## How can I get involved in the community?
12+
13+
If you want to contribute but don't know where to start, check out our
14+
[documentation](https://quantum-jet.readthedocs.io) and have a go at working
15+
through some of the tutorials. Afterwards, take a look at the Jet API to see
16+
how things work under the hood.
17+
18+
## How can I contribute?
19+
20+
It's up to you!
21+
22+
* **Be a part of our community** - provide exciting updates of the projects or
23+
experiments you are investigating with Jet.
24+
25+
You can even write your own Jet tutorials, or blog about your simulation results.
26+
Send us the link, and we may even add it to our documentation as an external
27+
resource!
28+
29+
* **Test the cutting-edge Jet releases** - clone our GitHub repository, and keep
30+
up to date with the latest features. If you run into any bugs, make a bug
31+
report on our [issue tracker](https://github.com/XanaduAI/jet/issues).
32+
33+
* **Report bugs** - even if you are not using the development branch of Jet, if
34+
you come across any bugs or issues, make a bug report. See the next section
35+
for more details on the bug reporting procedure.
36+
37+
* **Suggest new features and enhancements** - use the GitHub issue tracker and
38+
let us know what will make Jet even better for your workflow.
39+
40+
* **Contribute to our documentation, or to Jet directly** - we are hoping for
41+
our documentation to become an online, open-source resource for all things
42+
tensor. If you would like to add to it, or suggest improvements/changes, let
43+
us know - or even submit a pull request directly. All authors who have
44+
contributed to the Jet codebase will be listed alongside the latest release.
45+
46+
* **Build an application on top of Jet** - have an idea for an application, and
47+
Jet provides the perfect computational backbone? Consider making a fully
48+
separate app that builds upon Jet as a base. Ask us if you have any questions,
49+
and send a link to your application to [email protected] so we can highlight
50+
it in our documentation!
51+
52+
Appetite whetted? Keep reading below for all the nitty-gritty on reporting bugs,
53+
contributing to the documentation, and submitting pull requests.
54+
55+
## Reporting bugs
56+
57+
We use the [GitHub issue tracker](https://github.com/XanaduAI/jet/issues) to
58+
keep track of all reported bugs and issues. If you find a bug, or have an issue
59+
with Jet, please submit a bug report! User reports help us make Jet better on
60+
all fronts.
61+
62+
To submit a bug report, please work your way through the following checklist:
63+
64+
* **Search the issue tracker to make sure the bug wasn't previously reported**.
65+
If it was, you can add a comment to expand on the issue and share your
66+
experience.
67+
68+
* **Fill out the issue template**. If you cannot find an existing issue
69+
addressing the problem, create a new issue by filling out the
70+
[bug issue template](./ISSUE_TEMPLATE/BUG.md). This template is added
71+
automatically to the comment box when you create a new issue. Please try and
72+
add as many details as possible!
73+
74+
* Try and make your issue as **clear, concise, and descriptive** as possible.
75+
Include a clear and descriptive title, and include all code snippets and
76+
commands required to reproduce the problem. If you're not sure what caused the
77+
issue, describe what you were doing when the issue occurred.
78+
79+
## Suggesting features, document additions, and enhancements
80+
81+
To suggest features and enhancements, use the GitHub tracker. No template is
82+
required for feature requests and enhancements, but here are a couple of
83+
suggestions for things to include:
84+
85+
* **Use a clear and descriptive title**
86+
* **Provide a step-by-step description of the suggested feature**.
87+
88+
- If the feature is related to any theoretical results in quantum computation,
89+
provide any relevant equations. Alternatively, provide references to
90+
papers or preprints with the relevant sections and equations noted.
91+
- If the feature is workflow-related, or related to the use of Jet, explain
92+
why the enhancement would be useful and where/how you would like to use it.
93+
94+
* **For documentation additions**, point us towards any relevant equations,
95+
papers, and preprints with the relevant sections and equations noted. Short
96+
descriptions of its use and importance would also be helpful.
97+
98+
## Pull requests
99+
100+
If you would like to contribute directly to the Jet codebase, simply make a
101+
fork of the main branch and submit a
102+
[pull request](https://help.github.com/articles/about-pull-requests). We
103+
encourage everyone to have a go forking and modifying the Jet source code;
104+
however, we have a couple of guidelines on pull requests to ensure the main
105+
branch conforms to existing standards and quality.
106+
107+
### General guidelines
108+
109+
* **Do not make a pull request for minor typos/cosmetic code changes** - create
110+
an issue instead.
111+
* **For major features, consider making an independent application** that runs
112+
on top of Jet, rather than modifying Jet directly.
113+
114+
### Before submitting
115+
116+
Before submitting a pull request, please make sure the following is done:
117+
118+
* **All new features must include a unit test.** If you've fixed a bug or added
119+
code that should be tested, add a test to the [`test/`](test/) directory!
120+
* **All new classes, functions, and members must be clearly commented and documented**.
121+
If you do make documentation changes, make sure that the docs build and render
122+
correctly by running `make docs`.
123+
* **Ensure that the test suite passes.** Verify that `make test` passes.
124+
* **Ensure that the modified code is formatted correctly.** Verify that
125+
`make format` passes.
126+
127+
### Submitting the pull request
128+
* When ready, submit your fork as a
129+
[pull request](https://help.github.com/articles/about-pull-requests) to the
130+
Jet repository, filling out the
131+
[pull request template](./PULL_REQUEST_TEMPLATE.md). This template is added
132+
automatically to the comment box when you create a new PR.
133+
134+
* When describing the pull request, please include as much detail as possible
135+
regarding the changes made, new features, and performance improvements. If
136+
including any bug fixes, mention the issue numbers associated with the bugs.
137+
138+
* Once you have submitted the pull request, two things will automatically occur:
139+
140+
- The **test suite** will automatically run on
141+
[CircleCI](https://app.circleci.com/pipelines/github/XanaduAI/jet) to ensure
142+
that all tests continue to pass.
143+
144+
- The **formatter** will automatically run on
145+
[CircleCI](https://app.circleci.com/pipelines/github/XanaduAI/jet) to ensure
146+
that all the code is properly formatted.
147+
148+
Based on these results, we may ask you to make small changes to your branch
149+
before merging the pull request into the main branch. Alternatively, you can
150+
[grant us permission to make changes to your pull request branch](https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/).
151+
152+
:airplane: Thank you for contributing to Jet! :airplane:
153+
154+
\- The Jet team

.github/ISSUE_TEMPLATE/bug-report.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug Report
3+
about: Submit a bug report.
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
#### Before posting an issue
11+
12+
* Search existing GitHub issues to make sure the issue does not already exist: https://github.com/XanaduAI/jet/issues.
13+
14+
* Delete everything above the dashed line and fill in the template.
15+
16+
* For general technical details, check out our documentation: https://quantum-jet.readthedocs.io.
17+
18+
-------------------------------------------------------------------------------------------------------------
19+
20+
#### Bug description
21+
22+
Description of the issue - include code snippets and screenshots here if relevant. You may use the following template below:
23+
24+
* *Expected behavior:* (What you expect to happen)
25+
26+
* *Actual behavior:* (What actually happens)
27+
28+
* *Reproduces how often:* (Percentage of the time this issue reproduces)
29+
30+
* *System information:* (Relevant compilation or execution environment details, including your operating system, compiler, Jet version, and linked libraries)
31+
32+
#### Source code and backtraces
33+
34+
Please include any additional code snippets and backtraces related to the issue here.
35+
36+
#### Additional information
37+
38+
Any additional information, configuration or data that might be necessary to reproduce the issue.
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
name: Feature Request
3+
about: Submit a feature request.
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
#### Before posting an issue
11+
12+
* Search existing GitHub issues to make sure the issue does not already exist: https://github.com/XanaduAI/jet/issues.
13+
14+
* Delete everything above the dashed line and describe, in detail, the feature and why it is needed.
15+
16+
* For general technical details, check out our documentation: https://quantum-jet.readthedocs.io.
17+
18+
-------------------------------------------------------------------------------------------------------------
19+
20+
#### Feature description
21+
22+
Description of the feature - include code snippets, documentation, or any other relevant details here. Ideally, a feature request should read like a story and address the following points:
23+
24+
* *Context:* What is the problem to be solved?
25+
26+
* *Factors:* What should be taken into account by the implementation?
27+
28+
* *Review:* What other projects have implemented this feature?
29+
30+
* *Proposals:* What are the candidate solutions?

.github/PULL_REQUEST_TEMPLATE.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
### Before submitting
2+
3+
Please complete the following checklist when submitting a PR:
4+
5+
- [ ] All new features must include a unit test. If you've fixed a bug or added
6+
code that should be tested, add a test to the [`test/`](test/) directory!
7+
8+
- [ ] All new classes, functions, and members must be clearly commented and
9+
documented. If you do make documentation changes, make sure that the docs
10+
build and render correctly by running `make docs`.
11+
12+
- [ ] Ensure that the test suite passes by running `make test`.
13+
14+
- [ ] Ensure that code is properly formatted by running `make format`.
15+
16+
- [ ] Add a new entry to [`CHANGELOG.MD`](.github/CHANGELOG.md), summarizing the
17+
change and including a link back to the PR.
18+
19+
When all the above are checked, delete everything above the dashed
20+
line and fill in the pull request template.
21+
22+
------------------------------------------------------------------------------------------------------------
23+
24+
**Context:**
25+
26+
**Description of the Change:**
27+
28+
**Benefits:**
29+
30+
**Possible Drawbacks:**
31+
32+
**Related GitHub Issues:**

.github/workflows/documentation.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Documentation
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "docs/**"
9+
- "include/**"
10+
11+
jobs:
12+
build:
13+
name: Build (HTML)
14+
runs-on: ubuntu-20.04
15+
16+
steps:
17+
- name: Cancel previous runs
18+
uses: styfle/[email protected]
19+
with:
20+
access_token: ${{ github.token }}
21+
22+
- name: Checkout code
23+
uses: actions/checkout@v2
24+
25+
- uses: josh146/sphinx-action@master
26+
with:
27+
docs-folder: "docs/"
28+
pre-build-command: "apt install -y doxygen && pip3 install -r requirements.txt"
29+
build-command: "make html"
30+
31+
- name: Upload HTML
32+
uses: actions/upload-artifact@v2
33+
with:
34+
name: html
35+
path: docs/_build/html/

.github/workflows/format.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Format
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "include/**"
9+
- "test/**"
10+
11+
jobs:
12+
format:
13+
name: Format
14+
runs-on: ubuntu-20.04
15+
16+
steps:
17+
- name: Cancel previous runs
18+
uses: styfle/[email protected]
19+
with:
20+
access_token: ${{ github.token }}
21+
22+
- name: Install dependencies
23+
run: sudo apt update && sudo apt -y install clang-format python3
24+
25+
- name: Checkout code
26+
uses: actions/checkout@v2
27+
28+
- name: Run formatter
29+
run: ./bin/format --check include test

0 commit comments

Comments
 (0)