Metadata-Version: 1.1
Name: up
Version: 0.2.0
Summary: Up - A next generation status monitor
Home-page: UNKNOWN
Author: Aaron Spaulding
Author-email: aaron@sachimp.com
License: UNKNOWN
Description: Up - A next generation status monitor
        =====================================
        
        Sometimes you just need to know, is it up? The goal of this project is to create an easy to use, but highly customizable status monitor.
        
        Setup
        -----
        
        First start by installing the environment.
        
        .. code-block:: bash
        
            $ mkdir example-status
        
            $ cd example-status
        
            $ virtualenv . -p python3 --no-site-packages
        
            $ bin/pip install up
        
        Now you need to create the `upfile.py`. It goes in the same folder as everything else. From here you can setup what you want to monitor.
        
        .. code-block:: python
        
            from up import status, source, sink
        
            class ExampleStatus(status.StatusMonitor):
        
                source = source.HTTPStatusSource('Example Status', 'https://example.com/')
                sink = sink.StdOutStatusSink()
        
        You can now run it like this.
        
        .. code-block:: bash
        
            $ bin/up
            Example Status: UP
        
        Monitoring Multiple URL's
        ~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Up uses a "tinker-toy" pattern allowing you to combine sources to build whatever
        kind of monitor you need. A `StatusTreeSource` will let you combine multiple
        sources into one.
        
        .. code-block:: python
        
            from up import status, source, sink
        
            class ExampleStatus(status.StatusMonitor):
        
                # You can also try a ThreadedTreeSource which runs the monitors
                # in parallel.
                source = source.StatusTreeSource('Example Status', [
                    source.HTTPStatusSource('PROD', 'https://example.com/'),
                    source.HTTPStatusSource('QA', 'https://qa.example.com/')
                ])
                sink = sink.StdOutStatusSink()
        
        Up will query each of the sources and give you a simplified status.
        
        .. code-block:: bash
        
            $ bin/up
            Example Status: HALF UP
        
        For more information use -v.
        
        .. code-block:: bash
        
            $ bin/up -v
            Example Status: HALF UP (50%)
                PROD: UP
                QA: DOWN
        
        Checking the status of GitHub
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Up comes with a source that reads from GitHub's status API.
        
        .. code-block:: python
        
            from up import status, source, sink
        
            class ExampleStatus(status.StatusMonitor):
        
                source = source.GitHubStatusSource('GitHub Status')
                sink = sink.StdOutStatusSink()
        
        .. code-block:: bash
        
            $ bin/up -v
            GitHub Status: UP
        
        
        Developers Setup
        ----------------
        
        .. code-block:: bash
        
            $ virtualenv . -p python3 --no-site-packages
        
            $ bin/python setup.py develop
        
        Changelog
        ---------
        
        - **Next** Nothing Yet.
        - 0.2.0 - Detect ConnectionError and set status to DOWN; Expose Web Interface; Experimental SNMP monitoring (will most likely change)
        - 0.1.0 - Initial release
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3.3
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Office/Business
