Skip to main content

Bioinformatics IO and workflow utilities with Rust-accelerated backends.

Project description

axiomkit

Personal, portable engineering toolkit (Python/R/Rust).

Install

  • pip install axiomkit

Stats

import polars as pl
from axiomkit.stats import (
    ContrastSpec,
    calculate_anova_one_way,
    calculate_anova_one_way_welch,
    calculate_anova_two_way,
    calculate_t_test_one_sample,
    calculate_t_test_paired,
    calculate_t_test_two_sample,
)

df_values = pl.DataFrame(
    {
        "FeatureId": ["f1", "f1", "f1", "f1", "f2", "f2", "f2", "f2"],
        "Group": ["ctrl", "ctrl", "case", "case", "ctrl", "ctrl", "case", "case"],
        "Value": [1.0, 2.0, 4.0, 5.0, 4.0, 4.0, 6.0, 8.0],
    }
)

df_t = calculate_t_test_two_sample(
    df_values,
    col_feature="FeatureId",
    contrasts=[ContrastSpec(group_test="case", group_ref="ctrl")],
    rule_p_adjust="bh",
)

df_one_sample = calculate_t_test_one_sample(
    df_values.select("FeatureId", "Value"),
    col_feature="FeatureId",
    popmean=3.0,
)

df_paired = calculate_t_test_paired(
    pl.DataFrame(
        {
            "FeatureId": ["f1", "f1", "f1", "f1"],
            "PairId": ["p1", "p1", "p2", "p2"],
            "Group": ["ctrl", "case", "ctrl", "case"],
            "Value": [1.0, 2.0, 4.0, 6.0],
        }
    ),
    col_feature="FeatureId",
    col_pair="PairId",
    contrasts=ContrastSpec(group_test="case", group_ref="ctrl"),
)

df_anova = calculate_anova_one_way(
    df_values,
    col_feature="FeatureId",
    rule_p_adjust="bh",
)

df_anova_welch = calculate_anova_one_way_welch(
    df_values,
    col_feature="FeatureId",
    rule_p_adjust="bh",
)

df_anova_two_way = calculate_anova_two_way(
    pl.DataFrame(
        {
            "FeatureId": ["f1"] * 8,
            "GroupA": ["A1", "A1", "A1", "A1", "A2", "A2", "A2", "A2"],
            "GroupB": ["B1", "B1", "B2", "B2", "B1", "B1", "B2", "B2"],
            "Value": [8.0, 10.0, 6.0, 8.0, 4.0, 5.0, 3.0, 6.0],
        }
    ),
    col_feature="FeatureId",
    col_group_a="GroupA",
    col_group_b="GroupB",
)

Development

  • pdm sync -G dev --no-self
  • GitHub Actions uses a CI-only manylinux image with preinstalled Rust to speed wheel builds; local development does not depend on Docker or GHCR.
  • The Linux ARM64 wheel is built as a supplemental artifact on a native GitHub ARM runner; local development paths remain unchanged.

Docs

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

axiomkit-0.0.48.tar.gz (126.2 kB view details)

Uploaded Source

Built Distributions

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

axiomkit-0.0.48-cp310-abi3-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

axiomkit-0.0.48-cp310-abi3-manylinux_2_28_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

File details

Details for the file axiomkit-0.0.48.tar.gz.

File metadata

  • Download URL: axiomkit-0.0.48.tar.gz
  • Upload date:
  • Size: 126.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for axiomkit-0.0.48.tar.gz
Algorithm Hash digest
SHA256 3415e46cf16224589d603acc4079997c3f12185d4052a449d6901d183adb510a
MD5 fa18e22a8240e1fad25e613558263124
BLAKE2b-256 d3553116bc9485eec4f51620dcf1be0ae48bdad7bba4e1267f866d0f79748321

See more details on using hashes here.

Provenance

The following attestation bundles were made for axiomkit-0.0.48.tar.gz:

Publisher: publish.yml on FuqingZh/axiomkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file axiomkit-0.0.48-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for axiomkit-0.0.48-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca60b8852df6412e401b10e773d9aace5ebf87a454d134f6eee10cb41e770b65
MD5 0c44bc6b4fa2e6b4f22546b14a629089
BLAKE2b-256 eaaa0ea8f0bd6017d7572140527afc9ac13c59fa33dcab4bcd725aaf294e877c

See more details on using hashes here.

Provenance

The following attestation bundles were made for axiomkit-0.0.48-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on FuqingZh/axiomkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file axiomkit-0.0.48-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for axiomkit-0.0.48-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 89b9c69c967d72d368dd15ebd586ada193db8de7a6969bb913e4b70a599166a2
MD5 7e8f77c45e0fcf7cd793e7e44ae5c934
BLAKE2b-256 10b4824d040173ec12a551be0dc014baa4f567a89dcff2ccdedf848f37b3d10f

See more details on using hashes here.

Provenance

The following attestation bundles were made for axiomkit-0.0.48-cp310-abi3-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on FuqingZh/axiomkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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