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's a Python package, but 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 formulas break down with interactions, correlated predictors, categorical variables, or non-normal data. MCPower simulates instead — generates thousands of datasets like yours, fits your model, and counts how often the effects are detected.

  • Write your formula. Define your model the way you'd write it in R — outcome = treatment + covariate + treatment*covariate. MCPower parses it, sets up the simulation, and handles dummy coding, interactions, and factor variables automatically. You focus on the research question, not the mechanics.

  • Test your assumptions. Real studies rarely match textbook conditions — effect sizes may be smaller than expected, distributions may be skewed, variance may not be constant. Add scenarios=True and MCPower runs your analysis under optimistic, realistic, and worst-case conditions, giving you a range instead of a single number you can't trust.

  • All hypotheses at once. MCPower evaluates power for every effect in your model by default. Narrow it down with target_test="effect1, effect2" when needed. Built-in corrections (Bonferroni, FDR, Holm, Tukey) keep false positive rates under control across multiple comparisons.

  • Use your own data. Upload a CSV and MCPower auto-detects variable types (continuous, binary, categorical), preserves real distributions, and handles correlations between predictors. Especially useful when you have pilot data and want your power analysis to reflect actual conditions rather than idealized ones.

  • Mixed models. Clustered and longitudinal data are supported via standard R random-effects syntax — (1|group) for random intercepts, (1 + x|group) for random slopes, and nested structures like (1|school/classroom).

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
from mcpower import MCPower

# 1. Define your model (just like R)
model = 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

from mcpower import MCPower

# RCT with treatment + control variables
model = 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

from mcpower import MCPower

# Test if treatment effect depends on user type
model = 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

from mcpower import MCPower

# Study with 3 treatment groups and 4 education levels
model = 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

from mcpower import MCPower

# Predictors are often correlated in real data
model = 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("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 csv

# Load your data (no extra dependencies needed)
with open("my_data.csv") as f:
    reader = csv.DictReader(f)
    rows = list(reader)
data = {col: [float(r[col]) for r in rows] for col in ["hp", "wt", "cyl"]}

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

Or with pandas (optional: pip install pandas):

import pandas as pd
data = pd.read_csv("my_data.csv")
model.upload_data(data[["hp", "wt", "cyl"]])

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!
)

Post-Hoc Pairwise Comparisons (Tukey HSD)

# Compare specific factor levels with Tukey correction
model = MCPower("outcome = group + covariate")
model.set_variable_type("group=(factor,3)")
model.set_effects("group[2]=0.4, group[3]=0.6, covariate=0.3")

# Use "vs" syntax for pairwise comparisons + correction="tukey"
model.find_power(
    sample_size=150,
    target_test="group[0] vs group[1], group[0] vs group[2]",
    correction="tukey"
)

Test Individual Assumption Violations

# Manually add specific violations (without full scenario analysis)
model.set_heterogeneity(0.2)        # Effect sizes vary between people
model.set_heteroskedasticity(0.15)  # Violation of equal variance assumption

# Run with your manual settings (no automatic scenario variations)
model.find_sample_size(target_test="treatment")

Mixed-Effects Models (Experimental)

from mcpower import MCPower

# Random intercept — clustered data
model = 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")
model.set_max_failed_simulations(0.10)
model.find_power(sample_size=1000)  # 1000/20 = 50 per cluster

# Random slopes — effect varies across clusters
model = MCPower("y ~ x1 + (1 + x1|school)")
model.set_cluster("school", ICC=0.2, n_clusters=20,
                   random_slopes=["x1"], slope_variance=0.1,
                   slope_intercept_corr=0.3)
model.set_effects("x1=0.5")
model.set_max_failed_simulations(0.30)
model.find_power(sample_size=1000)

# Nested random effects — students in classrooms in schools
model = MCPower("y ~ treatment + (1|school/classroom)")
model.set_cluster("school", ICC=0.15, n_clusters=10)
model.set_cluster("classroom", ICC=0.10, n_per_parent=3)  # 3 classrooms per school
model.set_effects("treatment=0.5")
model.set_max_failed_simulations(0.30)
model.find_power(sample_size=1500)

See the Mixed-Effects Models wiki page for detailed documentation on all model types, parameters, and design recommendations.

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", "Bonferroni", or "Tukey"
Post-hoc pairwise comparison target_test="group[0] vs group[1]" with correction="tukey"
Mixed model (random intercept) MCPower("y ~ x + (1|group)") + model.set_cluster(...) (experimental)
Random slopes MCPower("y ~ x + (1+x|group)") + set_cluster(..., random_slopes=["x"], slope_variance=0.1) (experimental)
Nested random effects MCPower("y ~ x + (1|A/B)") + two set_cluster() calls (experimental)
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 uses rule-of-thumb adjustments and may not be accurate in all settings, as it attempts to cover a wide range of real-world conditions across different fields.

📚 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("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, matplotlib, joblib
  • pandas (optional, for DataFrame input — install with pip install mcpower[pandas])
  • statsmodels (optional, for mixed-effects models — install with pip install mcpower[all])

Documentation

Full documentation is available on the MCPower Wiki, including:

Need Help?

Roadmap

  • ✅ Linear Regression
  • ✅ Scenarios, robustness analysis
  • ✅ Factor variables (categorical predictors)
  • ✅ C++ native backend (pybind11 + Eigen, 3x speedup)
  • ⚠️ Mixed Effects Models (random intercepts, random slopes, nested effects) — experimental
  • 🚧 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.5.3.tar.gz (285.2 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.5.3-cp314-cp314-win_amd64.whl (540.2 kB view details)

Uploaded CPython 3.14Windows x86-64

mcpower-0.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (711.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mcpower-0.5.3-cp314-cp314-macosx_11_0_arm64.whl (487.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mcpower-0.5.3-cp314-cp314-macosx_10_15_x86_64.whl (550.9 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

mcpower-0.5.3-cp313-cp313-win_amd64.whl (530.2 kB view details)

Uploaded CPython 3.13Windows x86-64

mcpower-0.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (711.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mcpower-0.5.3-cp313-cp313-macosx_11_0_arm64.whl (486.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mcpower-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl (550.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

mcpower-0.5.3-cp312-cp312-win_amd64.whl (530.2 kB view details)

Uploaded CPython 3.12Windows x86-64

mcpower-0.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (711.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mcpower-0.5.3-cp312-cp312-macosx_11_0_arm64.whl (486.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mcpower-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl (550.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

mcpower-0.5.3-cp311-cp311-win_amd64.whl (528.7 kB view details)

Uploaded CPython 3.11Windows x86-64

mcpower-0.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (709.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mcpower-0.5.3-cp311-cp311-macosx_11_0_arm64.whl (485.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mcpower-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl (548.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

mcpower-0.5.3-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

mcpower-0.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mcpower-0.5.3-cp310-cp310-macosx_11_0_arm64.whl (485.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mcpower-0.5.3-cp310-cp310-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for mcpower-0.5.3.tar.gz
Algorithm Hash digest
SHA256 e0e3727e4374985fbf4eb6af426c5eab1eca00d79060a83ce5639512754ac8c0
MD5 1fe15e58d5123444a7595e0e5a331078
BLAKE2b-256 ddf6019010a9e7738c025fbbea9894d6ff43b9e802de231575f2d328400f22b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3.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.5.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.5.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 540.2 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcpower-0.5.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 30fc40a72d8d71c2444cde3bd374b6292c39fc869f1e98a8e109774a311edbe2
MD5 1d0f795ef830a95878cc212ea07253bd
BLAKE2b-256 b44e2d76177dcd7533e7d2f9df75b0d96dc51134badd41fef98689e0e688ac21

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp314-cp314-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.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0ee894a5af11d203aa90a3bf5efda0662183cce3264aa89959c9c12ca9114fc
MD5 e97865635765a7ab81352c2f78769298
BLAKE2b-256 b99d08ccbbb5f1f32ecc17be5aa9413d4b5acc714cbdb2cdbfd61340c16035cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp314-cp314-manylinux_2_27_x86_64.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.5.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 937950921c77c9f4eee040b2f603fe45e6d66bd16b8d48bbf1fb78f34c663f14
MD5 59ac5511938d7c14fee412bb757d5b37
BLAKE2b-256 e231791326cd89e305ba9342e4c87f9f07c271f7178da3826ae30e452c114579

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp314-cp314-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.5.3-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9e9fb18ed7b07171a849d8dae72f1f159318c88cf6516c83f9c7454c4c5a1747
MD5 7afe093bf3a04591738b367bb72355da
BLAKE2b-256 5da82e23d8822e9fad15006a6183d40a3227676761dbfb1a2ab53f4334a56ecd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp314-cp314-macosx_10_15_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.5.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.5.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 530.2 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.5.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ae3aeaccb3142976363fda477e461ecb6ab328bbd6c2838c03ee69082dc81434
MD5 77cf6aa3090fa3817262a59803524985
BLAKE2b-256 a6443b5f63356cf3af7150718e9914aa4a65d2d0ee018f4c9046054944162784

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ddf7bce7eac61d169d86bb72d986a9ba5079a15a8f4d40da42b297a5cef71078
MD5 93c97620eaed3fdf74198199318c731e
BLAKE2b-256 a84f789e393b2248584e99253fc1739a5a2f0f8762dfdaf7d0fd8e11f1198df8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp313-cp313-manylinux_2_27_x86_64.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.5.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd10bd0760f40e013de5a4e466d1886f82f9ac7cef3758741932bb0a11799e6b
MD5 d09b3f35af251381c0b67ddfb75d0f15
BLAKE2b-256 8ca38ced47fb34ed8d3744c88c93a0cf965bf0bbf066386c935171f8117c4657

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 063b89a65da13a66997c477bd5ca2949c93bd42259952f9a238a24f9ccebc008
MD5 e717f58bf802288b5e424f2f6b93a585
BLAKE2b-256 2ff50c941590ff421f832706d56fe4f3dd6a7c10b276ca87fb232b33b7e55862

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.5.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 530.2 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.5.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 db87868cceb7ef8f0053d9bb5fef0f929ed1c3c9cd8138defab4f5d79adef62c
MD5 f42d8dfd2d96d2be9bb2cd96f6a47df3
BLAKE2b-256 80c365fa8b472407952ca77fd3aac8906b22c214b0bba21475ae29c9bd4cf393

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 89cd681fd94dc8c35bf05fc8987b0d7bce14fd0314d595e56e59031de6182f94
MD5 4efb732da3e10e6ed57966f89ee97fa4
BLAKE2b-256 863d8b2c165da1ba461fc56a7c6081d109879d9b548bf9c542154259f2d7562b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp312-cp312-manylinux_2_27_x86_64.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.5.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5873ec92f9bb8d5164c55c643d9b8f31a94b0132547442bb75e5b0f762fae67f
MD5 d0d7f8bfe5009a5f7cbaafa3500ed938
BLAKE2b-256 ef1193b1488d09dbf1446c5630a307d20b9e6dbfc843592a0ed1f4fbc1072fe6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b85431c812c20dfd9427649117efa1a84dba45cda0c4b322d3fa5f56efd89a0e
MD5 26e3590fb5ab9700011a0043ad6a31e6
BLAKE2b-256 91966a975d10acc3d8d8c7cbe53cbfe56821d91fd7faba779fb50aca439ebcb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.5.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 528.7 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.5.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eb3532eb377b3de3b83302faa1c660c9ceb977fa82154730dd7f77a7bb276871
MD5 3d8642f1c26670bbf9626f68103c110c
BLAKE2b-256 812c3ea9f6ccc741f45fe5ae5cdf9cfab84ffb0547e9cdf1fc23c752705bc4d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79da3d9651310ab3841dbba3bc6fab0b0d9725250f735a9292bf23a68f0aa09e
MD5 58be5d1a7f3dd9011d736570ffe77f24
BLAKE2b-256 18667a196d548bfc15672e58a967ca9109083eaa9d794687610e1950ee5ee96f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp311-cp311-manylinux_2_27_x86_64.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.5.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c616032ed9172adb101366d20d0a29dae24443923143cdfdf6356d44829e9eb
MD5 034cbfe13e9911c44c4bce2f42a6644b
BLAKE2b-256 51f1d58399ba370f05406522604dea6fcaf1d2a7752f1615b6ef4230d95840f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 107fac29acc54c8daa724131883454f0ce8c6323d2e50c9430daf5a1002bc985
MD5 e6ff500b26175d53117a2efb86d566fc
BLAKE2b-256 1015d8965cbf1fa93bc4d152ac87f5baf0bd5ba81fde81e1ca97b9d03fb5b9ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.5.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.5.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d3157c0051d5e9e54241c70c0a20ca4b32e1e0e886fb640e47109ff5eed6945a
MD5 39a5de4c03be37c4337bc158468ede46
BLAKE2b-256 ea41303aaa67e7a522356ec7e27f7e2209d829d935198a5bd5614bd16a5de8de

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b409d4716392c063ce01cc289f2338ba8b02e597c5a4c7add1bec37f5998fba
MD5 55b496a135780b3484a2b957cbe76a2f
BLAKE2b-256 eac5cdc2b94ebcd9e93045ac7e0634cfa1dcf7de9360864639c6bd92612abd29

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-cp310-cp310-manylinux_2_27_x86_64.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.5.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5441768865fe7445c0d261114058928d26d235eb0088f7eb2de9569a1a06b29b
MD5 cc031104ec3630e14cdbc5ba76932394
BLAKE2b-256 fec4a21036d0626c863b971a4b9d472723b87bd0d6e0983c23e8a92971f279ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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.5.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mcpower-0.5.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8c00dc511e3125249b57553531f6468530165d25e913c2f9c3e100e090a6e69b
MD5 8764be5fe14bb6a5edd2ff1dea2a5671
BLAKE2b-256 119bf4c28928568d48c0fd258243be7772e84afd7900f4fea3deed29f1cd0e13

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.5.3-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