Metadata-Version: 2.4
Name: grimoirelab-chronicler
Version: 0.1.0
Summary: Generator of GrimoireLab events using Perceval data.
License: GPL-3.0+
License-File: AUTHORS
Keywords: software analytics,events,grimoirelab
Author: GrimoireLab Developers
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: cloudevents (>=1.10.1,<2.0.0)
Requires-Dist: coverage (>=7.2.3,<8.0.0)
Requires-Dist: grimoirelab-toolkit (>=0.3)
Project-URL: Homepage, https://chaoss.github.io/grimoirelab/
Project-URL: Repository, https://github.com/chaoss/grimoirelab-chronicler
Description-Content-Type: text/markdown

# Chronicler

Tool and library to convert Perceval data into events.

## Usage

```text
$ chronicler --help
Usage: chronicler [OPTIONS] DATASOURCE

Generates GrimoireLab events from the items obtained by Perceval.

The chronicler is a command line tool and a library that converts items
generated by Perceval into events. The tool reads these events from the
standard input or from a given file.

To run it, you will have to give the type of items the chronicler is
receiving with DATASOURCE argument (e.g. git, github, gitlab).

Output is produced using JSON format. Use the option <json_line>
to generate JSON object per line.

Options:
  --input FILENAME   File with perceval items
  --output FILENAME  File where events will be written
  --json-line        Produce a JSON line for each output item
  --version          Show the version and exit.
  --help             Show this message and exit.
```

You can connect the **Chronicler** with **Perceval** to generate events.

```sh
perceval git --json-line https://example.com | chronicler git
```

## Installation

There are several methods to install this tool.

### pip

```sh
pip install grimoirelab-chronicler
```

### poetry (source code)

We use [poetry](https://python-poetry.org/) for dependency management and
packaging. You can install **chronicler** and its dependencies on an
isolated environment provided by **poetry**.

```sh
poetry install
poetry shell
```

## Contributing

Chronicler is part of the GrimoireLab project. Please read its
[Contributing Guidelines](https://github.com/chaoss/grimoirelab/blob/main/CONTRIBUTING.md)
for more information.

