Skip to main content

yamaa for Python yamaa logo

CI Regular build Coverage Docs License: MIT

Python package for yamaa, a domain-specific language for clinical trial data standardization.

Runs yamaa specifications that transform ODM XML data into SDTM and ADaM datasets, and generates define.xml, with the same Rust engine as the R package:

import yamaa

project = yamaa.project("project.yaml")
run = project.spec("DM").run()      # one dataset, built in memory
run.output, run.issues, run.report
run.save()                          # write the dataset and its run report
project.run("adam").save()          # every ADaM dataset

The R and Python API page describes every call, and the introduction explains the specification language.

Installation

From its 1.0.0 release candidates on, yamaa is published on PyPI. A candidate is a pre-release there, so name it, for example python -m pip install --pre yamaa==1.0.0rc1. Once 1.0.0 is out, install the newest release with:

python -m pip install yamaa

The wheels cover CPython 3.12 and later on Linux x86_64 and aarch64, macOS arm64 and Windows x64. The Linux wheels are manylinux_2_28 and need glibc 2.28 or later, for example RHEL 8, Ubuntu 20.04 or Debian 10; elsewhere, pip builds the source archive, as described below.

Every release is also published as GitHub release assets, and yamaa 0.4.0 only there: download the wheel for your platform from the GitHub release, then install it:

python -m pip install ./yamaa-0.4.0-<wheel-tags>.whl

The 0.4.0 Linux wheel is manylinux_2_34 and needs glibc 2.34 or later.

Or install the standalone source archive from the same release. Building it uses your default Rust toolchain, which must be Rust 1.90 or later for 0.4.0, and Rust 1.82 or later from 0.5.0 on, with Cargo, a C compiler and GNU make:

python -m pip install ./yamaa-0.4.0.tar.gz

The build downloads the locked Rust crates from crates.io, and pip's build isolation fetches maturin. To build offline, fill the Cargo cache first, install maturin 1.9.6 and pass --no-build-isolation.

To set up the development version from GitHub, install uv, the pinned Rust toolchain and a C compiler, then run:

git clone https://github.com/elong0527/yamaa.git
cd yamaa
make setup

The development package requires only Polars and packaging at runtime. Its optional style extra adds the Python YAML readers used by the style checker; from a source checkout, install it with python -m pip install './python[style]'. The test extra also includes these readers, plus PyArrow, lxml and Pydantic for independent artifact and conformance checks. make setup installs it.

The release guidance lists the supported Python versions and platforms.

Contributing

We welcome contributions to yamaa. Please read the contributing guide to get started.

License

This project is licensed under the terms of the MIT license. The package also bundles third-party components, whose license notices ship as its LICENSE-*.txt files.

Metadata

Release files for yamaa 0.5.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 yamaa 0.5.0
File Size Uploaded Provenance Actions
yamaa-0.5.0.tar.gz 2.7 MB Without provenance Details for yamaa-0.5.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for yamaa 0.5.0
File Actions
yamaa-0.5.0-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for yamaa-0.5.0-cp312-abi3-win_amd64.whl
yamaa-0.5.0-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details for yamaa-0.5.0-cp312-abi3-manylinux_2_28_x86_64.whl
yamaa-0.5.0-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details for yamaa-0.5.0-cp312-abi3-manylinux_2_28_aarch64.whl
yamaa-0.5.0-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details for yamaa-0.5.0-cp312-abi3-macosx_11_0_arm64.whl

Total release size: 29.7 MB

Release files / yamaa-0.5.0.tar.gz

Download URL yamaa-0.5.0.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
63d58a7c9139c4483a0ebcbe113bb20b6fa964252d88be637b8410270cb85826
BLAKE2b-256 checksum
How to use checksums
6c55529158ec6c7ef3647c1b129f8ab46b16bee3c7f240c5fc379504e25c0388
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / yamaa-0.5.0-cp312-abi3-win_amd64.whl

Download URL yamaa-0.5.0-cp312-abi3-win_amd64.whl
Size 6.5 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
60ca8e454448d8ed0c016962bd9ff221f0d1880b2840de172a84db8aa2395111
BLAKE2b-256 checksum
How to use checksums
660639aede030efc32aa8af3f8ed7b55870c4dff7940eda7aebfe556c3347c21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / yamaa-0.5.0-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL yamaa-0.5.0-cp312-abi3-manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
6d7ea5f08c03c5b77ef91892d19f0262d87b331dee91471fdea1c05e345fd904
BLAKE2b-256 checksum
How to use checksums
f4decc00da950033aa646f1840f6cab2976cc1bf23f466bae7a5ef82a3a05876
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / yamaa-0.5.0-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL yamaa-0.5.0-cp312-abi3-manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
d2c9014d8d76fd424d0baf7338d90f3599936bfbff6e4b2c78fb698d1438270b
BLAKE2b-256 checksum
How to use checksums
49509dbacf1a531c66a1ea0f2170cd2aab0d0ebcbb6558c971ec2e7b6e612234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / yamaa-0.5.0-cp312-abi3-macosx_11_0_arm64.whl

Download URL yamaa-0.5.0-cp312-abi3-macosx_11_0_arm64.whl
Size 6.4 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e0eca8838bdadbd59df4f8fa8dfc3d7b64a7289457981e144cf36366a4d38c3a
BLAKE2b-256 checksum
How to use checksums
a58b53ea16d48a7a69a35b0387282f0e1941c677893d95b44605b793032cec54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Security for yamaa 0.5.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