Skip to main content

GrimoireLab: Unify, eventize and enrich information from Perceval

Project description

Ceres Build Status Coverage Status

Ceres is a library that aims at dealing with data in general, and software development data in particular.

The initial goal of Ceres is to parse information in several ways from the Perceval tool in the GrimoireLab project.

However, the more code is added to this project, the more generic methods are found to be useful in other areas of analysis.

The following are the areas of analysis that Ceres can help at:

Eventize

The 'eventizer' helps to split information coming from Perceval. In short, Perceval produces JSON documents and those can be consumed by Ceres and by the 'eventizing' side of the library.

By 'eventizing', this means the process to parse a full Perceval JSON document and produce a Pandas DataFrame with certain amount of information.

As an example, a commit contains information about the commit itself, and the files that were 'touched' at some point. Depending on the granularity of the analysis Ceres will work in the following way:

  • Granularity = 1: This is the first level and produces 1 to 1 relationship with the main items in the original data source. For example 1 commit would be just 1 row in the resultant dataframe. This would be a similar case for a code review process in Gerrit or in Bugzilla for tickets.
  • Granularity = 2: This is the second level and depends on the data source how in depth this goes. In the specific case of commits, this would return n rows in the dataframe. And there will be as many rows as files where 'touched' in the original data source.

Format

The format part of the library contains some utils that are useful for some basic formatting actions such as having a whole column in the Pandas dataframe with the same string format.

Another example would be the use of the format utils to cast from string to date using datetuils and applying the method to a whole column of a given dataframe.

Filter

The filter utility basically removes rows based on certain values in certain cells of a dataframe.

Data Enrich

This is the utility most context-related together with the eventizing actions. This will add or modify one or more columns in several ways.

There are several examples such as taking care of the surrogates enabling UTF8, adding new columns based on some actions on others, adding the gender of the name provided in another column, and others.

How can you help here?

This project is still quite new, and the development is really slow, so any extra hand would be really awesome, even giving directions, pieces of advice or feature requests :).

And of course, using the software would be great!

Where to start?

The examples folder contains some of the clients I've used for some analysis such as the gender analysis or to produce dataframes that help to understand the areas of the code where developers are working.

Those are probably a good place to have a look at.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cereslib-0.3.2.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cereslib-0.3.2-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file cereslib-0.3.2.tar.gz.

File metadata

  • Download URL: cereslib-0.3.2.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.7 Linux/5.15.0-1020-azure

File hashes

Hashes for cereslib-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c28ac074b195b99bda9e37da44bad06aa9bcc4aa8710dbfc3c5c1ed58e790e76
MD5 63cec5b855441ce56b75b647b835488e
BLAKE2b-256 dcd5905c41ee7d2878b9f02f700e9612448043f6a7ad48fe1c82d316edc34ca3

See more details on using hashes here.

File details

Details for the file cereslib-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: cereslib-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.7 Linux/5.15.0-1020-azure

File hashes

Hashes for cereslib-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 06ce1f0fc0f0c350b2c14af0701bde7295e31aa73e67aa6ddcaa460161c4a90b
MD5 1601ffc6c9f57d8838f5420e8e6a6390
BLAKE2b-256 1765e57cc31ebdc063320fec024bf429018e67b54bec4424607e283d0ca6d848

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page