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
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
Metadata Files
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
- Website: https://chaoss.community/
- Twitter: chaossproj
- Repositories: 64
- Profile: https://github.com/chaoss
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
Top Committers
| Name | 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
Pull Request Labels
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
- Homepage: https://chaoss.github.io/grimoirelab/
- Documentation: https://grimoirelab-core.readthedocs.io/
- License: GPL-3.0+
-
Latest release: 0.0.1rc2
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- asgiref 3.7.2
- django 3.2.23
- pytz 2023.3.post1
- sqlparse 0.4.4
- typing-extensions 4.9.0
- django ^3.2
- python ^3.8
- bitergia/release-tools-check-changelog master composite
- 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
- 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
- actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
- actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
- mariadb 10.5 docker
- debian bookworm-slim build