Skip to main content

Monte Carlo Power Analysis for Statistical Models

Project description

Tests PyPI Python License: GPL v3 DOI

███╗   ███╗  ██████╗ ██████╗ 
████╗ ████║ ██╔════╝ ██╔══██╗ ██████╗ ██╗    ██╗███████╗██████╗ 
██╔████╔██║ ██║      ██║  ██║██╔═══██╗██║    ██║██╔════╝██╔══██╗
██║╚██╔╝██║ ██║      ██████╔╝██║   ██║██║ █╗ ██║█████╗  ██████╔╝
██║ ╚═╝ ██║ ██║      ██╔═══╝ ██║   ██║██║███╗██║██╔══╝  ██╔══██╗
██║     ██║ ╚██████╗ ██║     ╚██████╔╝╚███╔███╔╝███████╗██║  ██║
╚═╝     ╚═╝  ╚═════╝ ╚═╝      ╚═════╝  ╚══╝╚══╝ ╚══════╝╚═╝  ╚═╝

MCPower

Simple Monte Carlo power analysis for complex models. Find the sample size you need or check if your study has enough power - even with complex models that traditional power analysis can't handle.

Desktop Application

It it Python package, prefer a graphical interface? MCPower GUI is a standalone desktop app — no Python installation required. Download ready-to-run executables for Windows, Linux, and macOS from the releases page.

Why MCPower?

Traditional power analysis breaks down with interactions, correlated predictors, categorical variables, or non-normal data. MCPower uses simulation instead of formulas - it generates thousands of datasets exactly like yours, then sees how often your analysis finds real effects.

Works with complexity: Interactions, correlations, factors, any distribution
R-style formulas: outcome = treatment + covariate + treatment*covariate
Categorical variables: Multi-level factors automatically handled
Two simple commands: Find sample size or check power
Scenario analysis: Test robustness under realistic conditions
Minimal math required: Just specify your model and effects

Get Started in 2 Minutes

Install

pip install mcpower

Update to the latest version.

pip install --upgrade mcpower

Your First Power Analysis

# 0. Import installed package
import mcpower

# 1. Define your model (just like R)
model = mcpower.MCPower("satisfaction = treatment + motivation")

# 2. Set effect sizes (how big you expect effects to be)
model.set_effects("treatment=0.5, motivation=0.3")

# 3. Change the treatment to "binary" (people receive treatment or not).
model.set_variable_type("treatment=binary")

# 4. Find the sample size you need
model.find_sample_size(target_test="treatment", from_size=50, to_size=200, summary="long")

Output: "You need N=75 for 80% power to detect the treatment effect"

That's it! 🎉

🎯 Scenario Analysis: Test Your Assumptions

Real studies rarely match perfect assumptions. MCPower's scenario analysis tests how robust your power calculations are under realistic conditions.

# Test robustness with scenario analysis
model.find_sample_size(
    target_test="treatment", 
    from_size=50, to_size=300,
    scenarios=True  # 🔥 The magic happens here
)

Output:

SCENARIO SUMMARY
================================================================================

Uncorrected Sample Sizes:
Test                                     Optimistic   Realistic    Doomer      
-------------------------------------------------------------------------------
treatment                                75           85           100         
================================================================================

What each scenario means:

  • Optimistic: Your ideal conditions (original settings)
  • Realistic: Moderate real-world complications (small effect variations, mild assumption violations)
  • Doomer: Conservative estimate (larger effect variations, stronger assumption violations)

💡 Pro tip: Use the Realistic scenario for planning. If Doomer is acceptable, you're really safe!

Understanding Effect Sizes

Effect sizes tell you how much the outcome changes when predictors change.

  • Effect size = 0.5 means the outcome increases by 0.5 standard deviations when:
    • Continuous variables: Predictor increases by 1 standard deviation
    • Binary variables: Predictor changes from 0 to 1 (e.g., control → treatment)
    • Factor variables: Each level compared to reference level (first level)

Practical examples:

model.set_effects("treatment=0.5, age=0.3, income=0.2")
  • treatment=0.5: Treatment increases outcome by 0.5 SD (medium-large effect)
  • age=0.3: Each 1 SD increase in age → 0.3 SD increase in outcome
  • income=0.2: Each 1 SD increase in income → 0.2 SD increase in outcome

Effect size guidelines:

  • 0.1 = Small effect (detectable but modest)
  • 0.25 = Medium effect (clearly noticeable)
  • 0.4 = Large effect (substantial impact)

Effect size guidelines (binary variables):

  • 0.2 = Small effect (detectable but modest)
  • 0.5 = Medium effect (clearly noticeable)
  • 0.8 = Large effect (substantial impact)

Your uploaded data is automatically standardized (mean=0, SD=1) so effect sizes work the same way whether you use synthetic or real data.

Copy-Paste Examples for Common Studies

Randomized Controlled Trial

import mcpower

# RCT with treatment + control variables
model = mcpower.MCPower("outcome = treatment + age + baseline_score")
model.set_effects("treatment=0.6, age=0.2, baseline_score=0.8")
model.set_variable_type("treatment=binary")  # 0/1 treatment

# Find sample size for treatment effect with scenario analysis
model.find_sample_size(target_test="treatment", from_size=100, to_size=500, 
                      by=50, scenarios=True)

A/B Test with Interaction

import mcpower

# Test if treatment effect depends on user type
model = mcpower.MCPower("conversion = treatment + user_type + treatment*user_type")
model.set_effects("treatment=0.4, user_type=0.3, treatment:user_type=0.5")
model.set_variable_type("treatment=binary, user_type=binary")

# Check power robustness for the interaction
model.find_power(sample_size=400, target_test="treatment:user_type", scenarios=True)

Multi-Group Study with Categorical Variables

import mcpower

# Study with 3 treatment groups and 4 education levels
model = mcpower.MCPower("wellbeing = treatment + education + age")
model.set_variable_type("treatment=(factor,3), education=(factor,4)")

# Set effects for each factor level (vs. reference level 1)
model.set_effects("treatment[2]=0.4, treatment[3]=0.6, education[2]=0.3, education[3]=0.5, education[4]=0.7, age=0.2")

# Find sample size for treatment effects
model.find_sample_size(target_test="treatment[2], treatment[3]", scenarios=True)

Survey with Correlated Predictors

import mcpower

# Predictors are often correlated in real data
model = mcpower.MCPower("wellbeing = income + education + social_support")
model.set_effects("income=0.4, education=0.3, social_support=0.6")
model.set_correlations("corr(income, education)=0.5, corr(income, social_support)=0.3")

# Find sample size for any effect
model.find_sample_size(target_test="all", from_size=200, to_size=800, 
                      by=100, scenarios=True)

Customize for Your Study

Different Variable Types

# Binary, factors, skewed, or other distributions
model.set_variable_type("treatment=binary, condition=(factor,3), income=right_skewed, age=normal")

# Binary with custom proportions (30% get treatment)
model.set_variable_type("treatment=(binary,0.3)")

# Factors with custom group sizes (20%, 50%, 30%)
model.set_variable_type("condition=(factor,0.2,0.5,0.3)")

Working with Factors (Categorical Variables)

# Factors automatically create dummy variables
model = mcpower.MCPower("outcome = treatment + education")
model.set_variable_type("treatment=(factor,3), education=(factor,4)")

# Set effects for specific levels (level 1 is always reference)
model.set_effects("treatment[2]=0.5, treatment[3]=0.7, education[2]=0.3, education[3]=0.4, education[4]=0.6")

Your Own Data

Use upload_data() to preserve real-world distribution shapes and relationships:

import pandas as pd

# Load your data
data = pd.read_csv("my_data.csv")

# Upload with automatic type detection
model = mcpower.MCPower("mpg = hp + wt + cyl")
model.upload_data(data[["hp", "wt", "cyl"]])
model.set_effects("hp=0.5, wt=0.3, cyl[2]=0.2, cyl[3]=0.4")
model.find_power(sample_size=100)

Auto-Detection

Variables are automatically classified based on unique values:

  • 1 unique value: Dropped (constant)
  • 2 unique values: Binary variable
  • 3-6 unique values: Factor/categorical variable
  • 7+ unique values: Continuous variable

Correlation Preservation Modes

Control how correlations are handled with the preserve_correlation parameter:

# No correlation preservation
model.upload_data(data, preserve_correlation="no")

# Partial: Compute correlations from data, merge with user settings
model.upload_data(data, preserve_correlation="partial")

# Strict: Bootstrap whole rows to preserve exact relationships (default)
model.upload_data(data, preserve_correlation="strict")

Override Auto-Detection

Force specific variable types:

model.upload_data(
    data,
    data_types={"cyl": "factor", "hp": "continuous"}
)

Multiple Testing

# Testing multiple effects? Control false positives
model.find_power(
    sample_size=200, 
    target_test="treatment,covariate,treatment:covariate",
    correction="Benjamini-Hochberg",
    scenarios=True  # Test robustness too!
)

Test the single violation of assumptions.

# Customize how much "messiness" to add in scenarios
model.set_heterogeneity(0.2)        # Effect sizes vary between people
model.set_heteroskedasticity(0.15)  # Violation of equal variance assumption

# Then run scenario analysis
model.find_sample_size(target_test="treatment", scenarios=False)

Mixed-Effects Models (Random Intercept)

import mcpower

# Define a model with a random intercept for clustered data
model = mcpower.MCPower("satisfaction ~ treatment + motivation + (1|school)")
model.set_cluster("school", ICC=0.2, n_clusters=20)
model.set_effects("treatment=0.5, motivation=0.3")
model.set_variable_type("treatment=binary")

# Allow some convergence failures (common with mixed models)
model.set_max_failed_simulations(0.10)  # Up to 10% failures tolerated

# Total sample_size is split across clusters: 1000 / 20 = 50 per cluster
model.find_power(sample_size=1000)

Constraints:

  • Only random intercepts (1|group) — random slopes are not yet supported
  • At least 25 observations per cluster and 10 observations per model parameter
  • ICC must be between 0.1 and 0.9 (or exactly 0)

More precision

# To make a more precise estimation, consider increasing the number of simulations.
model.set_simulations(10000)

# Parallelization is enabled by default for mixed models ("mixedmodels" mode).
# To enable it for all analyses:
model.set_parallel(True)

# To disable parallelization entirely:
model.set_parallel(False)

Reproducibility & programmatic use

# Set a seed for reproducible results
model.set_seed(42)

# All set_* methods support chaining
model.set_effects("x1=0.5").set_variable_type("x1=binary").set_alpha(0.01)

# Get results as a Python dict for further processing
results = model.find_power(sample_size=200, return_results=True)

# Custom progress callback (useful in notebooks or GUIs)
model.find_power(sample_size=200, progress_callback=lambda cur, tot: print(f"{cur}/{tot}"))

# Disable progress output entirely
model.find_power(sample_size=200, progress_callback=False)

Quick Reference

Want to... Use this
Find required sample size model.find_sample_size(target_test="effect_name")
Check power for specific N model.find_power(sample_size=150, target_test="effect_name")
Test robustness Add scenarios=True to either method
Detailed output with plots Add summary="long" to either method
Test overall model target_test="overall"
Test multiple effects target_test="effect1, effect2" or "all"
Binary variables model.set_variable_type("var=binary")
Factor variables model.set_variable_type("var=(factor,3)")
Factor effects model.set_effects("var[2]=0.5, var[3]=0.7")
Correlated predictors model.set_correlations("corr(var1, var2)=0.4")
Multiple testing correction Add correction="FDR", "Holm", or "Bonferroni"
Mixed model (random intercept) MCPower("y ~ x + (1|group)") + model.set_cluster(...)
Reproducible results model.set_seed(42)
Get results as dict Add return_results=True to either method
Stricter significance model.set_alpha(0.01)
Target 90% power model.set_power(90)

When to Use MCPower

✅ Use MCPower when you have:

  • Interaction terms (treatment*covariate)
  • Categorical variables with multiple levels
  • Binary or non-normal variables
  • Correlated predictors
  • Multiple effects to test
  • Need to test assumption robustness
  • Complex models where traditional power analysis fails

✅ Use Scenario Analysis when:

  • Planning important studies
  • Working with messy real-world data
  • Effect sizes are uncertain
  • Want conservative sample size estimates
  • You need confidence in your numbers

❌ Use traditional power analysis for:

  • For models that are not yet implemented
  • For simple models where all assumptions are clearly met.
  • For large analyses with tens of thousands of observations, tiny effects, or very low alpha levels.

What Makes Scenarios Different? (Be careful, unvalidated, preliminary scenarios)

Traditional power analysis assumes perfect conditions. MCPower's scenarios add realistic "messiness":

Scenario What's Different When to Use
Optimistic Your exact settings Best-case planning
Realistic Mild effect variations, small assumption violations Recommended for most studies
Doomer Larger effect variations, stronger assumption violations Conservative/worst-case planning

Behind the scenes, scenarios randomly vary:

  • Effect sizes between participants
  • Correlation strengths
  • Variable distributions
  • Assumption violations

This gives you a range of realistic outcomes instead of a single optimistic estimate. ⚠️ Important: Scenario analysis is rule of thumb recognition of condition, and could not be accurate in all settings, as it tries to cover many diffrent fields reality.

📚 Advanced Features (Click to expand)

Advanced Options

All Variable Types

model.set_variable_type("""
    treatment=binary,           # 0/1 with 50% split
    ses=(binary,0.3),          # 0/1 with 30% split  
    condition=(factor,3),       # 3-level factor (equal proportions)
    education=(factor,0.2,0.5,0.3), # 3-level factor (custom proportions)
    age=normal,                # Standard normal (default)
    income=right_skewed,       # Positively skewed
    depression=left_skewed,    # Negatively skewed
    response_time=high_kurtosis, # Heavy-tailed
    rating=uniform             # Uniform distribution
""")

Factor Variables in Detail

# Factor variables are categorical with multiple levels
model = mcpower.MCPower("outcome = treatment + education")

# Create factors
model.set_variable_type("treatment=(factor,3), education=(factor,4)")

# This creates dummy variables automatically:
# treatment[2], treatment[3] (treatment[1] is reference)
# education[2], education[3], education[4] (education[1] is reference)

# Set effects for specific levels
model.set_effects("treatment[2]=0.5, treatment[3]=0.7, education[2]=0.3")

# Or set same effect for all levels of a factor
model.set_effects("treatment=0.5")  # Applies to treatment[2] and treatment[3]

# Important: Factors cannot be used in correlations
# This will error: model.set_correlations("corr(treatment, education)=0.3")
# Use continuous variables only: model.set_correlations("corr(age, income)=0.3")

Complex Correlation Structures

import numpy as np

# Full correlation matrix for 3 CONTINUOUS variables only
# (Factors are excluded from correlation matrices)
corr_matrix = np.array([
    [1.0, 0.4, 0.6],    # Variable 1 with others
    [0.4, 1.0, 0.2],    # Variable 2 with others
    [0.6, 0.2, 1.0]     # Variable 3 with others
])
model.set_correlations(corr_matrix)

Performance Tuning

# Adjust for your needs
model.set_power(90)           # Target 90% power instead of 80%
model.set_alpha(0.01)         # Stricter significance (p < 0.01)
model.set_simulations(10000)  # High precision (slower)

Formula Syntax

# These are equivalent:
"y = x1 + x2 + x1*x2"        # Assignment style
"y ~ x1 + x2 + x1*x2"        # R-style formula  
"x1 + x2 + x1*x2"            # Predictors only

# Interactions:
"x1*x2"         # Main effects + interaction (x1 + x2 + x1:x2)
"x1:x2"         # Interaction only
"x1*x2*x3"      # All main effects + all interactions

Correlation Syntax (Continuous Variables Only)

# String format (recommended)
model.set_correlations("corr(x1, x2)=0.3, corr(x1, x3)=-0.2")

# Shorthand format  
model.set_correlations("(x1, x2)=0.3, (x1, x3)=-0.2")

# Note: Factor variables cannot be correlated
# Only use continuous/binary variables in correlations

Requirements

  • Python ≥ 3.10
  • NumPy, SciPy, matplotlib, Pandas, joblib
  • C++ compiler (automatically used during install for native backend; falls back to Python if unavailable)
  • statsmodels (optional, for mixed-effects models — install with pip install mcpower[mixed])
  • Numba (optional, for JIT compilation fallback — install with pip install mcpower[JIT])

Need Help?

Aim for future (waiting for suggestions)

  • ✅ Linear Regression
  • ✅ Scenarios, robustness analysis
  • ✅ Factor variables (categorical predictors)
  • ✅ C++ native backend (pybind11 + Eigen, 3x speedup)
  • 🚧 Mixed Effects Models (partly implemented — random intercept only)
  • 🚧 Logistic Regression (coming soon)
  • 🚧 ANOVA (coming soon)
  • 🚧 Guide about methods, corrections (coming soon)
  • 📋 2 groups comparison with alternative tests
  • 📋 Robust regression methods

License & Citation

GPL v3. If you use MCPower in research, please cite:

Lenartowicz, P. (2025). MCPower: Monte Carlo Power Analysis for Statistical Models. Zenodo. DOI: 10.5281/zenodo.16502734

@software{mcpower2025,
  author = {Pawel Lenartowicz},
  title = {MCPower: Monte Carlo Power Analysis for Statistical Models},
  year = {2025},
  publisher = {Zenodo},
  doi = {10.5281/zenodo.16502734},
  url = {https://doi.org/10.5281/zenodo.16502734}
}

🚀 Ready to start? Copy one of the examples above and adapt it to your study!

I created this project for free without receiving any payment, and if you'd like to support my work, donations are appreciated!

💖 Support this project

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

mcpower-0.4.1.tar.gz (229.0 kB view details)

Uploaded Source

Built Distributions

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

mcpower-0.4.1-cp313-cp313-win_amd64.whl (316.7 kB view details)

Uploaded CPython 3.13Windows x86-64

mcpower-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl (439.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

mcpower-0.4.1-cp313-cp313-macosx_11_0_arm64.whl (287.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mcpower-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl (308.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

mcpower-0.4.1-cp312-cp312-win_amd64.whl (316.7 kB view details)

Uploaded CPython 3.12Windows x86-64

mcpower-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl (439.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

mcpower-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (287.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mcpower-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl (308.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

mcpower-0.4.1-cp311-cp311-win_amd64.whl (315.4 kB view details)

Uploaded CPython 3.11Windows x86-64

mcpower-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl (440.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

mcpower-0.4.1-cp311-cp311-macosx_11_0_arm64.whl (287.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mcpower-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl (307.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

mcpower-0.4.1-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

mcpower-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

mcpower-0.4.1-cp310-cp310-macosx_11_0_arm64.whl (286.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mcpower-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file mcpower-0.4.1.tar.gz.

File metadata

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

File hashes

Hashes for mcpower-0.4.1.tar.gz
Algorithm Hash digest
SHA256 ccf4ce2455d175ea5356d380592db06de4c227de05569b95cc94345849b2bceb
MD5 558fb08a45f32627c0069017070b7d1e
BLAKE2b-256 2389d6ed52adb1760d3fbaf3822b836053f40ad5caed0d6d57ed30d09534c111

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1.tar.gz:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.4.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 316.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcpower-0.4.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7999ddaa7a9b9a2f46ddbfa90f317fee591be082bd01866eb3c9f533b0d05c8c
MD5 231804f3a3648e6dd5f1f052c736e25c
BLAKE2b-256 b8393452dbf505ee507a9c55a3fc733900895df393714d7fef252ea7ff65ce99

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 657cfd01f9b550461a0a4c72e00c1c5b6c8ed1394f566131f6d1cbb7128946b3
MD5 3d6705bb7ec9185108e2cef4eab3c1cd
BLAKE2b-256 a5b280ba60de9271b137bb3ee168d61c57884d4fb2d3700df31f4881db181b3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e3529e8175812b087dc0cac3feb32bc935b0dcbc3cc72804bcb25c37ba73314
MD5 c873f266b241acb4a1f83a6594dfcdf3
BLAKE2b-256 6f756fd4bd647db96913aef8a3461d24c26dc04cb8850923e95d6d5564ee0b1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 159a70f32f878f58144a5dec3fb4be4577b703162bc0d7653ea3934c12ce7ec1
MD5 9fe8e7cc7a4bf89c2a4fd9be9ec537da
BLAKE2b-256 b13210e234de94543cb5e16d58d2b75513f7333eb8f86af616c8d724fd09cfc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.4.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 316.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcpower-0.4.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0a4a289ce5483cd2a573856f9e5e89e7d63eba845141e7b31ca9d80d4fac6750
MD5 c49852e359cfcd54e0613a320187e793
BLAKE2b-256 752b895de2e372071d8536f9176bed411acc3adce8e9ecb9c671b695c5607ecc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f23e6d297bb0d87dc27342b37352669c801e3a43578a33fde50d880a2a74e1a3
MD5 45cc4e87a7d68586d929384f329ae0d3
BLAKE2b-256 a205947c22091e9fee15181f9197830abcb338a2e8b353abd308a07b0ef4d48a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e49e945053dd645a76924ed17b5b94dc7eecd8c9098faec7c1d5d1e9181d391
MD5 d65d718bc64da1542b3cff2cc9b05419
BLAKE2b-256 1d7f6c0172017531a53a1bbcb3ee8f4dcc2dfe17d0ff94a41de276e56fefd52a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4cb1db4ee222bbcac0187fd3ff330a3da753851bf10db5622af2fe06e231192e
MD5 323aecce6dc8ab6cd6ccde36a0c094c2
BLAKE2b-256 b7eb15ee083811b92bd03a0a59ce2982a44e143df56f1507f6c21fb1c52e13b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.4.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 315.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcpower-0.4.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 53b3abe8b79fb181069ae8b7123dc36c50493007e8d323405a7a8db867ec70c1
MD5 56d1314a26f1f8cbbec208bb48dedf4a
BLAKE2b-256 5425626b6e0aee3079e57c91e1a05788d854f2af965c9ddb4e2471d8f5cc7293

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 973d8a3a19b7e912d40386bce2974753116d0b978dc4ce40ce5eea948634bea0
MD5 950da88bd0910472e4079ec89140e4d6
BLAKE2b-256 01df643c780bf38c400cb71883659f70faf7eb57d273dc6c20e38af5a19d650f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42a1e7fe7c16c632efb61329314614d5982cb7f85bb9fc0c7bcfce5bd8660902
MD5 6d6ea6f28f074b54113ceb5f5bf3d31f
BLAKE2b-256 a32a0891d4cb4ceaf11ea54b72a66761d1be015d5555619ffef57a368695191e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 30c80f2cb99eeea649a6648615fe782c3ea0086ec8609133f2ac04c70b8c9770
MD5 43641897f0c7557504fbdd7c1b0c30f6
BLAKE2b-256 16af8a778cd76e7b43f66b275bc6ea5e20d7572471b74e864bca18dad5f77325

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.4.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcpower-0.4.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a5da4495aa4878b9286e30e6d125676d7477b34134c60ad6d6b407f82cf54881
MD5 03acb4f4e628fb09f18883c5d1169a8a
BLAKE2b-256 11c6604d11cf46138c354766f297a7dff75e119eedae8c265528430ea27721a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ddaf840cfa570c048f1e1eb0afdf9d13dab688086fad5fbc70cc43ef0e33027
MD5 4cb697775224175ba4ea66ff9b2d0d2e
BLAKE2b-256 5212649013620337fc884f12a6e26c52fec4c6183f341c169553f672bd56f74a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 237ea1f4e7ba36b6b5d36442138a7eadae6d14de36b78984cefa23855b4e1f85
MD5 018a630101f013a45726f514e0ab336f
BLAKE2b-256 1344fde5659df74d35e4340309d1449a2f6d11b3dc68b47239f4fbef5d4fd72d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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

File details

Details for the file mcpower-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 814520d3ee5e47124a00da5cb6db4f4fb4635f5b96dfb11527088d5a8fd593f8
MD5 9b7a4b546970591c14230b74e97aec78
BLAKE2b-256 e6d881538a8999c365f13c9505f8cfd3e5d4eff2ebcc595e6e1e0b368f7f9872

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yml on pawlenartowicz/MCPower

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