-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Overhaul top-level README.rst file #6903
base: main
Are you sure you want to change the base?
Conversation
This is a major overhaul of the main Cirq README.rst file. Much of the content is rewritten, and there are numerous additions and enhancements all over. The changes include but are not limited to: - Updates and corrections - Addition of new sections - Centering and resizing the logo for a more professional look - Addition of GitHub badges for extra "pizzazz" - Addition of a table of contents - Addition of pointers to other Quantumlib software - Improvements to info about how to cite Cirq
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #6903 +/- ##
=======================================
Coverage 97.86% 97.87%
=======================================
Files 1084 1084
Lines 94315 94408 +93
=======================================
+ Hits 92301 92398 +97
+ Misses 2014 2010 -4 ☔ View full report in Codecov by Sentry. |
Per discussion with @dstrain115 today, we're removing this image for the time being. We need to check with relevant QAI leadership about what images we are allowed to use on non-Google-hosted sites like GitHub.
@Dstrain had reservations about the way Stim was initially described. The new version puts Stim in its own category. I also shuffled the rows a little bit to try to put related things together.
Updated the README to account for changes requested by @dstrain115: removing the image of the quantum computer for now, and changing the description of Stim in the table in the Integrations section. |
README.rst
Outdated
meeting of contributors to discuss everything from issues to ongoing | ||
efforts, as well as to ask questions. Join the `cirq-dev Google Group | ||
<https://groups.google.com/forum/#!forum/cirq-dev>`__ to get an automatic | ||
meeting invitation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a quick note that this is for group membership and we don't typically post messages there, in case people see no one has posted in forever.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yes, that's a good point. I'll add a note.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, I reworded this a little bit – how is it now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see inline. I feel we should drop the conditional blocks also let us have a prominent link to the Cirq homepage.
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-3c60b1.svg?logo=opensourceinitiative&logoColor=white&style=flat-square | ||
:alt: Licensed under the Apache 2.0 license | ||
:target: https://github.com/quantumlib/Cirq/blob/main/LICENSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel some of the new badges duplicate existing content on our top GitHub page or are not very informative. Perhaps we could limit ourselves to fewer more essential badges.
Please consider removing
- license badge - the License link is already at the top of the README frame in project top page
- Google Colab - not sure if it helps a novice user, advanced users would likely already know about Colabs and Jupyter notebooks. There are colab links later on in the tutorial section where they are more helpful.
- Contributors badge - the link is in the Insights tab of the GH page, which more casual GH users would likely know about. We could add it as a hyperlink to the Community section instead, e.g., "Cirq has benefited from work of over 200 open-source contributors ..."
- GH stars badge - the same info is already at the top of the project page
`Features <#features>`__ – | ||
`Installation <#installation>`__ – | ||
`Quick Start <#quick-start-hello-qubit-example>`__ – | ||
`Documentation <#cirq-documentation>`__ – | ||
`Integrations <#integrations>`__ – | ||
`Community <#community>`__ – | ||
`Citing Cirq <#citing-cirq>`__ – | ||
`Contact <#contact>`__ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need TOC? The document does not feel that long for it to be essential.
My main concern is that the anchor links will likely break should section titles change in the future or become out-of-sync with the actual sections.
Perhaps we can save on overhead of manually maintaining the TOC here.
.. ▶︎─── start github-only ─── | ||
.. PyPI supports RST's ".. class::", but GitHub does not. PyPI respects | ||
.. ":align: center" for images, but GitHub does not. The only way to center | ||
.. text or images in GitHub is to use raw HTML -- which PyPI rejects (!!!). | ||
.. To satisfy both, this file contains fences around code that is removed | ||
.. when creating distributions for PyPI. | ||
|
||
.. raw:: html | ||
|
||
<div align="center"> | ||
.. ▶︎─── end github-only ─── |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please let us not add these optional blocks. It would impose a lot of overhead on future editors to keep them in sync and their HTML tags appropriately paired. I feel that centered format is just not worth the effort here.
Personally, the default left alignment looks fine to me. If we really must have centering it is OK to center on PyPI only and accept left alignment on GitHub.
Update - Let us apply centering in a follow-up PR together with a conversion of rst to markdown.
:alt: Download MARCXML bibliography record for latest Cirq release | ||
:target: https://zenodo.org/records/8161252/export/marcxml | ||
|
||
.. |csl| image:: https://img.shields.io/badge/Download%20record-eeeeee.svg?style=flat-square&label=CSL&labelColor=2d98e0&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAUCAMAAADbT899AAAACXBIWXMAAAnXAAAJ1wGxbhe3AAABGlBMVEUtmOBZreZhsuhSquVNp+RfsOcsmOD///92vOs3neHx+P2n1PLY7PrS6fmi0vE7nuJ8v+z+//9Tq+VJpuT8/v+Fw+3t9/2r1vPH4/fd7vovmeCf0PH0+v5uuOlesOfV6/nO5/ik0vLy+f41nOFbr+fL5vhVq+Y6nuLI5Pd6vutotelntOg/oOL2+/6YzfDb7vrQ6Pim1PLw+P04neHK5fcumOCUy+/4/P5CouNst+k7n+Lz+f6e0PFQqeX9/v9+wOwzm+Ht9v2w2PPB4fbg8PuPyO/7/f9HpeSt1/NLp+SDwu3p9fy33PV5vetVrOZSq+av2POczvA+oOJ1u+tFpOOMx+7q9fyy2fS+3/bi8fsxmuCWzPBBouNaruaHgOQWAAAAXnRSTlP////////+///////////////////////////////////////////////////////////////////////////////////////////////+/v//////////////////3JzDywAAAQRJREFUeJyNkddWwkAURS9VgyBFDYIFdewNlAQrVcVewQr+/2+Yc3gylwfuy5619pk5mYnIKBMIehOSMBD5r6L0Y5hxKwZMDAnEIRIyCcSSuiAFkc5MTYMz2ls2RFZmgVzeZ72KOYj55AI/ZNG/3QsUIJZkGVgxq2uY9Y1NYIuBbW7d2d0D9qUIlOQAOCzzFAfrolsBjo6DzJ+cngHnvGa1hnW90QRacgFc5q+A9jXf4QbrpuF1a9VbXveucQ88sGNQX3FZ70iW9eaRXU9D/gwDtjUIPGufSUOkDN/vJaoDCYi4vPL93rTv8ORAtw28a28+ID7lC/j+EVUR6mH6FvErOqDmD0UfH1PhwykNAAAAAElFTkSuQmCC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we truly need to include the base64 encoded PNG image in the link?
A shorter link
https://img.shields.io/badge/Download%20record-eeeeee.svg?style=flat-square&labelColor=2d98e0
appears to work as well.
@@ -62,65 +176,231 @@ A simple example to get you up and running: | |||
print("Results:") | |||
print(result) | |||
|
|||
Example output: | |||
You should see the following output printed by Python: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit - the result m
is random and will likely differ in user's run
You should see the following output printed by Python: | |
You should see a similar output printed by Python: |
|
||
Cirq is uploaded to Zenodo automatically. Click on the badge below to see all the citation formats for all versions. | ||
Tutorials |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The original README had a "Tutorials" link pointing to https://quantumai.google/cirq/build which is absent in the new version. I feel that page is very useful for new users, because the tutorials there are categorized by subject and link to nicely rendered notebooks, no need to figure and run colabs at all.
Can we add a leading bullet point for these? For example (feel free to reword as you see fit)
|
||
If you have feature requests or you found a bug, please `file them on GitHub <https://github.com/quantumlib/Cirq/issues/new/choose>`__. | ||
Cirq Documentation | ||
------------------ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The primary documentation source is the Cirq homepage (which seems to be missing).
Can we add it prominently as the first link in the Documentation?
This is a major overhaul of the main Cirq README.rst file. Much of the content is rewritten, and there are numerous additions and enhancements all over. The changes include but are not limited to:
Note: this new README.rst depends on PRs #6902 and #6901 to be merged into main before this file will fully work.
Below is a screenshot of what the result will look like. (Note: updated on 2025-01-09.)
Here is a PDF version of the same: New Cirq README