paul-rogers commented on code in PR #13938:
URL: https://github.com/apache/druid/pull/13938#discussion_r1137610383


##########
examples/quickstart/jupyter-notebooks/README.md:
##########
@@ -65,6 +65,13 @@ Make sure you meet the following requirements before 
starting the Jupyter-based
     jupyter notebook --port 3001
     ```
 
+- The Python API client for Druid. From the Druid repo in 
`examples/quickstart/jupyter-notebooks/druidapi`
+  install `druidapi` with the following command:
+
+  ```bash
+  pip install .

Review Comment:
   What directory must I be in? Should I do this first?
   
   ```bash
   cd $DRUID_DEV/examples/quickstart/jupyter-notebooks/druidapi
   ```



##########
examples/quickstart/jupyter-notebooks/README.md:
##########
@@ -1,6 +1,6 @@
 # Jupyter Notebook tutorials for Druid
 
-If you are reading this in Jupyter, switch over to the [- START HERE -](- 
START HERE -.ipynb]
+If you are reading this in Jupyter, switch over to the [- START HERE 
-](-START%20HERE-.ipynb)

Review Comment:
   Awkward. If the MD tool doesn't handle spaces in names, let's just rename 
the notebook to `-START-HERE.ipynb`. We could also use '0' as the leading 
character: anything that sorts before letters.



##########
examples/quickstart/jupyter-notebooks/druidapi/druidapi/__init__.py:
##########
@@ -13,14 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from .druid import DruidClient
+from druidapi.druid import DruidClient
 
 def jupyter_client(endpoint) -> DruidClient:
     '''
     Create a Druid client configured to display results as HTML withing a 
Jupyter notebook.
     Waits for the cluster to become ready to avoid intermitent problems when 
using Druid.
     '''
-    from .html import HtmlDisplayClient
+    from .html_table import HtmlDisplayClient

Review Comment:
   Didn't I move all the display stuff into the `html.py` file as one of my 
last commits?



##########
examples/quickstart/jupyter-notebooks/druidapi/README.md:
##########
@@ -36,21 +39,25 @@ At present, the best way to use `druidapi` is to clone the 
Druid repo itself:
 git clone [email protected]:apache/druid.git
 ```
 
-`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`
+`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`.
+From this directory, install the package and its dependencies with pip using 
the following command:
 
-Eventually we would like to create a Python package that can be installed with 
`pip`. Contributions
-in that area are welcome.
+```
+pip install .
+```
 
-Dependencies are listed in `requirements.txt`.
+Verify your installation by checking that the following commands run in Python 
without error:
 
-`druidapi` works against any version of Druid. Operations that exploit newer 
features obviously work
-only against versions of Druid that support those features.
+```python
+import druidapi
+druid = druidapi.jupyter_client('http://localhost:8888')

Review Comment:
   Only the `import` is needed, which will fail if `druidapi` is not on the 
Python path.



##########
examples/quickstart/jupyter-notebooks/druidapi/README.md:
##########
@@ -36,21 +39,25 @@ At present, the best way to use `druidapi` is to clone the 
Druid repo itself:
 git clone [email protected]:apache/druid.git
 ```
 
-`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`
+`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`.
+From this directory, install the package and its dependencies with pip using 
the following command:
 
-Eventually we would like to create a Python package that can be installed with 
`pip`. Contributions
-in that area are welcome.
+```
+pip install .
+```

Review Comment:
   Same note as above.



##########
examples/quickstart/jupyter-notebooks/druidapi/druidapi/__init__.py:
##########
@@ -13,14 +13,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from .druid import DruidClient
+from druidapi.druid import DruidClient

Review Comment:
   These changes are not needed. In Python, '.' means relative to the present 
module. This allows us to, say, install `druidapi` twice: `druidapi` and 
`druidApiOld` and have both work.



##########
examples/quickstart/jupyter-notebooks/druidapi/README.md:
##########
@@ -36,21 +39,25 @@ At present, the best way to use `druidapi` is to clone the 
Druid repo itself:
 git clone [email protected]:apache/druid.git
 ```
 
-`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`
+`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`.
+From this directory, install the package and its dependencies with pip using 
the following command:
 
-Eventually we would like to create a Python package that can be installed with 
`pip`. Contributions
-in that area are welcome.
+```
+pip install .
+```
 
-Dependencies are listed in `requirements.txt`.
+Verify your installation by checking that the following commands run in Python 
without error:
 
-`druidapi` works against any version of Druid. Operations that exploit newer 
features obviously work
-only against versions of Druid that support those features.
+```python
+import druidapi
+druid = druidapi.jupyter_client('http://localhost:8888')
+```
 
-## Getting Started
+## Getting started
 
 To use `druidapi`, first import the library, then connect to your cluster by 
providing the URL to your Router instance. The way that is done differs a bit 
between consumers.
 
-### From a Tutorial Jupyter Notebook
+### From a tutorial Jupyter Notebook

Review Comment:
   Always odd that we don't use title case in titles... Is Notebook a proper 
noun here? Or, should this be:
   
   > From a tutorial Jupyter notebook



##########
examples/quickstart/jupyter-notebooks/druidapi/druidapi/datasource.py:
##########
@@ -32,28 +32,28 @@ class DatasourceClient:
 
     See 
https://druid.apache.org/docs/latest/operations/api-reference.html#datasources
     '''
-    
+

Review Comment:
   I gotta find the trick in VS Code that drops trailing spaces automatically...



##########
examples/quickstart/jupyter-notebooks/druidapi/README.md:
##########
@@ -36,21 +39,25 @@ At present, the best way to use `druidapi` is to clone the 
Druid repo itself:
 git clone [email protected]:apache/druid.git
 ```
 
-`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`
+`druidapi` is located in `examples/quickstart/jupyter-notebooks/druidapi/`.
+From this directory, install the package and its dependencies with pip using 
the following command:

Review Comment:
   Took me a moment to realize you had introduced another directory level. That 
is helpful: there is not a place to put the test code that I currently have 
sitting off to the side. Would be good to mention this structure to make it 
obvious that there there are two `druidapi` directories here.



##########
examples/quickstart/jupyter-notebooks/druidapi/setup.py:
##########
@@ -0,0 +1,37 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from setuptools import setup, find_packages
+
+setup(
+    name='druidapi',
+    version='0.1.0',
+    description='Python API client for Apache Druid',
+    
url='https://github.com/apache/druid/tree/master/examples/quickstart/jupyter-notebooks/druidapi',
+    author='Paul Rogers',

Review Comment:
   Maybe change this to "Apache Druid project".



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to