Skip to content
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

Migrate getting_started and advanced_circuit_visualization from Qiskit #164

Merged
merged 73 commits into from
Oct 12, 2023

Conversation

Eric-Arellano
Copy link
Collaborator

We didn't realize these also should be brought over.

This uses the same script from #91, but with this file list:

docs/getting_started.rst
docs/tutorials/circuits_advanced/03_advanced_circuit_visualization.ipynb

# Original names
docs/getting_started_with_qiskit.rst
docs/tutorials/terra/advanced/3_advanced_circuit_visualization.ipynb
docs/tutorials/circuits_advanced/3_advanced_circuit_visualization.ipynb

jaygambetta and others added 30 commits February 3, 2019 16:03
* Adding documentation

* Fixing documentation.
…ackage#70)

* Documentation fixes

Misc documentation fixes:
* include aqua contributors (copying the file from their repository,
  fixing links).
* remove files not used in the build.
* update images.

* Move images to a single directory

Move the images coming from the jupyter conversions to a single
directory, at `images/figures`, for tidying up the structure (can be
recreated using the `output_files_dir` parameter for nbconvert).

* Update makefile to handle autodoc per project

Update "make autodoc" by depending on three new targets, one for each
project that has a different import path, allowing overriding the
location via environment variables.
Update aqua and chemistry .rst pointing to the autodoc modules.

* Replace code blocks from ipython3 to python

Replace the `.. code:: ipython3` blocks with `.. code:: python` (can
be recreated using `NbConvertBase.default_language` configuration
option).

* Fix makefile phony target
…ckage#86  (Qiskit/qiskit-metapackage#105)

* moved Aer tutorial images to /docs/images/figures/

and all references to these images

* Have Makefile point to correct Aqua and Chemistry directories

Fixes Qiskit/qiskit-metapackage#88

* Revert "Have Makefile point to correct Aqua and Chemistry directories"

This reverts commit fee13ba87e1888c88a997430ee0a57969a9985ac.

* Create community_qiskit.rst

* Revert "Create community_qiskit.rst"

This reverts commit 5fd2cafd6d2e570488e9985f26d33a0f5088c581.

* update global install instructions

Motivation: to synthesize the mostly duplicate install instructions currently under each Qiskit element's doc section, which can then be removed.

Direct to CONTRIBUTING files in each element's repo for instructions to build from source, since this serves a niche persona and is lengthy.

Added images for steps that involve pointing and clicking through the web.

Rewrote material for additional clarity.

* removed Troubleshooting section

fixes Qiskit/qiskit-metapackage#97

* simplify the ibm q provider documentation

Fixes Qiskit/qiskit-metapackage#86
…kit/qiskit-metapackage#114)

* moved Aer tutorial images to /docs/images/figures/

and all references to these images

* Have Makefile point to correct Aqua and Chemistry directories

Fixes Qiskit/qiskit-metapackage#88

* Revert "Have Makefile point to correct Aqua and Chemistry directories"

This reverts commit fee13ba87e1888c88a997430ee0a57969a9985ac.

* Create community_qiskit.rst

* Revert "Create community_qiskit.rst"

This reverts commit 5fd2cafd6d2e570488e9985f26d33a0f5088c581.

* update global install instructions

Motivation: to synthesize the mostly duplicate install instructions currently under each Qiskit element's doc section, which can then be removed.

Direct to CONTRIBUTING files in each element's repo for instructions to build from source, since this serves a niche persona and is lengthy.

Added images for steps that involve pointing and clicking through the web.

Rewrote material for additional clarity.

* removed Troubleshooting section

fixes Qiskit/qiskit-metapackage#97

* simplify the ibm q provider documentation

Fixes Qiskit/qiskit-metapackage#86

* removed Visualizations from global ToC, honed Installing QIskit

Fixes Qiskit/qiskit-metapackage#107 and fixes Qiskit/qiskit-metapackage#95
…metapackage#128)

* moved Aer tutorial images to /docs/images/figures/

and all references to these images

* Have Makefile point to correct Aqua and Chemistry directories

Fixes Qiskit/qiskit-metapackage#88

* Revert "Have Makefile point to correct Aqua and Chemistry directories"

This reverts commit fee13ba87e1888c88a997430ee0a57969a9985ac.

* Create community_qiskit.rst

* Revert "Create community_qiskit.rst"

This reverts commit 5fd2cafd6d2e570488e9985f26d33a0f5088c581.

* update global install instructions

Motivation: to synthesize the mostly duplicate install instructions currently under each Qiskit element's doc section, which can then be removed.

Direct to CONTRIBUTING files in each element's repo for instructions to build from source, since this serves a niche persona and is lengthy.

Added images for steps that involve pointing and clicking through the web.

Rewrote material for additional clarity.

* removed Troubleshooting section

fixes Qiskit/qiskit-metapackage#97

* simplify the ibm q provider documentation

Fixes Qiskit/qiskit-metapackage#86

* removed Visualizations from global ToC, honed Installing QIskit

Fixes Qiskit/qiskit-metapackage#107 and fixes Qiskit/qiskit-metapackage#95

* added Contributin to Qiskit

fixes Qiskit/qiskit-metapackage#112

* remove Aer install instructions

fixes Qiskit/qiskit-metapackage#84

* Have the ToC do the work, instead of a landing page for Getting Started.

fixes Qiskit/qiskit-metapackage#84

* circuit drawing style in Getting Started

begins to address Qiskit/qiskit-metapackage#98

* adopting the term of art 'quantum cloud services'
…ge#130)

* moved Aer tutorial images to /docs/images/figures/

and all references to these images

* Have Makefile point to correct Aqua and Chemistry directories

Fixes Qiskit/qiskit-metapackage#88

* Revert "Have Makefile point to correct Aqua and Chemistry directories"

This reverts commit fee13ba87e1888c88a997430ee0a57969a9985ac.

* Create community_qiskit.rst

* Revert "Create community_qiskit.rst"

This reverts commit 5fd2cafd6d2e570488e9985f26d33a0f5088c581.

* update global install instructions

Motivation: to synthesize the mostly duplicate install instructions currently under each Qiskit element's doc section, which can then be removed.

Direct to CONTRIBUTING files in each element's repo for instructions to build from source, since this serves a niche persona and is lengthy.

Added images for steps that involve pointing and clicking through the web.

Rewrote material for additional clarity.

* removed Troubleshooting section

fixes Qiskit/qiskit-metapackage#97

* simplify the ibm q provider documentation

Fixes Qiskit/qiskit-metapackage#86

* removed Visualizations from global ToC, honed Installing QIskit

Fixes Qiskit/qiskit-metapackage#107 and fixes Qiskit/qiskit-metapackage#95

* added Contributin to Qiskit

fixes Qiskit/qiskit-metapackage#112

* remove Aer install instructions

fixes Qiskit/qiskit-metapackage#84

* Have the ToC do the work, instead of a landing page for Getting Started.

fixes Qiskit/qiskit-metapackage#84

* circuit drawing style in Getting Started

begins to address Qiskit/qiskit-metapackage#98

* adopting the term of art 'quantum cloud services'

* getting_started references wrong circuit drawing PNG file

Fixes Qiskit/qiskit-metapackage#129
* Add doc8 run to CI and lint checks

This commit adds running doc8 to our normal CI and lint workflows. Right
now we don't have any doc verification (aside from what pylint enforces
on docstrings in the tests, which doesn't get published anywhere) and when
it comes time to publish a new release there is a scramble to fix all the
warnings (and potentially errors) in the documentation. By running doc8 we
can verify that our documentation is formatted properly for sphinx to
compile the output without issue (and without any warnings).

* Fix lint issues with aqua docs

* Fix most of the aqua docs lint issues

* Fix last lint issues

* Fix lint from rebase

* More rebase cleanups for new docs

* More rebase fixes
)

* fixes Qiskit/qiskit-metapackage#196

add alt text to images

* Update docs/terra/plotting_data_in_qiskit.rst

Co-Authored-By: derivation <paul.kassebaum@ibm.com>
* Aqua is now included in `pip install qiskit`. Doesn't need its own pip call.

* update Getting Started for Qiskit 0.9
* Updated Getting Started

* Removed trailing whitespaces and long lines

* Removed typo

* eliminated build  warnings

* eliminated build  warnings in getting started

* edit getting_started

* edit executing quantum programs

* Update executing_quantum_programs.rst

line length

* fix code block formatting

* fix circuit drawings

* fix plain text code block syntax

* update IBM Q Experience link
* closes Qiskit/qiskit-metapackage#319 
make histograms and print statements agree

* Update getting_started.rst

remove merge markers
* Standardized hyperlinks and underscores

* Fixed lint errors
…/qiskit-metapackage#403)

* Removed explicit title from the main index.rst

* Removed explicit titles from the terra TOCs

* Removed explicit titles from the ignis TOCs

* Removed explicit titles from the Aer TOCs

* Removed explicit titles from the Qiskit Chemistry TOCs

* Removed explicit titles from the Aqua TOCs

* Standardize cross reference links

* Standardize hyperlinks issue#390

* fixed typos
* Update getting_started.rst

* Update getting_started.rst

* Update getting_started.rst

* Update getting_started.rst

* Update getting_started.rst

* grr limiting on the web editor is not fun

* Update getting_started.rst

* minor code styling
* Update getting_started.rst

* Update getting_started.rst
* partial API cleanup

* remove autosum

* updates

* updates

* updates

* update make doc

* fix links

* do not do api

* text edits

* Update docs/contributing_to_qiskit.rst

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>

* remove 0.12 modules

* Update docs/conf.py

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>
* Clean up old references

* Removed Label

* Replaced long nb links with apidoc links
* Update getting_started.rst

* Update getting_started.rst
…apackage#621)

* execute install code snippets

* move to jupyter_sphinx for executing code

* Added click-to-copy

* Add matplotlib to requirements-dev.txt
* streamline Getting Started

closes Qiskit/qiskit-metapackage#672

* Update docs/getting_started.rst

Co-Authored-By: Laura Zdanski <Laura.Zdanski@ibm.com>

* Update getting_started.rst

fix lint errors

* Update getting_started.rst

fix lint error
NG-Glen and others added 22 commits May 13, 2022 12:44
* Update 03_advanced_circuit_visualization.ipynb

* Update tutorials/circuits_advanced/03_advanced_circuit_visualization.ipynb

Co-authored-by: Jim Garrison <jim@garrison.cc>

Co-authored-by: Junye Huang <h.jun.ye@gmail.com>
Co-authored-by: Jim Garrison <jim@garrison.cc>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…ackage#1491)

Windows 32 bit and Windows 32bit, format to same spell

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
)

* Remove qiskit-ignis from the metapackage

The next qiskit metapackage release (when terra releases 0.21.0) will
no longer include qiskit-ignis as the deprecation cycle has finished.
This commit removes the qiskit-ignis package from the metapackage,
deletes the documentation sections for ignis and adds a prelude
section for the release notes documenting the removal and manual
upgrade steps users might need to do.

* Avoid jupyter-execute ignis import in release notes
In Qiskit/qiskit-metapackage#1558 the sphinx plugin sphinx-panel was switched to sphinx-design to
enable building the documentation with sphinx >=5.0.0. However, while
the build succeeded there were warnings emitted about tabbed directive
which was only valid for sphinx-panel. This prevented any tabbed
sections in the documentation from being built as sphinx just ignored
it (this is why it's best practice to build with -W to make warnings
fatal because they're almost always pointing to broken docs). This
commit fixes this by migrating the directives to use the syntax from
sphinx-design so that we're building the tabs sections of the
documentation.

Fixes Qiskit/qiskit-metapackage#1566
…1507)

* Complete rewrite of Getting Started guide

This PR is the culmination of the documentation / on-boarding working
session from the Qiskit Dev conference in Tarrytown, April 2022.

The flagship changes are:

- the contributing guide is completely new, and targetted specifically
  at onboarding new external contributors, and helping them find issues
  to work on.  This includes a flowchart to direct people to
  repositories all across the Qiskit organisation, made by Abby and
  Anne.

- the old contributing guide is split up into separate pages, such as
  "building from source" and a "maintainer guide", so the information
  isn't quite so dense, and can be dipped into more easily.

- the deprecation policy is reorganised to make the processes more
  clear, and then later providing more details on how certain types of
  deprecation can be done.

More detail:

This makes the Getting Started guide the single (only) source of truth
for installing the metapackage components, moving the correct
information from the contributing guide to the getting started pages,
which were previously out-of-date.

This also splits the installation components of the getting started
pages into separate pages rather than separate tabs, because the
`..  tabbed::` directive didn't play nicely with Sphinx headings and
references, which caused all links to the source-installation sections
to be broken.

This also moves the deprecation policy into a separate file, and
rewrites the text to be shorter and more split it.  Also add sections on
the difficulty of changing behaviours and how to potentially avoid those
situations, and how to test the deprecated functionality correctly.

The actual policy should be unchanged by this commit.

Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
Co-authored-by: Abby Mitchell <23662430+javabster@users.noreply.github.com>

* Make zsh quoted pip extras the default

Co-authored-by: Junye Huang <h.jun.ye@gmail.com>

* Update docs/deprecation_policy.rst

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update docs/deprecation_policy.rst

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Strengthen some aspects of deprecation policy

* Remove mentions of ignis

* Remove Ignis installation instructions

* Added back in platform support and docs sections

* Undo getting started changes

* ✨ lint ✨

* ✨ lint ✨

Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
Co-authored-by: Abby Mitchell <23662430+javabster@users.noreply.github.com>
Co-authored-by: Junye Huang <h.jun.ye@gmail.com>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Abby Mitchell <abby.s.mitchell@gmail.com>
…tapackage#1606)

With the recent release of qiskit-aer 0.11.0 all the qiskit packages
with compiled extensions now are publishing precompiled binaries for
s390x and ppc64le. This commit updates the supported platform
documentation to indicate that we support these platforms at tier 3,
meaning we build and publish binaries at release time but do not have CI
testing or infrastructure to test the binares post build.
* Fix install from source docs

In Qiskit/qiskit-metapackage#1439 we updated the install from source documentation to reflect
recent (as in the last year) changes to the build process and ensure the
documentation was correct for installing from source. However, in Qiskit/qiskit-metapackage#1507
where some of the documentation was refactored these changes were
inadvertadntly delete. This commit restores the correct source
installation instructions from Qiskit/qiskit-metapackage#1439 so that the hosted docs correctly
document how to build and install qiskit from source.

Fixes Qiskit/qiskit-metapackage#1624

* Update docs/getting_started.rst

* Remove unnecessary pip install from aer instructions
* Fix toctree issues with documentation

In Qiskit/qiskit-metapackage#1631 the docs were updated to use a new version of the
qiskit_sphinx_theme and enable some new features it included. However,
in doing this a few issues were introduced to the documentation. The
biggest of which was the removal of the aer, circuit library, and the
ibmq provider from the table of contents tree. Looking at the review
comments on Qiskit/qiskit-metapackage#1631 this was a consious choice to rely on hard coded
navigation in the theme (i.e. the top bar). However, doing this breaks
navigation in the sphinx documentation because it relies on the toctree
to build the pathing for navigation from leaf pages in the toctree.
For example, if you want to find the QuantumVolume class documentation
currently you must search to find it because you can't get to it from
any other page. Then when you find you're not able to get back to the
parent page for the circuit library because it's an orphaned page
outside the toctree. While aer and the ibmq provider get around this to
a certain degree because you can get the per project index via the top
bar (which I personally find unintuitive) navigation within that
namespace is broken because they're not reachable from the root index.
This commit adds back the missing references back to the root table of
contents so navigation works again.

The other changes are relatively minor as it just fixes up the FAQ page
which I mostly didn't realize existed prior to looking at the docs just
now. Primarily it cleans up some irrelevant questions and also uses
proper sphinx references to point to the install guide when needed.

* Update docs/faq.rst

Co-authored-by: Kevin Hartman <kevin@hart.mn>

* Update docs/index.rst

* Fix more missing pages

* Split out API references into separate toctree

* Fix typo in index.rst

Co-authored-by: Junye Huang <h.jun.ye@gmail.com>

* add latest agreed sidebar

* add back missing overview and qc_intro page

* make diff cleaner

* remove unnecessary maxdepth

* add explicit text to Aer and ibmq provider api links

---------

Co-authored-by: Kevin Hartman <kevin@hart.mn>
Co-authored-by: Junye Huang <h.jun.ye@gmail.com>
* Remove ibmq provider API build and deprecation extension

* Update ibmq provider link

* Remove deprecation extension from setup

* Run tox -efmt

* Removed ibmq provider installation from getting started

* Remove note about terra's RuntimeWarning when you don't have aer or ibmq

---------

Co-authored-by: Junye Huang <h.jun.ye@gmail.com>
Fixes the majority of docs failures, which are broadly these categories:

* Invalid references
* Invalid Sphinx syntax
* Config out of sync with qiskit-terra, e.g. missing doctest and qasm3 requirements.

We can't yet enable `sphinx-build -W` because there are some bigger issues still:

* Stop using `sphinx-redirects`: Qiskit/qiskit-metapackage#1738
* Fix an issue in the qiskit-tutorials repo, which should also be setting `-W` in its CI.
See https://github.com/Qiskit/qiskit_sphinx_theme/releases/tag/1.12.0rc1 for the changelog. Tl;dr: this fixes several CSS bugs and allows us to move a bunch of custom extension code into qiskit_sphinx_theme.
* Remove unused docs images

* Move images from _static to images/

---------

Co-authored-by: Luciano Bello <bel@zurich.ibm.com>
The main change is the new `qiskit` theme based on Furo, but we don't
yet activate that.

Otherwise, the only relevant change is simplifying the API for custom
directives. And fixing 404 errors about missing Thebe files.

--

This also fixes the images not working for two `qiskit-card`s, which I
accidentally broke in
Qiskit/qiskit-metapackage#1749. For
`qiskit-card`, the images apparently must live in the `_static` folder
for Sphinx to know to include the images in the final build. This is
unlike when we normally use images.
…apackage#1788)

This removes many sections of the documentation that refer to the
metapackage as a whole, the elements of the metapackage, or refer to
Terra as Terra. This is intended to be in line with the new branding
decisions around the Qiskit project.

With the current community management structure still a little up in the
air, we are (at least temporarily) removing the repository-decision
flowchart from the documentation, since this documentation will
primarily be for Qiskit Terra. The contributor flowchart, or something
similar, may end up on the landing pages of the Ecosystem documentation,
or another community hub.


I've left references to "Terra" in place, because those should still
logically be removed as part of the general migration in naming within
the Terra repository. I've also left the build processes in place that
`git clone` Terra and the tutorials; we need those to continue having a
working docs build in this repo. They'll get modified as these files get
merge to Terra as well, but they need to stay alive here.

One of the notable removals is the API docs links to Aer and IBMQ from
the main page, since as of the deployed metapackage version (0.44),
those are no longer part of the metapackage.

Fix Qiskit/qiskit-metapackage#1787.
Fix Qiskit/qiskit-metapackage#1778 - mostly; the version logic is _way_ stripped down, and will
now automatically work on Terra at least as much as we need when the
files are merged.
Fix Qiskit/qiskit-metapackage#1667 
Fix Qiskit/qiskit-metapackage#1643
https://github.com/Qiskit/qiskit-tutorials has been archived because the
docs are now built in this repository and we want to simplify our docs
infrastructure.

This PR merges the qiskit-tutorials repository here for the relevant
tutorials, preserving its Git history. It uses `git-filter-repo` to
tweak the Git history of `qiskit-tutorials` to be consumable in this
repository, such as changing of `tutorials/` to be `docs/tutorials`. It
also prunes irrelevant commits since we only copy over the tutorials
that are currently in use and we ignore files like README.md that aren't
copied over.

See
[tutorials_migration.zip](https://github.com/Qiskit/qiskit/files/12442282/tutorials_migration.zip)
for how the migration was generated; credit to @jakelishman for the
original script used in Qiskit/qiskit#10611.
Then, I used `git merge --allow-unrelated-histories
qiskit-tutorials/master`, with the remote `qiskit-tutorials` pointed at
the prepared local repository.

The merge was clean. This PR adds two commits on tip:

* Removes the `prepare_tutorials.bash` script and placeholder tutorials
that were used to download the tutorials from `qiskit-tutorials`
dynamically. No need now that they live in the same repository.
* Updates the tutorials with the most recently executed versions from
CI.
@CLAassistant
Copy link

CLAassistant commented Oct 12, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
14 out of 22 committers have signed the CLA.

✅ diego-plan9
✅ jaygambetta
✅ mtreinish
✅ nonhermitian
✅ SooluThomas
✅ Cryoris
✅ divshacker
✅ garrison
✅ psschwei
✅ 1ucian0
✅ jakelishman
✅ NG-Glen
✅ Guillermo-Mijares-Vilarino
✅ Eric-Arellano
❌ derivation
❌ RohitMidha23
❌ shaashwat
❌ lcapelluto
❌ filipecorrea
❌ g-ebbs
❌ qiskit-bot
❌ atharva-satpute
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Collaborator

@javabster javabster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM 🚀

just an fyi, once qiskit 1.0 goes out we will need to update the platform support section (the changes are currently being tracked here: Qiskit/qiskit#10902)

@Eric-Arellano Eric-Arellano merged commit bfd87d8 into main Oct 12, 2023
3 of 4 checks passed
@Eric-Arellano Eric-Arellano deleted the EA/migrate-two-more branch October 12, 2023 20:14
frankharkins pushed a commit to frankharkins/documentation that referenced this pull request Jul 22, 2024
Qiskit#164)

We didn't realize these also should be brought over.

This uses the same script from
Qiskit#91, but with this file
list:

```
docs/getting_started.rst
docs/tutorials/circuits_advanced/03_advanced_circuit_visualization.ipynb

# Original names
docs/getting_started_with_qiskit.rst
docs/tutorials/terra/advanced/3_advanced_circuit_visualization.ipynb
docs/tutorials/circuits_advanced/3_advanced_circuit_visualization.ipynb
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.