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.45.tar.gz (125.0 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.45-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.45-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.45.tar.gz.

File metadata

  • Download URL: axiomkit-0.0.45.tar.gz
  • Upload date:
  • Size: 125.0 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.45.tar.gz
Algorithm Hash digest
SHA256 d4557017a7a0838cfd6e85370bbdd32039441d2bc34fa3b3187f7f734c414492
MD5 6288abf2a85e66c229f118b7728cd015
BLAKE2b-256 88c572ccc604a179027633f780b300ccb838bfc64f8128d5e8fd8cd3a3d2fff7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for axiomkit-0.0.45-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 202323d4bb8a9eb41a4995bf9acf9e8a70db00f1cdc7e3717010e708afdb272a
MD5 15619b0a6b40fab9e20f8399f9b42807
BLAKE2b-256 1a96078aa26ddd39e49388aac5808f3a467ec7f07feeb7d9abd94e5ece22d496

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for axiomkit-0.0.45-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8ae19f92191a1e37575ea88df3bb553f94c20cdb58973b85c8b45d56e51e22aa
MD5 f8b30734531c2f08ec297b0472a5f259
BLAKE2b-256 cd3d87682c0cc86540985ab27c88711d6b7396b79bd40747c0668fcfcb6d1a39

See more details on using hashes here.

Provenance

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