Prosoul is a software quality models manager to create, import/export, view and edit models.
Description
The goal of this project is to create a web editor and viewer for software quality models that are used to show metrics in a meaning way. Also, importers and exporters for the different quality models used in the industry will be implemented so they can be used as models or evolved for the creation of new quality models.
In the initial version the metrics supported will be the CROSSMINER ones.
Based on the models, visualizations and assessment for the projects are generated. In the inital version Kibana dashoards will be created using GrimoireLab.
The final goal is to have a tool for “Automatic Project Assessment and Visualization based on Evolved Quality Models”.
The original name for this project was Meditor but is was chaged to Prosoul because meditor already was used in pip.
Source code and contributions
All the source code is available in the Prosoul GitHub repository. Please, upload pull requests if you have proposals to change the source code, and open an issue if you want to report a bug, ask for a new feature, or just comment something.
The code of conduct must be followed in all contributions to the project.
Execution
Prosoul is a Django application. The recommended way to execute it is inside a python virtual environment.
Change VENV_DIR with the path to the folder in which you want to store the virtual environment.
From source code repository
This is the recommend way if you want to contribute to the development of ProSoul.
git clone https://github.com/Bitergia/prosoul.git cd prosoul/django-prosoul prosoul/django-prosoul $ mkdir -p VENV_DIR prosoul/django-prosoul $ python3 -m venv VENV_DIR prosoul/django-prosoul $ source VENV_DIR/bin/activate prosoul/django-prosoul $ pip3 install -r requirements.txt
And to start the Django application:
prosoul/django-prosoul $ python3 manage.py makemigrations prosoul/django-prosoul $ python3 manage.py migrate prosoul/django-prosoul $ python3 manage.py runserver
By default the applicacion will be accesible in: http://127.0.0.1:8000/
From pip package
There is also a pip package with the Django application. You can just deploy it in a Django site:
mkdir -p VENV_DIR python3 -m venv VENV_DIR source VENV_DIR/bin/activate pip install django pip install django-prosoul
and you need to add the application following the normal steps in Django:
django-admin startproject mysite
cd mysite
vi mysite/settings.py
...
INSTALLED_APPS = [
'django.contrib.admin',
...
'prosoul'
]
mysite (venv) $ vi mysite/urls.py
...
from django.conf.urls import include, url
...
urlpatterns = [
path('admin/', admin.site.urls),
path('prosoul/', include('prosoul.urls')),
]
mysite (venv) $ python manage.py migrate
mysite (venv) $ python manage.py runserver
Using a docker image
A docker image is also available to execute the application:
prosoul/docker $ docker-compose up
Basic Usage
There is two introductory videos: showing the import and view feature, and howto use the editor for adding a new quality model:
Import and view of quality models: prosoul-intro.webm
Adding a new quality model: prosoul-editor.webm
Creating a viz and an assessment based on a quality model: prosoul-viz-assess.webm
Import / Export
Import and export for quality models can be done using the web interface or from the command line:
Import a model from a OSSMeter JSON file:
prosoul/django-prosoul $ PYTHONPATH=. prosoul/prosoul_import.py -f prosoul/data/ossmeter_qm.json --format ossmeter
Export a model to a GrimoireLab JSON file:
prosoul/django-prosoul $ PYTHONPATH=. prosoul/prosoul_export.py -f prosoul/data/ossmeter_qm_grimoirelab.json --format grimoirelab -m "Default OSSMETER quality model"
Requirements
Python >=3.4
setuptools
django
kidash
requests
python3-tk
matplotlib
Architecture
A draft diagram for the architecture is:
Prosoul with CROSSMINER
There is a specific guide for using prosoul with CROSSMINER for creating the visualization for a quality model and generating the assessment of the projects with CROSSMINER.
There is a demo online of prosoul for CROSSMINER.
Prosoul with GrimoireLab
There is a specific guide for using prosoul with GrimoireLab for creating the visualization for a quality model and generating the assessment of the projects with GrimoireLab.
ROADMAP
The ROADMAP for Prosoul is based on GitHub milestones. The current active work is done in the issues related to the current milestone.
License
Licensed under GNU General Public License (GPL), version 3 or later.
Metadata
Release files for django-prosoul 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django-prosoul-0.4.0.tar.gz | 129.5 kB | Without provenance | Details for django-prosoul-0.4.0.tar.gz |
Release files / django-prosoul-0.4.0.tar.gz
| Download URL | django-prosoul-0.4.0.tar.gz |
|---|---|
| Size | 129.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4d157056363697dca35fe22849577ededb2622f2e3249ce0db767914c41010ad
|
|
BLAKE2b-256 checksum How to use checksums |
f5d17697a50a11ecb9f736dc9a576e631504f669e0cb28d136d11d85c2be4d17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.3
|
Security for django-prosoul 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.