https://github.com/chaoss/grimoirelab-core

https://github.com/chaoss/grimoirelab-core

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords from Contributors

grimoirelab orchestration software-analytics data-enrichment
Last synced: 11 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: chaoss
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 1.86 MB
Statistics
  • Stars: 1
  • Watchers: 4
  • Forks: 5
  • Open Issues: 11
  • Releases: 2
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Authors

README.md

GrimoireLab Core

GrimoireLab scheduler to fetch data from software repositories.

The scheduler is a distributed job queue that schedules and executes Perceval. The platform has one or more workers that will run each Perceval job.

The repositories whose data will be fetched are added to the platform using a REST API. Then, the server transforms these repositories into Perceval jobs and schedules them between its job queues.

Workers are waiting for new jobs checking these queues. Workers only execute a job at a time. When a new job arrives, an idle worker will take and run it. Once a job is finished, if the result is successful, the server will re-schedule it to retrieve new data.

By default, items fetched by each job will be published using a Redis queue.

Requirements

  • Python >= 3.11
  • Redis database
  • MySQL database

You will also need some other libraries for running the tool, you can find the whole list of dependencies in pyproject.toml file.

Installation

There are several ways to install GrimoireLab core on your system: packages or source code using Poetry or pip.

PyPI

GrimoireLab core can be installed using pip, a tool for installing Python packages. To do it, run the next command: $ pip install grimoirelab-core

Source code

To install from the source code you will need to clone the repository first: $ git clone https://github.com/grimoirelab/grimoirelab-core $ cd grimoirelab-core

Then use pip or Poetry to install the package along with its dependencies.

Pip

To install the package from local directory run the following command: $ pip install . In case you are a developer, you should install grimoirelab-core in editable mode: $ pip install -e .

Poetry

We use poetry for dependency management and packaging. You can install it following its documentation. Once you have installed it, you can install grimoirelab-core and the dependencies in a project isolated environment using: $ poetry install To spaw a new shell within the virtual environment use: $ poetry shell

Usage

``` $ grimoirelab Usage: grimoirelab [OPTIONS] COMMAND [ARGS]...

CHAOSS toolset for software development analytics

Options: --help Show this message and exit.

Commands: config GrimoireLab administration tool. fetch-task Scheduler commands. queues Manage the GrimoireLab Redis queues run Run a service. ```

Configuration

The first step is to run a Redis server and a MySQL database that will be used for communicating components and storing results. Please refer to their documentation to know how to install and run them both.

Configure the database

grimoirelab config setup

Run a scheduler worker

grimoirelab run scheduler-worker

Create a Git fetch task

grimoirelab fetch-task git https://github.com/chaoss/grimoirelab.git

Consume items from the queue

grimoirelab run test-perceval-consumer

Configuration variables

By default, GrimoireLab runs using a configuration file defined at grimoirelab.core.config.settings. You can update that file or use environment variables.

Running tests

GrimoireLab core comes with a comprehensive list of unit tests

(.venv)$ ./manage.py test --settings=config.settings.testing

Owner

  • Name: CHAOSS
  • Login: chaoss
  • Kind: organization

GitHub Events

Total
  • Issues event: 8
  • Delete event: 6
  • Issue comment event: 19
  • Push event: 50
  • Pull request review comment event: 54
  • Pull request review event: 80
  • Pull request event: 89
  • Create event: 7
Last Year
  • Issues event: 8
  • Delete event: 6
  • Issue comment event: 19
  • Push event: 50
  • Pull request review comment event: 54
  • Pull request review event: 80
  • Pull request event: 89
  • Create event: 7

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 103
  • Total Committers: 3
  • Avg Commits per committer: 34.333
  • Development Distribution Score (DDS): 0.602
Past Year
  • Commits: 92
  • Committers: 3
  • Avg Commits per committer: 30.667
  • Development Distribution Score (DDS): 0.652
Top Committers
Name Email Commits
Jose Javier Merchante j****e@b****m 41
Santiago Dueñas s****s@b****m 31
Eva Millán e****n@b****m 31
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 6
  • Total pull requests: 108
  • Average time to close issues: 20 days
  • Average time to close pull requests: 14 days
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.33
  • Merged pull requests: 79
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 6
  • Pull requests: 100
  • Average time to close issues: 20 days
  • Average time to close pull requests: 8 days
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.29
  • Merged pull requests: 72
  • Bot issues: 0
  • Bot pull requests: 8
Top Authors
Issue Authors
  • jjmerchante (3)
  • sduenas (2)
  • canasdiaz (1)
Pull Request Authors
  • jjmerchante (48)
  • evamillan (33)
  • sduenas (19)
  • dependabot[bot] (8)
Top Labels
Issue Labels
enhancement (2)
Pull Request Labels
dependencies (8) javascript (6) bug (2) python (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 16 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
pypi.org: grimoirelab-core

Core of GrimoireLab

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 16 Last month
Rankings
Dependent packages count: 9.8%
Average: 32.3%
Dependent repos count: 54.9%
Maintainers (1)
Last synced: 11 months ago

Dependencies

poetry.lock pypi
  • asgiref 3.7.2
  • django 3.2.23
  • pytz 2023.3.post1
  • sqlparse 0.4.4
  • typing-extensions 4.9.0
pyproject.toml pypi
  • django ^3.2
  • python ^3.8
.github/workflows/changelog.yml actions
  • bitergia/release-tools-check-changelog master composite
.github/workflows/docker-image.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • actions/download-artifact c850b930e6ba138125429b7e5c93fc707a7f8427 composite
  • chaoss/grimoirelab-github-actions/build master composite
  • docker/build-push-action 2cdde995de11925a030ce8070c3d77a52ffcf1c0 composite
  • docker/login-action e92390c5fb421da1463c202d546fed0ec5c39f20 composite
  • docker/metadata-action 8e5442c4ef9f78752691e2d8f8d19755c6f78e81 composite
  • docker/setup-buildx-action 2b51285047da1547ffb1b2203d8be4c0af6b1f20 composite
  • docker/setup-qemu-action 68827325e0b33c7199eb31dd4e31fbe9023e06e3 composite
  • sigstore/cosign-installer 11086d25041f77fe8fe7b9ea4e48e3b9192b8f19 composite
.github/workflows/release.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • actions/download-artifact c850b930e6ba138125429b7e5c93fc707a7f8427 composite
  • actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
  • chaoss/grimoirelab-github-actions/build master composite
  • chaoss/grimoirelab-github-actions/publish master composite
  • chaoss/grimoirelab-github-actions/release master composite
  • mariadb 10.5 docker
.github/workflows/tests.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
  • mariadb 10.5 docker
docker/Dockerfile docker
  • debian bookworm-slim build
requirements_dev.txt pypi