SODAR Core

SODAR Core: a Django-based framework for scientific data management and analysis web apps - Published in JOSS (2020)

https://github.com/bihealth/sodar-core-legacy

Science Score: 49.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
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Scientific Fields

Engineering Computer Science - 60% confidence
Biochemistry, Genetics and Molecular Biology Life Sciences - 40% confidence
Last synced: 6 months ago · JSON representation

Repository

LEGACY repository for SODAR Core, preserved for saving review-related issues. See "sodar-core" for the up-to-date repository.

Basic Info
  • Host: GitHub
  • Owner: bihealth
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 5.41 MB
Statistics
  • Stars: 15
  • Watchers: 7
  • Forks: 4
  • Open Issues: 0
  • Releases: 33
Archived
Created about 7 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Authors Codemeta

README.rst

SODAR Core
^^^^^^^^^^

.. image:: https://badge.fury.io/py/django-sodar-core.svg
    :target: https://badge.fury.io/py/django-sodar-core

.. image:: https://github.com/bihealth/sodar-core/workflows/build/badge.svg
    :target: https://github.com/bihealth/sodar-core/actions?query=workflow%3ABuild

.. image:: https://app.codacy.com/project/badge/Grade/77c0057a041f4e0c9a0bfc79e9023e04
    :target: https://www.codacy.com/app/bihealth/sodar-core/dashboard

.. image:: https://app.codacy.com/project/badge/Coverage/77c0057a041f4e0c9a0bfc79e9023e04
    :target: https://www.codacy.com/gh/bihealth/sodar-core/dashboard

.. image:: https://img.shields.io/badge/License-MIT-green.svg
    :target: https://opensource.org/licenses/MIT

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/ambv/black

.. image:: https://readthedocs.org/projects/sodar-core/badge/?version=latest
    :target: https://sodar-core.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4269346.svg
    :target: https://doi.org/10.5281/zenodo.4269346

SODAR Core is a framework for Django web application development.

It was conceived to facilitate the creation of scientific data management and
analysis web applications, but can be useful in other contexts as well.
In that it is similar to the CMS or ecommerce frameworks that you can find
`Awesome Django List `__ but you will find the components/libraries provided in SODAR Core are more generic and in this reflecting the broader range of applications that we target.


Examples / See It In Action
===========================

SODAR Core is a framework for developing Django web applications. The following
data management and analysis web applications are based on SODAR Core and have
been made available as open source:

- **SODAR** is the system for Omics data access and retrieval. It is used to
  model study metadata and manage associated data files in different Omics
  research projects. SODAR Core was created by separating re-usable research
  project management components from the SODAR project. The source code of SODAR
  can be found on `github.com/bihealth/sodar-server `__.
- **VarFish** is a web-based tool for the analysis of variants.
  It showcases how to build a complex data warehousing and data analysis web
  appliction using SODAR Core.
  More details are described in the `NAR Web Server Issue publication (doi:10.1093/nar/gkaa241) `__.
  The source code can be found on `github.com/bihealth/varfish-server `__.
  A demo is available at `varfish-demo.bihealth.org `__.
- **Digestiflow** is a web-based data system for the management and
  demultiplexing of Illumina Flow Cells. It further implements various tools for
  sanity checking Illumina sample sheets and quality control (e.g., comparing
  barcode adapter sequence and actual sequence present in the sequencer output).
  You can find out more in our publication in `Bioinformatics (doi:10.1093/bioinformatics/btz850) `__.
  The source code can be found on `github.com/bihealth/digestiflow-server `__.
- **Kiosc** is a web application that allows to build scheduler Docker
  containers for "data science" apps and dashboards.
  You can find the source code on `github.com/bihealth/kiosc `__.


Quickstart
==========

SODAR Core can only be used from within Django projects. The easiest way to
start out is following the `For the Impatient
`__
section in our documentation.


Introduction
============

The SODAR Core repository containes reusable and non-domain-specific apps making
up the base of the SODAR system. These apps can be used for any Django
application which wants to make use of the following features:

- Project-based user access control
- Dynamic app content management
- Advanced project activity logging
- Small file uploading and browsing
- Managing server-side background jobs
- Caching and aggregation of data from external services
- Tracking site information and statistics
- API token management

This repository provides the following installable Django apps:

- **projectroles**: Base app for project access management and
  dynamic app content management. All other apps require the integration of
  projectroles.
- **adminalerts**: Site app for displaying site-wide messages to all users.
- **appalerts**: Site app and backend for raising alerts to users from apps.
- **bgjobs**: Project app for managing background jobs.
- **filesfolders**: Storage and management of small files.
- **siteinfo**: Site app for displaying site information and statistics for
  administrators.
- **sodarcache**: Generic caching and aggregation of data referring to external
  services.
- **taskflowbackend**: Backend app providing an API for the optional
  ``sodar_taskflow`` transaction service.
- **timeline**: Project app for logging and viewing project-related activity.
- **tokens**: Token management for API access.
- **userprofile**: Site app for viewing user profiles.

Also included are resources and examples for developing SODAR compatible apps.


Installation
============

The ``django-sodar-core`` package can be installed into your Django project
from PyPI as follows. Note that it is strongly recommended to freeze the
dependency to a specific version, as this package is under active development
and breaking changes are possible.

.. code-block:: console

    pip install django-sodar-core==0.10.12

For installing a development version you can point your dependency to a specific
commit ID in GitHub. Note that these versions may not be stable.

.. code-block:: console

    pip install -e git+https://github.com/bihealth/sodar-core.git@xxxxxxxxxxxxx#egg=django-sodar-core

Please note that This package installs a collection of Django apps to be used in
a Django web site project. See
`SODAR Core documentation `_
for detailed documentation on use, integration and development.


Repository
==========

The branches of the SODAR Core repository are organized as follows:

- ``main``: The latest stable release.
- ``dev``: The current development branch. Most recent features go here, but
  stability is not guaranteed.

When including SODAR Core in your Django project, it is highly recommended to
freeze your dependency to a specific release tag or commit ID. The project is
under development and breaking changes may be introduced frequently.

Contributions should always be based on the ``dev`` branch.

Owner

  • Name: Berlin Institute of Health
  • Login: bihealth
  • Kind: organization

BIH Core Unit Bioinformatics & BIH HPC IT

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/mbjones/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "https://orcid.org/0000-0002-4180-8810",
      "@type": "Person",
      "email": "mikko.nieminen@bih-charite.de",
      "name": "Mikko Nieminen",
      "affiliation": "Berlin Institute of Health, Anna-Louisa-Karsch-Straße 2, 10178 Berlin"
    },
    {
      "@id": "https://orcid.org/0000-0002-8686-2941",
      "@type": "Person",
      "email": "oliver.stolpe@bih-charite.de",
      "name": "Oliver Stolpe",
      "affiliation": "Berlin Institute of Health, Anna-Louisa-Karsch-Straße 2, 10178 Berlin"
    },
    {
      "@id": "https://orcid.org/0000-0002-1332-4894",
      "@type": "Person",
      "email": "franziska.schumann@fu-berlin.de",
      "name": "Franziska Schumann",
      "affiliation": "Berlin Institute of Health, Anna-Louisa-Karsch-Straße 2, 10178 Berlin"
    },
    {
      "@id": "https://orcid.org/0000-0002-3051-1763",
      "@type": "Person",
      "email": "manuel.holtgrewe@bih-charite.de",
      "name": "Manuel Holtgrewe",
      "affiliation": "Berlin Institute of Health, Anna-Louisa-Karsch-Straße 2, 10178 Berlin"
    },
    {
      "@id": "https://orcid.org/0000-0002-3284-0632",
      "@type": "Person",
      "email": "dieter.beule@bih-charite.de",
      "name": "Dieter Beule",
      "affiliation": "Berlin Institute of Health, Anna-Louisa-Karsch-Straße 2, 10178 Berlin"
    }
  ],
  "identifier": "https://doi.org/10.5281/zenodo.4269346",
  "codeRepository": "https://github.com/bihealth/sodar-core",
  "datePublished": "2022-04-19",
  "dateModified": "2022-04-19",
  "dateCreated": "2019-06-26",
  "description": "SODAR Core: A Django-based framework for scientific data management and analysis web apps",
  "keywords": "Python, Django, scientific data managmenent, software library",
  "license": "MIT",
  "title": "SODAR Core",
  "version": "v0.10.12"
}

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 926
  • Total Committers: 8
  • Avg Commits per committer: 115.75
  • Development Distribution Score (DDS): 0.083
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
mikko.nieminen m****n@b****e 849
Oliver Stolpe o****e@b****e 22
Manuel Holtgrewe m****e@b****e 22
Tim Garrels t****s@m****e 18
Hendrik Bomhardt h****t@m****e 9
Franziska Schumann f****n@b****e 3
Olga Botvinnik o****k@g****m 2
Raunak Agarwal r****l@c****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 10
  • Average time to close issues: 6 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 4.29
  • Average comments per pull request: 0.6
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • olgabot (5)
  • rbatorsky (2)
Pull Request Authors
  • holtgrewe (6)
  • olgabot (2)
  • dependabot[bot] (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (2)

Dependencies

requirements/base.txt pypi
  • Sphinx ==4.3.2
  • argon2-cffi >=21.3.0,<21.4
  • awesome-slugify >=1.6.5,<1.7
  • celery >=5.2.3,<5.3
  • django >=3.2.13,<3.3
  • django-autocomplete-light >=3.8.2,<3.9
  • django-crispy-forms >=1.13.0,<1.14
  • django-db-file-storage ==0.5.5
  • django-docs ==0.3.1
  • django-environ >=0.8.1,<0.9
  • django-iconify ==0.1.1
  • django-markupfield >=2.0.1,<2.1
  • django-model-utils >=4.2.0,<4.3
  • django-pagedown >=2.2.1,<2.3
  • django-rest-knox >=4.1.0,<4.2
  • django-saml2-auth-ai >=2.1.6,<2.2
  • djangorestframework >=3.13.1,<3.14
  • docutils ==0.17.1
  • markdown ==3.3.4
  • mistune >=2.0.1,<2.1
  • psycopg2-binary >=2.9.3,<2.10
  • pytz >=2021.3
  • rules >=3.0,<3.1
  • setuptools ==59.6.0
  • sphinx-rtd-theme ==1.0.0
  • versioneer ==0.21
  • wheel ==0.37.1
requirements/ldap.txt pypi
  • django-auth-ldap ==4.0.0
  • python-ldap ==3.4.0
requirements/local.txt pypi
  • Werkzeug ==2.0.2
  • django-debug-toolbar >=3.2.4,<3.3
  • django-extensions ==3.1.5
  • ipdb >=0.13.9,<0.14
requirements/test.txt pypi
  • beautifulsoup4 ==4.10.0 test
  • black ==22.3.0 test
  • codacy-coverage ==1.3.11 test
  • coverage ==6.2 test
  • django-coverage-plugin ==2.0.2 test
  • django-test-plus ==2.2.0 test
  • factory-boy ==3.2.1 test
  • flake8 ==4.0.1 test
  • pytest-django ==4.5.2 test
  • pytest-sugar ==0.9.4 test
  • selenium ==4.1.0 test
  • tblib ==1.7.0 test