parsifal is a free, open source publishing project written in Python and released under MIT. It has 517 GitHub stars, 189 forks and 40 open issues, and was last pushed 5 months ago. On this registry it ranks #44 of 46 tracked projects in Publishing, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is parsifal?

Parsifal is a free, MIT-licensed web application that supports researchers in planning, conducting, and reporting systematic literature reviews, and it is aimed at academics, research groups, and reviewers who need to manage that process in software rather than by hand.

What it is

Parsifal is a Python and Django application, listed in this registry under Content & Publishing / Publishing and tagged with academic, research, publishing, scientific-publications, systematic-literature-reviews, and django. The README frames its subject precisely: a systematic literature review is a secondary study whose objective is to identify, analyze, and interpret all available evidence from primary studies related to a specific research question. Following Kitchenham and Charters, Parsifal treats the activity as three phases — planning, conducting, and reporting the review — and the application exists to carry a researcher through all three.

The concrete problem it addresses is volume and bookkeeping. As the README states, a systematic literature review is a labor-intensive task that requires a huge amount of work: designing the protocol, adjusting the search string, filtering results that can number more than a thousand articles, selecting those that meet the inclusion criteria, and removing those that meet the exclusion criteria. Only after that does the researcher begin analyzing the relevant results one by one. Parsifal replaces the ad-hoc, manual handling of that workflow described in its own README with a structured Django web application.

Key capabilities

  • Structures a review around the Kitchenham and Charters phases of planning, conducting, and reporting.
  • Supports protocol design during the planning phase.
  • Supports adjustment of the search string used to retrieve primary studies.
  • Handles result sets that can run to more than a thousand articles during filtering.
  • Applies inclusion criteria to select articles and exclusion criteria to remove them.
  • Supports one-by-one analysis of the relevant results that survive screening.
  • Runs as a Django 4.1 application on Python 3.9, with PostgreSQL 12 or SQLite selected through a DATABASE_URL connection string, on a Bootstrap 3.4 and jQuery 3.6 front end.

Who uses it and how

  • Academic researchers running a systematic literature review as a secondary study, using it end to end from protocol design to reporting.
  • Review teams that must screen large candidate sets, where the README anticipates result lists exceeding a thousand articles before inclusion and exclusion criteria are applied.
  • Research groups that prefer not to operate their own instance can use the hosted option at https://parsif.al.
  • Groups that do self-host run their own PostgreSQL 12 database, or fall back to SQLite for a lighter local setup.
  • Individual reviewers can stand the application up locally against SQLite through python manage.py runserver.

Getting started

The hosted option is available at https://parsif.al. To run locally, clone the repository, create and activate a virtualenv, install requirements/local.txt, copy .env.example to .env and set DATABASE_URL to a PostgreSQL or SQLite connection string, then run python manage.py migrate, python manage.py runserver, and python manage.py createsuperuser.

How it compares

No paid products or similar tools are named anywhere in the facts provided, so on the evidence available Parsifal stands alone in this registry. Readers looking for a side-by-side against commercial review platforms will not find one here, because none is documented. The only comparison the facts support is with the manual, labor-intensive review process the README describes.

When to use it — and when not to

A self-hoster takes on operating a Django application and its database, which in practice means a Python 3.9 environment, Django 4.1, and either PostgreSQL 12 or a SQLite file wired up through DATABASE_URL, plus migrations and a superuser. People who do not want to maintain that stack should use the hosted instance at https://parsif.al instead, and anyone expecting a managed cloud deployment from the README alone should note that it documents only local development, not production hosting. The project also carries 40 open issues and a front end on Bootstrap 3.4 and jQuery 3.6, so teams with strict dependency-age or maintenance policies should weigh that before adopting it.

project readme (upstream, from github) — read inline

Parsifal logo

Parsifal

Parsifal is a tool to support researchers to perform systematic literature reviews.

Report bug · Blog · Help

Status

codecov code style: black

About

A systematic literature review is a secondary study with the objective to identify, analyze and interpret all available evidence from primary studies related to a specific research question. As suggested by Kitchenham and Charters, the activity to perform a systematic literature review involves planning, conducting, and reporting the review.

Performing a systematic literature review is a labor-intensive task that requires a huge amount of work from the researcher, designing the protocol, adjusting the search string, filtering the results, sometimes more than a thousand articles, selecting those articles that attend the inclusion criteria, and removing those articles that attend the exclude criteria. After that, the researcher might start to analyze the relevant result one by one.

Tech Stack

The project is currently running on the following versions:

  • Python 3.9
  • Django 4.1
  • PostgreSQL 12
  • Bootstrap 3.4
  • jQuery 3.6

Running Locally

To run the project locally first you need to clone the repository:

git clone https://github.com/vitorfs/parsifal.git

Create a virtualenv:

python3 -m venv venv

Active virtualenv:

source venv/bin/activate

Install the development requirements:

pip install -r requirements/local.txt

Now you should either setup a local PostgreSQL database or use SQLite.

Create a .env file in the project root (you can create one by making a copy of the .env.example):

cp .env.example .env

Now add the DATABASE_URL with the connection string pointing to your local database:

DATABASE_URL=postgres://richardwagner:holygrail@localhost:5432/parsifal

Or for SQLite:

DATABASE_URL=sqlite:////tmp/parsifal.sqlite3

Or if you want to place it elsewhere:

DATABASE_URL=sqlite:////Users/vitor/dev/parsifal/parsifal.sqlite3

Now run the migrations:

python manage.py migrate

Run the local server:

python manage.py runserver

Create super user:

python manage.py createsuperuser

License

The source code is released under the MIT License.

Frequently asked questions

Is parsifal free to use?

parsifal is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does parsifal do?

Parsifal is a tool to assist researchers to perform Systematic Literature Reviews

What is parsifal written in?

parsifal is primarily written in Python. Its source is publicly available at https://github.com/vitorfs/parsifal, and it has 517 GitHub stars.