Repository: quantumlib/Cirq

Issue:
Sphinx issues 
**Description of the issue**

Locally on Sphinx 3.1.2 on my Mac I see 3 warnings generated from the build-docs.sh execution: 

```
/Users/balintp/dev/proj/Cirq/cirq/google/__init__.py:docstring of cirq.google.NAMED_GATESETS:1: WARNING: Inline strong start-string without end-string.
/Users/balintp/dev/proj/Cirq/docs/api.rst.rst:41: WARNING: autosummary: stub file not found 'cirq.qft'. Check your autosummary_generate setting.
/Users/balintp/dev/proj/Cirq/docs/api.rst:541:<autosummary>:1: WARNING: Inline strong start-string without end-string.
```

1) For this first one: I think we should put some docs on `NAMED_GATESET` - sphinx generates the docs of `dict()` for it 🤯 
https://cirq.readthedocs.io/en/latest/api.html#google - which probably changed in one version of sphinx (on my Mac 3.1.2) which in now includes `**kwargs` which then causes sphinx to think there is an unclosed `**` (strong formatting). 

2 and 3) But also we should look into the other two warnings.

4) Then we should also try to figure out what is broken in Sphinx 3.2.0 - that might actually point us to something that is a real issue (see #3200). 

**How to reproduce the issue**

`./dev-tools/build-docs.sh` 

**Cirq version**

master 


Discussion:

Resolving patch:
diff --git a/cirq/google/gate_sets.py b/cirq/google/gate_sets.py
--- a/cirq/google/gate_sets.py
+++ b/cirq/google/gate_sets.py
@@ -110,6 +110,9 @@
     'fsim': FSIM_GATESET,
 }
 
+document(NAMED_GATESETS,
+         """"A convenience mapping from gateset names to gatesets""")
+
 GOOGLE_GATESETS = [
     SYC_GATESET,
     SQRT_ISWAP_GATESET,
diff --git a/cirq/google/line/placement/greedy.py b/cirq/google/line/placement/greedy.py
--- a/cirq/google/line/placement/greedy.py
+++ b/cirq/google/line/placement/greedy.py
@@ -290,11 +290,11 @@ def __init__(self, algorithm: str = 'best') -> None:
 
         Args:
             algorithm: Greedy algorithm to be used. Available options are:
-            best - runs all heuristics and chooses the best result,
-            largest_area - on every step takes the qubit which has connection
-            with the largest number of unassigned qubits, and
-            minimal_connectivity - on every step takes the qubit with minimal
-            number of unassigned neighbouring qubits.
+                best - runs all heuristics and chooses the best result,
+                largest_area - on every step takes the qubit which has
+                connection with the largest number of unassigned qubits, and
+                minimal_connectivity - on every step takes the qubit with
+                minimal number of unassigned neighbouring qubits.
         """
         self.algorithm = algorithm
 
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -268,3 +268,6 @@ def autodoc_process(app, what: str, name: str, obj: Any, options,
 # Generate subpages for reference docs automatically.
 # http://www.sphinx-doc.org/en/master/ext/autosummary.html#generating-stub-pages-automatically
 autosummary_generate = True
+
+# to resolve name clashes between the generated files
+autosummary_filename_map = {"cirq.QFT": "cirq.QFT_deprecated"}


Test patch: