Storyteller-DHS: Explore and analyze DHS (Demographic and Health Surveys) datasets with an intuitive interface and CLI tools.
Project description
Storyteller - DHS Database Viewer
Storyteller is a user-friendly web application designed to explore DHS (Demographic and Health Surveys) data.
It provides an intuitive interface for browsing datasets, running queries, and generating insights, making it easier for researchers, analysts, and storytellers to work with complex health and demographic information.
Table of Contents
Overview
The Storyteller app helps users unlock, search, and explore the full breadth of DHS datasets from any country or year.
It is built on top of Datasette and extends it with custom processors, exporters, and metadata tools.
Features
- Browse DHS datasets across household, individual, and biomarker surveys.
- Search across dozens of tables and thousands of records.
- View variable definitions and relationships for every dataset.
- Download filtered data for offline analysis.
- Custom metadata export for reproducibility.
- Simple CLI integration for automation.
Installation
Option 1: Install from PyPI (recommended)
You can install the latest stable release directly from PyPI:
pip install storyteller-dhs
Option 2: Install from source
Clone the repository and install in editable mode:
git clone https://github.com/kofiya-technologies/storyteller-DHS-database-viewer
cd storyteller-DHS-database-viewer
pip install pipenv
pipenv install --deploy --ignore-pipfile
Dependencies are managed with setup.py and Pipfile.
Usage
After installation, you can start the Storyteller app:
storyteller start "path/to/your/dhs-database.db"
Other commands:
- Enable FTS manually:
enable_fts --db_path="path/to/your/dhs-database.db"
- Run predefined queries:
storyteller query "path/to/your/dhs-database.db" --menu=mintiloai
Development
To build the package (wheel + sdist):
python -m build
To run the development build process with additional checks:
build_package.bat
Deploying to PyPI
These are the steps to publish a new release of Storyteller to PyPI:
-
Update version
Bump the version in_version.pyand updateCHANGELOG.md. -
Build the package
Run:python -m build
This creates
.whland.tar.gzfiles inside thedist/folder. -
Install Twine (if not installed)
pip install twine
-
Upload to Test PyPI (optional)
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Verify the package works by installing from Test PyPI.
-
Upload to PyPI (production)
twine upload dist/*
-
Verify release
Visit PyPI Project Page and confirm your release.
Contributing
We welcome contributions!
Please fork the repository, create a new branch, and submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
kofiyatech
Email: kofiya.technologies@gmail.com
Website: https://kofiyatech.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file storyteller_dhs-0.1.3.tar.gz.
File metadata
- Download URL: storyteller_dhs-0.1.3.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61bb10239422383af2b5b9e773469c350416e89467c015353113d0e2e780a5f2
|
|
| MD5 |
b0e239d1e26d3dd4db9e14d6f24e95a5
|
|
| BLAKE2b-256 |
a59e4ff70a9cecf5b85910807f9bc18da6b402bc0718a62aefb8a3267ca140ef
|
File details
Details for the file storyteller_dhs-0.1.3-py3-none-any.whl.
File metadata
- Download URL: storyteller_dhs-0.1.3-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36a5c91b97798e91a999b7ab7717f53049efeae5339ccdbc990eefcb45b94902
|
|
| MD5 |
c6618a4ec270ad29f11329244ffd6b69
|
|
| BLAKE2b-256 |
f96ab4ace54ccb4aa5bae23925ab71e4e0f6713ba88ad368f24552ed633e7e44
|