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 (
    TTestContrast,
    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=[TTestContrast(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=TTestContrast(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.51.tar.gz (130.8 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.51-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.51-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.51.tar.gz.

File metadata

  • Download URL: axiomkit-0.0.51.tar.gz
  • Upload date:
  • Size: 130.8 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.51.tar.gz
Algorithm Hash digest
SHA256 e8d4ab7bedb254a9219daa5e34caa2975558b6679eb7f3874a5214b89a0d85c1
MD5 6214b0c1115a97b9a633313c14fbe964
BLAKE2b-256 adfa4bf68067698ed391d9b8e75fd5870b4f2fe2f718941ea762bc765428d18c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for axiomkit-0.0.51-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1d66ba98e31065ceaf488e540251f4edba36964384707304f5057d60410ae1cc
MD5 b89d7f457e9b0469733d52922874233e
BLAKE2b-256 1605d1582a2e233708a8cfee0dff3439e8d3df1f1a375ce828297007c96c9eba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for axiomkit-0.0.51-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 97347c653b3cb7cab73b3f70b75bd6287a5731bce8657027787d1c5b48b09555
MD5 64a70aae59e1a606510866ebab84c997
BLAKE2b-256 2c6ca2dc03abd5250a9de059058347103dc99a9793d27e09b701e8ea1110279f

See more details on using hashes here.

Provenance

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