Metadata-Version: 2.1
Name: km3pipe
Version: 9.0.0b1
Summary: An analysis framework for KM3NeT
Home-page: http://git.km3net.de/km3py/km3pipe
Author: Tamas Gal and Moritz Lotze
Author-email: tgal@km3net.de
License: UNKNOWN
Platform: any
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Requires-Python: >=3.5
Requires-Dist: docopt
Requires-Dist: h5py
Requires-Dist: km3io (>=0.16.1)
Requires-Dist: matplotlib (>=3.0.0)
Requires-Dist: numba (>=0.49.0)
Requires-Dist: numpy (>=1.17.0)
Requires-Dist: pandas
Requires-Dist: particle (>=0.8.0)
Requires-Dist: passlib
Requires-Dist: requests
Requires-Dist: scipy (>=1.3.1)
Requires-Dist: seaborn
Requires-Dist: setuptools (>=40.6.2)
Requires-Dist: setuptools-scm
Requires-Dist: tables (>=3.4.2)
Requires-Dist: thepipe (>=1.3.3)
Requires-Dist: toml
Requires-Dist: tqdm
Requires-Dist: urwid
Provides-Extra: dev
Requires-Dist: black ; extra == 'dev'
Requires-Dist: km3net-testdata (>=0.2.5) ; extra == 'dev'
Requires-Dist: mock ; extra == 'dev'
Requires-Dist: numpydoc (==0.9.2) ; extra == 'dev'
Requires-Dist: pillow ; extra == 'dev'
Requires-Dist: pydocstyle ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-flake8 ; extra == 'dev'
Requires-Dist: pytest-pylint ; extra == 'dev'
Requires-Dist: pytest-watch ; extra == 'dev'
Requires-Dist: sphinx-gallery (>=0.1.12) ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme (>=0.3) ; extra == 'dev'
Requires-Dist: sphinx (>=1.6.3) ; extra == 'dev'
Requires-Dist: sphinxcontrib-napoleon (>=0.6.1) ; extra == 'dev'
Requires-Dist: sphinxcontrib-programoutput (>=0.11) ; extra == 'dev'
Requires-Dist: sphinxcontrib-websupport (>=1.0.1) ; extra == 'dev'
Requires-Dist: sphinx-autoapi ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: wheel ; extra == 'dev'

KM3Pipe
=======

.. image:: https://git.km3net.de/km3py/km3pipe/badges/master/pipeline.svg
    :target: https://git.km3net.de/km3py/km3pipe/pipelines

.. image:: https://git.km3net.de/km3py/km3pipe/badges/master/coverage.svg
    :target: https://km3py.pages.km3net.de/km3pipe/coverage

.. image:: https://api.codacy.com/project/badge/Grade/9df4849cb9f840289bf883de0dc8e28f
   :alt: Codacy Badge
   :target: https://app.codacy.com/app/tamasgal/km3pipe?utm_source=github.com&utm_medium=referral&utm_content=tamasgal/km3pipe&utm_campaign=Badge_Grade_Settings

.. image:: https://examples.pages.km3net.de/km3badges/docs-latest-brightgreen.svg
    :target: https://km3py.pages.km3net.de/km3pipe

.. image:: https://zenodo.org/badge/24634697.svg
   :target: https://doi.org/10.5281/zenodo.808829


KM3Pipe is a framework for KM3NeT related stuff including MC, data files, live
access to detectors and databases, parsers for different file formats and an
easy to use framework for batch processing.

The main Git repository, where issues and merge requests are managed can be
found at https://git.km3net.de/km3py/km3pipe.git

The framework tries to standardise the way the data is processed by providing
a Pipeline-class, which can be used to put together different built-in or user
made Pumps, Sinks and Modules. Pumps act as data readers/parsers (from files,
memory or even socket connections), Sinks are responsible for writing data to
disk and Modules take care of data processing, output and user interaction.
Such a Pipeline setup can then be used to iteratively process data in a file or
from a stream. In our case for example, we store several thousands of neutrino
interaction events in a bunch of files and KM3Pipe is used to stitch together
an analysis chain which processes each event one-by-one by passing them through
a pipeline of modules.

Although it is mainly designed for the KM3NeT neutrino detectors, it can easily
be extended to support any kind of data formats. The core functionality is
written in a general way and is applicable to all kinds of data processing
workflows.

To start off, run::

    pip install km3pipe

If you have Docker (https://www.docker.com) installed, you can start using
KM3Pipe immediately by typing::

    docker run -it docker.km3net.de/km3pipe

Feel free to get in touch if you’re looking for a small, versatile framework
which provides a quite straightforward module system to make code exchange
between your project members as easily as possible. KM3Pipe already comes with
several types of Pumps, so it should be easy to find an example to implement
your owns. As of version 8.0.0 you find Pumps and Sinks based on popular
formats like HDF5 (https://www.hdfgroup.org), ROOT (https://root.cern.ch) but
also some very specialised project internal binary data formats, which on the
other hand can act as templates for your own ones. Just have a look at the io
subpackage and of course the documentation if you’re interested!

Read the docs at https://km3py.pages.km3net.de/km3pipe or
(https://km3pipe.readthedocs.org), both updated on each push.

KM3NeT public project homepage http://www.km3net.org



