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.40.tar.gz (124.4 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.40-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.40-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.40.tar.gz.

File metadata

  • Download URL: axiomkit-0.0.40.tar.gz
  • Upload date:
  • Size: 124.4 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.40.tar.gz
Algorithm Hash digest
SHA256 29d344968c35c78fbc03b8c4a5c0136383331c0074e1a9d7077845b515a89095
MD5 07a1fea81ae92a68b3a14e0fd91c69d7
BLAKE2b-256 62dcb1ea83b4b9529699917b03888ee761d3490cbc54d3889d63eb9593c8e1fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for axiomkit-0.0.40-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fecc348a5af55c73a7b18bffb14cd08699bedfd62333e683d8e46e3adecfdb88
MD5 46cf4089138c9df378b8896491c63eff
BLAKE2b-256 f89708390ced8b5c53ee02e6e69bc492c7bcb0e3737c464887c464f342763ba5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for axiomkit-0.0.40-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a750f16b6509ee39888f70b12c4b05244c434bda54f3b146c6973138a02be40
MD5 103bed514a91e09029ed85c3464ff980
BLAKE2b-256 2281a441c87b8c53989bd58ca125da201cd17ba37cda88e61c61a9a2f76747b5

See more details on using hashes here.

Provenance

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