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
Parsifal is a tool to support researchers to perform systematic literature reviews.
Report bug
·
Blog
·
Help
Status

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.