Skip to main content

Disclaimer: This project is not affiliated with, endorsed by, or sponsored by the All of Us Research Program. The software is provided as is, without warranty of any kind. It is in an early stage of development, and its functions, APIs, and signatures may change periodically. You are responsible for checking that any results it produces are correct before relying on them.

aoutools: Tools for All of Us Researcher Workbench

aoutools is a Python library designed to simplify common analysis tasks on the All of Us Researcher Workbench.

aoutools targets Researcher Workbench 2.0. Version 0.2.0 is the first release for it, adding helpers (init_hail, get_vds_path) that wire up the new VDS location and Hail setup. Releases 0.1.x targeted Workbench 1.0, which was decommissioned on June 30, 2026.

The library currently focuses on the aoutools.prs submodule, which offers convenient functions for:

  1. Reading PRS Weights Files: A flexible reader that can handle various file formats, both with and without headers.
  2. Calculating PRS: A cost-efficient strategy for calculating PRS directly on the All of Us VDS, with support for batch mode to calculate multiple scores at once.

You can install aoutools via pip using either the Python Package Index (PyPI) or its GitHub repository. On the All of Us Researcher Workbench, you can run the following commands directly in a Jupyter Notebook cell.

# 1. From PyPI
!pip install aoutools

# 2. From Github
!pip install git+https://github.com/dokyoonkimlab/aoutools.git

Please check the online aoutools Documentation for how-to guides and API reference.

Development

Assumes pixi and direnv are already installed.

pixi install          # build the env from pixi.lock
direnv allow          # auto-activate it on cd into the repo (once per clone)
pixi run setup-hooks  # install the ruff pre-commit hooks (once per clone)

Tests come in three tiers (see tests/README.md and notebooks/README.md):

pixi run -e ci test                        # mocked hail; linux-64 only
pixi run -e integration test-integration   # real hail; macOS or Linux

The mocked tier checks that the code calls the right hail methods; the integration tier runs real hail and asserts actual scores. A third tier — the notebooks in notebooks/ — is run by hand on the Workbench before a release to validate against the real All of Us data. Changes to scoring logic should land with an integration test.

pixi run docs         # build the Sphinx HTML docs
pixi run lint         # ruff lint + format check (what CI runs)
pixi run format       # auto-fix and format

Notable changes are recorded in CHANGELOG.md.

Formatting is enforced by ruff format. The bulk-reformat commit is listed in .git-blame-ignore-revs; to skip it in local blame, run git config blame.ignoreRevsFile .git-blame-ignore-revs (GitHub applies it automatically).

Metadata

Release files for aoutools 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aoutools 0.2.0
File Size Uploaded Provenance
aoutools-0.2.0.tar.gz 53.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for aoutools 0.2.0
File Interpreter ABI Platform
aoutools-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 110.3 kB

Release files / aoutools-0.2.0.tar.gz

Download URL aoutools-0.2.0.tar.gz
Size 53.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1022473cc2775b8321d40cad6385c693369f7c5589d2742d80c0fb74fe647727
BLAKE2b-256 checksum
How to use checksums
c586c820236f284a7d0de3656265d0fd6a0504310b7a9104ed6d5e1c53823564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Release files / aoutools-0.2.0-py3-none-any.whl

Download URL aoutools-0.2.0-py3-none-any.whl
Size 57.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2bb654cfc2e588a3e2f609bb14fe889b240f4bde3751b58eb6fa617ff6b6d983
BLAKE2b-256 checksum
How to use checksums
d04b0253a025522bb1fd3602935630756f4c7d6feae7e126f8647ecd5f3968fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Security for aoutools 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page