Skip to content

Repository files navigation

DRUM Book - CODATA DRUM Task Group

deploy-book Link Checker

This repository contains the source files for the DRUM Book website and interactive report published by the CODATA Task Group on the Digital Representation of Units of Measurement (DRUM).


🎯 Purpose

Appropriate representation of units of measurement in digital data is a critical requirement across scientific disciplines, commerce, international trade, and healthcare. Currently, no single universal standard governs digital unit representation, resulting in over 50 disparate implementation projects across different domains.

The CODATA DRUM Task Group aims to:

  • Raise awareness of the importance of unambiguous digital unit representation.
  • Maintain an inventory of current unit encoding formats, vocabularies, presentation systems, ontologies, and software packages.
  • Harmonize standards by collaborating with international standards organizations, scientific unions, and digital infrastructure projects.

📁 Repository Structure

├── intro.md               # Overview of the DRUM Task Group and mission
├── activities.md          # Primary activities, strategic roadmap, and publications
├── inventory.md           # Inventory of 50+ digital unit representation systems
├── taskgroup.md           # Roster, leadership, and member affiliations
├── resources.md           # External reference materials and links
├── myst.yml               # MyST Markdown / Jupyter-Book configuration
├── pyproject.toml          # Project configuration & dependencies (PEP 621)
├── uv.lock                # Deterministic lockfile for uv
├── .lychee.toml           # Link checker configuration
├── .lycheeignore         # Patterns excluded from automated link checking
└── .github/workflows/
    ├── deploy.yml         # GitHub Actions workflow for publishing to GitHub Pages
    └── linkcheck.yml      # GitHub Actions workflow for automated link verification

🛠️ Local Setup & Build Instructions

Prerequisites

  • Python 3.10+ (Python 3.13 recommended)
  • uv (recommended fast package manager) or standard pip
  • Git

Installation & Environment Setup

Using uv (recommended):

# Clone the repository
git clone https://github.com/codata/drum-book.git
cd drum-book

# Sync virtual environment directly from pyproject.toml / uv.lock
uv sync

Using standard pip:

pip install .

Building the Book Locally

Using uv:

uv run jupyter-book build --html

Or run directly via uvx:

uvx jupyter-book build --html

Using standard jupyter-book:

jupyter-book build --html

The generated site files will be located in _build/html/.


Previewing the Local Site

To launch an interactive local development server:

uvx jupyter-book start

Or open the generated static HTML output directly:

  • macOS:
    open _build/html/index.html
  • Linux:
    xdg-open _build/html/index.html
  • Windows (PowerShell):
    Start-Process _build/html/index.html

🔗 Running the Link Checker Locally

The repository uses Lychee to verify external links in Markdown files.

If you have lychee installed locally:

lychee --config .lychee.toml --verbose './**/*.md'

🤝 How to Contribute

We welcome contributions from researchers, software developers, ontologists, and domain specialists!

Ways to Contribute

  1. Update the Unit Systems Inventory: If you know of a missing software package, ontology, or vocabulary related to units of measurement, add it to inventory.md.
  2. Fix Typos or Outdated Links: Submit a pull request with updated documentation or references.
  3. Join the Task Group: We actively encourage membership from diverse scientific disciplines and geographic regions.

Contribution Workflow

  1. Fork the repository and create a feature branch (git checkout -b feature/my-update).
  2. Make your changes in Markdown files (.md).
  3. Build the book locally using jupyter-book build --html to test rendering.
  4. Commit your changes (git commit -m "Add new unit package to inventory").
  5. Push to your branch and open a Pull Request.

📧 Contacts & Leadership

About

Testing version of a DRUM TG website

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages