Docs: Server setup quick docs
@@ -10,12 +10,12 @@ and have access to permanent storage. This location is often either research
groups local computers, a supercomputer with appropriately allocated
resources for this task, or the cloud.
+
Using the Command Line
----------------------
-
-A ``qcfractal-server`` instance can be created from the command line:
-
+A ``qcfractal-server`` instance for long-term computation should be created from
+the command line like so:
.. code-block:: console
@@ -40,14 +40,6 @@ MongoDB locations can be passed in with the ``--database-uri`` flag. Multiple
>>> mkdir -p $MONGOPATH
>>> mongod --dbpath $MONGOPATH
-Using the Python API
---------------------
-
-TODO
-
-Server with Compute
--------------------
-
For small or trial instances of ``qcfractal-server`` an instance can be spun
up with compute with the following lines:
@@ -58,3 +50,49 @@ up with compute with the following lines:
This will create a ``qcfractal-manager`` attached to the ``qcfractal-server``
with a ProcessPoolExecutor attached.
+Within a Python Script
+----------------------
+
+Canonical workflows can be run from a Python script using the ``FractalSnowflake``
+instance. With default options a ``FractalSnowflake`` will spin up a database backend
+which contains no data and then destroy this database upon shudown.
+
+.. warning::
+
+ All data inside a ``FractalSnowflake`` is temporary and will be deleted when the
+ ``FractalSnowflake`` shuts down.
+
+.. code-block:: python
+
+ >>> from qcfractal import FractalSnowflake
+ >>> from qcfractal.int
+ >>> server = FractalSnowflake()
+
+ # Obtain a FractalClient to the server
+ >>> client = server.client()
+
+A standard ``FractalServer`` cannot be started in a Python script and then interacted with
+as a ``FractalServer`` uses asynchronous programming by default. ``FractalServer.start`` will
+stop the script.
+
+
+Within a Jupyter Notebook
+-------------------------
+
+Due to the way Jupyter Notebooks work an interactive server needs to take a different approach
+than the canonical Python script. To manipulate a server in a Jupyter Notebook a
+``FractalSnowflakeHandler`` can be used much in the same way as a ``FractalSnowflake``.
+
+.. warning::
+
+ All data inside a ``FractalSnowflakeHandler`` is temporary and will be deleted when the
+ ``FractalSnowflakeHandler`` shuts down.
+
+.. code-block:: python
+
+ >>> from qcfractal import FractalSnowflakeHandler
+ >>> from qcfractal.int
+ >>> server = FractalSnowflakeHandler()
+
+ # Obtain a FractalClient to the server
+ >>> client = server.client()
\ No newline at end of file
