Metadata-Version: 2.0
Name: flowbber
Version: 1.2.1
Summary: Flowbber is a generic tool and framework that allows to execute custom pipelines for data gathering, publishing and analysis.
Home-page: https://docs.kuralabs.io/flowbber/
Author: KuraLabs S.R.L
Author-email: info@kuralabs.io
License: UNKNOWN
Description-Content-Type: UNKNOWN
Keywords: flowbber
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Requires-Dist: toml
Requires-Dist: ujson
Requires-Dist: colorlog
Requires-Dist: pprintpp
Requires-Dist: cerberus
Requires-Dist: setuptools
Requires-Dist: pytimeparse
Requires-Dist: setproctitle
Provides-Extra: archive
Provides-Extra: cobertura
Requires-Dist: pycobertura; extra == 'cobertura'
Provides-Extra: cpu
Requires-Dist: psutil; extra == 'cpu'
Provides-Extra: env
Provides-Extra: filter
Provides-Extra: git
Provides-Extra: github
Requires-Dist: pygithub; extra == 'github'
Provides-Extra: gtest
Provides-Extra: influx
Requires-Dist: influxdb; extra == 'influx'
Provides-Extra: json
Provides-Extra: lcov
Requires-Dist: lcov-cobertura; extra == 'lcov'
Provides-Extra: lcov_html
Provides-Extra: mongo
Requires-Dist: pymongo; extra == 'mongo'
Provides-Extra: print
Provides-Extra: pytest
Provides-Extra: sloc
Requires-Dist: pygount; extra == 'sloc'
Provides-Extra: speed
Requires-Dist: pyspeedtest; extra == 'speed'
Provides-Extra: template
Requires-Dist: jinja2; extra == 'template'
Provides-Extra: timestamp
Provides-Extra: user
Provides-Extra: valgrind_memcheck
Requires-Dist: xmltodict; extra == 'valgrind_memcheck'

======================================
Flowbber - The Data Pipeline Framework
======================================

Flowbber is a generic tool and framework that allows to execute custom
pipelines for data gathering, publishing and analysis.

.. image:: https://build.kuralabs.io/buildStatus/icon?job=GitHub/flowbber/master
   :target: https://build.kuralabs.io/job/GitHub/job/flowbber/job/master/
   :alt: Latest version released on PyPi


Documentation
=============

    https://docs.kuralabs.io/flowbber/


Install
=======

.. code-block:: sh

    pip3 install flowbber


Changelog
=========

1.2.1 (2017-11-26)
------------------

Fixes
~~~~~

- The InfluxDB sink is now compatible with influxdb client version 5.0.0.


1.2.0 (2017-11-13)
------------------

New
~~~

- New timezone option for the timestamp source.
- New source for Valgrind's Memcheck.
- Add lcov source and lcov html sink.
- New JSON source for fetch and parse local (file system) or remote
  (http, https) JSON files.
- The CoberturaSource now returns the list of ignored files.
- TemplateSink now support passing filters.
- All sinks can now filter the input data.
- New FilterAggregator allows to filter the data structure before sending it to
  the sinks.
- When using the TemplateSink, extra data can now be passed from the pipeline
  definition to the template by using the new 'payload' configuration option.
  Fixes #5.
- Each entry from the collected data can now be put into its own collection
  when using the MongoDBSink. Fixes #2.
- Added a source that counts lines of code in a directory.
- Added a new Git source that provides revision, tag and author information of
  a git repository.
- New GitHub source that allows to collect statistics of closed / open pull
  requests and issues.
- New Google Test source.
- Added a "pretty" option to the ArchiveSink to make JSON output pretty. Also,
  JSON file is now saved in UTF-8.
- Added new source plugin for pytest's JUnit-like XML test results.
- CoberturaSource now supports filenames include and exclude patterns.

Changes
~~~~~~~

- UserSource no longer returns the login key and instead returns a user key.
- Templates used in the TemplateSink can now load sibling templates.
  Previous way to specify python:// templates changed.
- MongoDBSink now uses None as default for the ``key`` configuration option.
  Related to #4.
- InfluxDBSink now uses None as default for the ``key`` configuration option.
  Related to #4.

Fixes
~~~~~

- Local flowconf can now be reloaded in the same process.
- Fix a deadlock condition when a non-optional component failed with still
  running siblings components.
- Fixes #6 : InfluxDBSink doesn't support None values.
- Journal is now saved in UTF-8.
- Fixed high CPU usage by the logging manager subprocess.
- ``flowbber.logging.print`` will now convert to string any input provided.
- Fix minor typo in EnvSource include / exclude logic.
- The pipeline executor will now join the process of a component (max 100ms)
  after fetching its response in order to try to get its exit code.


1.1.0 (2017-09-07)
------------------

New
~~~

- Added "optional" and "timeout" features to pipeline components.

Changes
~~~~~~~

- Git helpers now live into its own utilities module ``flowbber.utils.git``.

Fixes
~~~~~

- Fixed bug where pipeline execution counter didn't increment.


1.0.0 (2017-08-30)
------------------

New
~~~

- Initial version.


License
=======

::

   Copyright (C) 2017 KuraLabs S.R.L

   Licensed 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.


