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.status                          # "succeeded" or "failed"
dm = run.output.to_polars()         # or to_pandas(), to_arrow(), to_pylist()
paths = run.save()                  # write the dataset and its run report
project.run("adam").save()          # every ADaM dataset

Every table is a yamaa.Table, which needs no other package: it prints a preview, num_rows and column_names describe it, and to_pylist() gives its rows. to_polars(), to_pandas() and to_arrow() convert it when Polars, pandas or PyArrow is installed. save() returns the absolute paths of the files it wrote, in the order it wrote them.

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

Installation

From 0.5.0 on, yamaa is published on PyPI. Install the newest release with:

python -m pip install yamaa

A release candidate is a pre-release there, which pip installs only when asked, so name it with --pre, as in python -m pip install --pre yamaa==<candidate>.

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 assets of its GitHub release: from 0.5.0 on the same files that PyPI serves, and yamaa 0.4.0 only there. Download the wheel for your platform, then install it:

python -m pip install ./yamaa-<version>-<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-<version>.tar.gz

From 0.6.0 on, the source archive carries the locked Rust crates, so the build reads nothing from crates.io; pip's build isolation still fetches maturin. To build offline, install maturin 1.9.6 and pass --no-build-isolation. The 0.4.0 and 0.5.0 source archives download the locked crates from crates.io, so building them offline also needs the Cargo cache filled first.

On a machine without internet access, install from an internal package index or from files carried in, as Installing in a restricted environment describes. It also shows how a Linux machine whose packaged Rust is older than 1.82 installs Rust from its standalone installer to build the source archive.

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 package has no runtime dependencies. The test extra adds Polars, pandas, PyArrow, the Python YAML readers, lxml and Pydantic for the table conversions' tests and 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.6.2

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.6.2
File Size Uploaded Provenance Actions
yamaa-0.6.2.tar.gz 18.1 MB Without provenance Details for yamaa-0.6.2.tar.gz

Built distributions (wheels)

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

Total release size: 39.9 MB

Release files / yamaa-0.6.2.tar.gz

Download URL yamaa-0.6.2.tar.gz
Size 18.1 MB
Tags Source
SHA-256 checksum
How to use checksums
0473b5ce2452c8a5c1e042b228412daf8eeaff6d60e258904b9bcdc24b878f04
BLAKE2b-256 checksum
How to use checksums
14f4252bca854709af183baf7dd17a4b7f8b967aec40a3f5d3e2e1aea0f58c4e
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.6.2-cp312-abi3-win_amd64.whl

Download URL yamaa-0.6.2-cp312-abi3-win_amd64.whl
Size 5.7 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
59fab7b8e8b8102228d3c222540561576068d136f5849b2af7403c959dacacb7
BLAKE2b-256 checksum
How to use checksums
c308bccac3301cba87bff2f9a3db08fe3d776a62ef1cf8745f421741c7410ab0
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.6.2-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL yamaa-0.6.2-cp312-abi3-manylinux_2_28_x86_64.whl
Size 5.7 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
75a5e6117dde230c3da67f63574212e55238ec1dd8558af1a68aaf0a1cfb82e0
BLAKE2b-256 checksum
How to use checksums
a7ca74f0df7a71abc99dd5f5c3abbabe0d7c77744f63f151f7acba3da1e8773e
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.6.2-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL yamaa-0.6.2-cp312-abi3-manylinux_2_28_aarch64.whl
Size 5.2 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
012b0e148ce327fcf896de602b1a99a0b449eee7d7b4eb4f096a2abb69acd19f
BLAKE2b-256 checksum
How to use checksums
ee397d244e8484e346d40cb468df1ae17e28d6d7abe2e23963f3cc3282b89d74
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.6.2-cp312-abi3-macosx_11_0_arm64.whl

Download URL yamaa-0.6.2-cp312-abi3-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ae45fecdf9a48c40151b69aa35e3fedbc0103075084230c894e21770522963f
BLAKE2b-256 checksum
How to use checksums
877f0fd26d80aef43e507d47ff7bc85b9ed70f545dc91978f19c16a9daaeb0b2
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.6.2

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