Skip to content

Commit

Permalink
Merge pull request #226 from Parsely/feature/dsl_docs
Browse files Browse the repository at this point in the history
Add DSL docs and update bootstrap project
  • Loading branch information
dan-blanchard committed Mar 11, 2016
2 parents 0a267ba + dc05392 commit a89b518
Show file tree
Hide file tree
Showing 24 changed files with 668 additions and 536 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ _release/
_resources/
*.sw*
.tox/
.python-version
37 changes: 32 additions & 5 deletions doc/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Tuples
------

.. autoclass:: streamparse.Tuple
:no-members:
:no-inherited-members:

You should never have to instantiate an instance of a
:class:`streamparse.Tuple` yourself as streamparse handles this for you
Expand All @@ -22,7 +24,7 @@ Components
Both :class:`streamparse.Bolt` and :class:`streamparse.Spout` inherit from a
common base-class, :class:`streamparse.storm.component.Component`. It extends
pystorm's code for handling `Multi-Lang IPC between Storm and Python <https://storm.apache.org/documentation/Multilang-protocol.html>`__
and adds suport for our Python Topology DSL.
and adds suport for our Python :ref:`topology_dsl`.

Spouts
^^^^^^
Expand All @@ -31,24 +33,49 @@ Spouts are data sources for topologies, they can read from any data source and
emit tuples into streams.

.. autoclass:: streamparse.Spout
:inherited-members:
:show-inheritance:

Bolts
^^^^^

.. autoclass:: streamparse.Bolt
:inherited-members:
:show-inheritance:


.. autoclass:: streamparse.BatchingBolt
:inherited-members:
:show-inheritance:


Logging
-------

.. autoclass:: streamparse.StormHandler
:inherited-members:
:show-inheritance:
:no-inherited-members:

Topology DSL
------------

.. autoclass:: streamparse.Topology
:no-members:
:no-inherited-members:

.. autoclass:: streamparse.Grouping

.. autoclass:: streamparse.Stream

.. autoclass:: streamparse.JavaBolt
:members: spec
:no-inherited-members:

.. autoclass:: streamparse.JavaSpout
:members: spec
:no-inherited-members:

.. autoclass:: streamparse.ShellBolt
:members: spec
:no-inherited-members:

.. autoclass:: streamparse.ShellSpout
:members: spec
:no-inherited-members:
7 changes: 6 additions & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,11 @@
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False

# Add classes' __init__ method docstring to class doc output
autoclass_content = 'both'

# Cut down on a ton of repetition in our docs:
autodoc_default_flags = ['members', 'inherited-members']

# -- Options for HTML output ----------------------------------------------

Expand Down Expand Up @@ -140,7 +145,7 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# html_static_path = ['_static']

# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
Expand Down
21 changes: 1 addition & 20 deletions doc/source/develop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,6 @@ Lein

Install Leiningen according to the instructions in the quickstart.


Using Local Clojure Interop Library
------------------------------------

You can tell ``lein`` to point directly at streamparse's Clojure repo and use the
code there for all of the interop commands, so that you can test changes while
developing.

To do this, add a directory called ``checkouts`` and symlink it up::

mkdir checkouts
cd checkouts
ln -s ../../../streamparse/jvm streamparse
cd ..

Now, comment out the ``com.parsely/streamparse`` dependency in ``project.clj``.
It will now pick up the Clojure commands from your local repo. So, now you can
tweak and change them!

Local pip installation
----------------------

Expand All @@ -51,7 +32,7 @@ You can clone Storm from Github here::

There are tags available for releases, e.g.::

git checkout v0.9.2-incubating
git checkout v0.10.0

To build a local Storm release, use::

Expand Down
3 changes: 1 addition & 2 deletions doc/source/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,7 @@ How should I install streamparse on the cluster nodes?
streamparse assumes your Storm servers have Python, pip, and virtualenv
installed. After that, the installation of all required dependencies (including
streamparse itself) is taken care of via the `config.json` file for the
streamparse project and the sparse submit command. See :ref:`Remote Deployment`
for more information.
streamparse project and the ``sparse submit`` command.

Should I install Clojure?
~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
4 changes: 2 additions & 2 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Integrates with Apache Storm.
develop
faq

.. image:: https://raw.githubusercontent.com/Parsely/streamparse/master/doc/source/images/quickstart.gif
.. image:: images/quickstart.gif

.. raw:: html

Expand All @@ -37,4 +37,4 @@ Indices and tables
* :ref:`modindex`
* :ref:`search`

.. |logo| image:: https://raw.githubusercontent.com/Parsely/streamparse/master/doc/source/images/streamparse-logo.png
.. |logo| image:: images/streamparse-logo.png
Loading

0 comments on commit a89b518

Please sign in to comment.