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.43.tar.gz (124.5 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.43-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.43-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.43.tar.gz.

File metadata

  • Download URL: axiomkit-0.0.43.tar.gz
  • Upload date:
  • Size: 124.5 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.43.tar.gz
Algorithm Hash digest
SHA256 636e33e2cf6c11cc8479b6da363186bc399ca5955e1a754b92488f473b7d5169
MD5 e418ae459ab2e3a85c08555dae240ecf
BLAKE2b-256 27e68793af8eb38c9cc2684f550ad24f109df25961c65ef0802890360c8b7f0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for axiomkit-0.0.43.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.43-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for axiomkit-0.0.43-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41ed4159753754ee5f62fcda92dfbdb961737dd9040238241b9d83fd6deb6a32
MD5 1c4d97c559aeb1b14a8914b478172096
BLAKE2b-256 dae191d12b47a5c73f623e9f9fc921dff8a29d012163b7e7da2fb03c3322b3f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for axiomkit-0.0.43-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.43-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for axiomkit-0.0.43-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 61bd01e29d84e6f77dad000e729c726b35ceb46cc9545f796e52adb57a1cdcfb
MD5 80c9f4a13ae9974546c9f1a435e235e8
BLAKE2b-256 888ec8cb0cede73a1219292007399eb4e5e55dd2609233a6c28bba930fe528a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for axiomkit-0.0.43-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