Skip to main content

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

  1. Overview
  2. Features
  3. Installation
  4. Usage
  5. Development
  6. Deploying to PyPI
  7. Contributing
  8. License
  9. Contact

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:

  1. Update version
    Bump the version in _version.py and update CHANGELOG.md.

  2. Build the package
    Run:

    python -m build
    

    This creates .whl and .tar.gz files inside the dist/ folder.

  3. Install Twine (if not installed)

    pip install twine
    
  4. Upload to Test PyPI (optional)

    twine upload --repository-url https://test.pypi.org/legacy/ dist/*
    

    Verify the package works by installing from Test PyPI.

  5. Upload to PyPI (production)

    twine upload dist/*
    
  6. 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

storyteller_dhs-0.1.3.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

storyteller_dhs-0.1.3-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

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

Hashes for storyteller_dhs-0.1.3.tar.gz
Algorithm Hash digest
SHA256 61bb10239422383af2b5b9e773469c350416e89467c015353113d0e2e780a5f2
MD5 b0e239d1e26d3dd4db9e14d6f24e95a5
BLAKE2b-256 a59e4ff70a9cecf5b85910807f9bc18da6b402bc0718a62aefb8a3267ca140ef

See more details on using hashes here.

File details

Details for the file storyteller_dhs-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for storyteller_dhs-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 36a5c91b97798e91a999b7ab7717f53049efeae5339ccdbc990eefcb45b94902
MD5 c6618a4ec270ad29f11329244ffd6b69
BLAKE2b-256 f96ab4ace54ccb4aa5bae23925ab71e4e0f6713ba88ad368f24552ed633e7e44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page