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.

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.0.tar.gz (228.7 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.0-cp313-cp313-win_amd64.whl (316.5 kB view details)

Uploaded CPython 3.13Windows x86-64

mcpower-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl (439.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

mcpower-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (287.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mcpower-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl (308.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

mcpower-0.4.0-cp312-cp312-win_amd64.whl (316.5 kB view details)

Uploaded CPython 3.12Windows x86-64

mcpower-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl (439.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

mcpower-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (287.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mcpower-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl (308.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

mcpower-0.4.0-cp311-cp311-win_amd64.whl (315.2 kB view details)

Uploaded CPython 3.11Windows x86-64

mcpower-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl (440.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

mcpower-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (287.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mcpower-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl (307.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

mcpower-0.4.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (286.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mcpower-0.4.0-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.0.tar.gz.

File metadata

  • Download URL: mcpower-0.4.0.tar.gz
  • Upload date:
  • Size: 228.7 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.0.tar.gz
Algorithm Hash digest
SHA256 7dde164b57ef395cf7a300e01a71010940ea09a7216de1733f8cc19733d2d732
MD5 442cc472991387fb79bbda8a8ad6e03d
BLAKE2b-256 8a64fd53ce89fd819845f05ce4fb45c06958c1a64ccc8533a852b0d31d559ead

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcpower-0.4.0.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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mcpower-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 316.5 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3bace9f562379e41c576b554c0036117789c152620308972fa93865c3e02e06d
MD5 55924427e13293694c4700f9030d8cea
BLAKE2b-256 feaa28acd4629104f35394a1aa5982f4f40eb1218c18bae723f827ca98b13079

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ae3b8c6c8c32cf5b2a1bd88e8c6edb0cb8a4f80f9f038b94451ab8b2979e391
MD5 1558170b24862144b26c27d7fdf1e80b
BLAKE2b-256 6915bfd6dcf1dc1dbe0820b792a4d11949a94b066539317239a50d1ea396112b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ae8724c15de5fa06c8163a952a4142da65783f020d83f1e48d261da77c8fd8d
MD5 e4669b19d2b1cd50043bad7905988a87
BLAKE2b-256 b51e4f16825e71aed0da9401f51eb811c0764d787672bfe205d64211146e00c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cb17589f181bed0581b01cb66aed67d27b2a5e128ec5a3189c6e55fc892e21b6
MD5 1f5e0511585d852a6db128171d2cb15d
BLAKE2b-256 fa49deb8b5b7c9b7ba3783f49a43b1a51f3a7c2b611ec6e515998f7ad5667770

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mcpower-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 316.5 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7642226c98a171a16b0f89fe58263246ad77668a1af5191f749286b6539cf8e6
MD5 4e30d055a3c35eb33489202ebb201571
BLAKE2b-256 7f712a3882cfefbe84225285779b560d6a6561e878f71a501b1df3b136d331a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f67031ec6e4cb02cf3c2c8707668672bcf6a3131822b07486188b7847ae7670
MD5 b0832a96957d514e48be12d55be15912
BLAKE2b-256 a813d01f3122ee223333bcfcc95cbfb5d9aa623199769371109f128491bd265c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42d83391151fb6644b0bbd0ea3708707c7e7d1567d78b1f759a32ea2c1bc1f9e
MD5 985206db7f42fed045e04ce0b2069fdf
BLAKE2b-256 7e8e2f0bd036aae491e6554497ec6ba672468280ac38a0900876e6471b470cf5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b1e07a6676f8e538e3891a6cd55fabb2a6810a96f5762ba361a490080ba54b4b
MD5 5936dcecf77e495ebbb2244bc1168161
BLAKE2b-256 2fe137734d13bd83982cf752eafc53dbb15e4a68ffec8fe3841bd29c4133f4a8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mcpower-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 315.2 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 437ec1e2c68e210ea12092e6f6132dafc7abe846e50bfcbcfb41250fbc2819cb
MD5 5a4f5dfb7a3c53162ba423c2335b512b
BLAKE2b-256 d96d148e0e663d4ab835e6c05e969e7f4a8cda2f9de7144d2f7a98d552717d98

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b17c8b38be7669b8456c18d8079b05754eb7d3e32e67d2f8dd173bd6e107ffa3
MD5 42ebe2a22c1d68796983f2960d11014b
BLAKE2b-256 abda709934aa5cb0b6d4d2270b499e585bb1188ca74c57318111cde5da6a3c5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96b0254b6b2234ca3a37d5560816166b7ac815482cfae2aab9462b187196a67a
MD5 bcae88d1563c5bda5303561ad98250ba
BLAKE2b-256 24bb2abf099d9fdfd608efd1dd15bebb386936236d696833e431df88cf1ae7de

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 96633aef1c72d14729174bc7c3ad8d9add1f99de124c49bdbb57cd44fa8d445e
MD5 cf6cc404803086a83c0c463f71355449
BLAKE2b-256 308000ab9a4627a8210e07d8ae3ad3b72f93243f909fad5d54d09c1d81d6ebbd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mcpower-0.4.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d4ffbe8350be24e2e6a46a1810c405f52be8e408e95616a35492391bc09cb156
MD5 f3294c6e2c77934d866f5a2437b29f87
BLAKE2b-256 6547b22d69ff8723ee56f32b2fc0954af4776947f8189e0d60b31c6824521278

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f07ca82e3abe03ba15f930f1bd2bf8ebdbff56aed6aa4d60196ec4e62f918c38
MD5 20ce7c80025f9c9a20d7dfa61784b10c
BLAKE2b-256 f7e80cad887d20bf0064f4439c9aa495c67de4ab5a51a57a90454408194cd080

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f6f54ac7b0544b5d49ec79a26479d68211248ee2dd21246c871c03b082be30a
MD5 6cc5595a50557dea09394215fb8a5a7e
BLAKE2b-256 486a9f946fa57b4affe1cd08887eb6a3a57de56b42f1c4e5a268a755baf91bb7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mcpower-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9208a0a3822bf2d11e7ed0a9b20ce2b69b136c7b4f3dd912786b579a5ca99c54
MD5 b00ee8754cf7c320cae0d94ecd2ee16f
BLAKE2b-256 c315167c4f5082aef8abb5e21e97326b3a2c0b679ce172fa12df4d336768f542

See more details on using hashes here.

Provenance

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