stat_power 0.1.0.alpha.1 → 0.1.0.alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +54 -0
- data/README.md +62 -13
- data/ROADMAP.md +9 -9
- data/docs/pwr_parity.md +9 -6
- data/docs/validation.md +60 -0
- data/lib/stat_power/anova.rb +308 -0
- data/lib/stat_power/anova_result.rb +41 -0
- data/lib/stat_power/chi_square.rb +232 -0
- data/lib/stat_power/chi_square_result.rb +20 -0
- data/lib/stat_power/distributions/chi_square.rb +117 -0
- data/lib/stat_power/distributions/noncentral_chi_square.rb +171 -0
- data/lib/stat_power/distributions/noncentral_f.rb +1 -1
- data/lib/stat_power/distributions/noncentral_t.rb +1 -1
- data/lib/stat_power/effect_size/chi_square.rb +118 -0
- data/lib/stat_power/f2.rb +247 -0
- data/lib/stat_power/f2_result.rb +27 -0
- data/lib/stat_power/power_curve.rb +85 -0
- data/lib/stat_power/power_curve_point.rb +6 -0
- data/lib/stat_power/special_functions/gamma.rb +119 -0
- data/lib/stat_power/version.rb +1 -1
- data/lib/stat_power.rb +12 -0
- data/sig/stat_power.rbs +147 -0
- metadata +20 -5
- data/RELEASING.md +0 -105
metadata
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: stat_power
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.0.alpha.
|
|
4
|
+
version: 0.1.0.alpha.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Diogo Ribeiro
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-09-
|
|
11
|
+
date: 2026-09-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Native Ruby tools for statistical power analysis, sample-size determination,
|
|
14
14
|
effect-size calculations, and inverse power problems.
|
|
15
15
|
email:
|
|
16
|
+
- dfr@esmad.ipp.pt
|
|
16
17
|
executables: []
|
|
17
18
|
extensions: []
|
|
18
19
|
extra_rdoc_files: []
|
|
@@ -20,27 +21,39 @@ files:
|
|
|
20
21
|
- CHANGELOG.md
|
|
21
22
|
- LICENSE
|
|
22
23
|
- README.md
|
|
23
|
-
- RELEASING.md
|
|
24
24
|
- ROADMAP.md
|
|
25
25
|
- docs/mathematical_conventions.md
|
|
26
26
|
- docs/pwr_parity.md
|
|
27
|
+
- docs/validation.md
|
|
27
28
|
- lib/stat_power.rb
|
|
29
|
+
- lib/stat_power/anova.rb
|
|
30
|
+
- lib/stat_power/anova_result.rb
|
|
31
|
+
- lib/stat_power/chi_square.rb
|
|
32
|
+
- lib/stat_power/chi_square_result.rb
|
|
28
33
|
- lib/stat_power/correlation.rb
|
|
34
|
+
- lib/stat_power/distributions/chi_square.rb
|
|
29
35
|
- lib/stat_power/distributions/f_distribution.rb
|
|
36
|
+
- lib/stat_power/distributions/noncentral_chi_square.rb
|
|
30
37
|
- lib/stat_power/distributions/noncentral_f.rb
|
|
31
38
|
- lib/stat_power/distributions/noncentral_t.rb
|
|
32
39
|
- lib/stat_power/distributions/normal.rb
|
|
33
40
|
- lib/stat_power/distributions/student_t.rb
|
|
41
|
+
- lib/stat_power/effect_size/chi_square.rb
|
|
34
42
|
- lib/stat_power/effect_size/conventional.rb
|
|
35
43
|
- lib/stat_power/effect_size/proportion.rb
|
|
36
44
|
- lib/stat_power/errors.rb
|
|
45
|
+
- lib/stat_power/f2.rb
|
|
46
|
+
- lib/stat_power/f2_result.rb
|
|
37
47
|
- lib/stat_power/integration/adaptive_simpson.rb
|
|
38
48
|
- lib/stat_power/normal_mean.rb
|
|
49
|
+
- lib/stat_power/power_curve.rb
|
|
50
|
+
- lib/stat_power/power_curve_point.rb
|
|
39
51
|
- lib/stat_power/power_result.rb
|
|
40
52
|
- lib/stat_power/proportion.rb
|
|
41
53
|
- lib/stat_power/result.rb
|
|
42
54
|
- lib/stat_power/solvers/bisection.rb
|
|
43
55
|
- lib/stat_power/special_functions/beta.rb
|
|
56
|
+
- lib/stat_power/special_functions/gamma.rb
|
|
44
57
|
- lib/stat_power/t_test.rb
|
|
45
58
|
- lib/stat_power/t_test_unequal.rb
|
|
46
59
|
- lib/stat_power/unequal_power_result.rb
|
|
@@ -50,7 +63,9 @@ homepage: https://github.com/DiogoRibeiro7/stat_power
|
|
|
50
63
|
licenses:
|
|
51
64
|
- MIT
|
|
52
65
|
metadata:
|
|
53
|
-
|
|
66
|
+
homepage_uri: https://github.com/DiogoRibeiro7/stat_power
|
|
67
|
+
source_code_uri: https://github.com/DiogoRibeiro7/stat_power/tree/v0.1.0.alpha.3
|
|
68
|
+
bug_tracker_uri: https://github.com/DiogoRibeiro7/stat_power/issues
|
|
54
69
|
changelog_uri: https://github.com/DiogoRibeiro7/stat_power/blob/main/CHANGELOG.md
|
|
55
70
|
documentation_uri: https://github.com/DiogoRibeiro7/stat_power#readme
|
|
56
71
|
rubygems_mfa_required: 'true'
|
|
@@ -67,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
67
82
|
requirements:
|
|
68
83
|
- - ">="
|
|
69
84
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: '
|
|
85
|
+
version: '3.4'
|
|
71
86
|
requirements: []
|
|
72
87
|
rubygems_version: 3.5.22
|
|
73
88
|
signing_key:
|
data/RELEASING.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Releasing stat_power
|
|
2
|
-
|
|
3
|
-
This project uses prerelease versions until the public API is ready to stabilize.
|
|
4
|
-
|
|
5
|
-
## One-time RubyGems trusted publisher setup
|
|
6
|
-
|
|
7
|
-
RubyGems Trusted Publishing allows GitHub Actions to publish without storing a
|
|
8
|
-
long-lived RubyGems API key.
|
|
9
|
-
|
|
10
|
-
For the first release of `stat_power`, create a **pending trusted publisher**
|
|
11
|
-
from the RubyGems.org account that should own the gem, using:
|
|
12
|
-
|
|
13
|
-
- Gem name: `stat_power`
|
|
14
|
-
- Repository owner: `DiogoRibeiro7`
|
|
15
|
-
- Repository name: `stat_power`
|
|
16
|
-
- Workflow filename: `release.yml`
|
|
17
|
-
- Environment: `release`
|
|
18
|
-
|
|
19
|
-
The workflow is stored at `.github/workflows/release.yml`.
|
|
20
|
-
|
|
21
|
-
After the first successful publication, the pending publisher becomes the
|
|
22
|
-
trusted publisher for the gem.
|
|
23
|
-
|
|
24
|
-
## Alpha release checklist
|
|
25
|
-
|
|
26
|
-
1. Ensure all CI jobs are green on `main`.
|
|
27
|
-
2. Confirm `lib/stat_power/version.rb` contains the intended version.
|
|
28
|
-
3. Update `CHANGELOG.md` with the release date.
|
|
29
|
-
4. Build the gem locally:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
gem build stat_power.gemspec
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
5. Inspect the built package:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
gem specification stat_power-*.gem name version files --yaml
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
6. Install the built gem into a clean location:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
GEM_HOME="$(mktemp -d)" gem install stat_power-*.gem --no-document
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
7. Run a smoke test against the installed package:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
ruby -e 'require "stat_power"; p StatPower::VERSION'
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
8. Confirm the RubyGems pending/trusted publisher is configured for
|
|
54
|
-
`.github/workflows/release.yml` and the `release` environment.
|
|
55
|
-
|
|
56
|
-
9. Create and push the release tag. The tag must match the version exactly:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
git checkout main
|
|
60
|
-
git pull --ff-only
|
|
61
|
-
git tag v0.1.0.alpha.1
|
|
62
|
-
git push origin v0.1.0.alpha.1
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Pushing the tag triggers the release workflow. It validates that:
|
|
66
|
-
|
|
67
|
-
- the tag matches `StatPower::VERSION`
|
|
68
|
-
- the tagged commit is contained in `main`
|
|
69
|
-
- the test suite passes
|
|
70
|
-
- RuboCop passes
|
|
71
|
-
- RBS signatures validate
|
|
72
|
-
- the gem builds successfully
|
|
73
|
-
|
|
74
|
-
The workflow then publishes to RubyGems using OIDC Trusted Publishing and
|
|
75
|
-
creates a GitHub Release. Prerelease versions are marked as prereleases on
|
|
76
|
-
GitHub automatically.
|
|
77
|
-
|
|
78
|
-
## After publishing
|
|
79
|
-
|
|
80
|
-
Verify the public installation path:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
gem install stat_power --prerelease
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Then confirm:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
ruby -e 'require "stat_power"; puts StatPower::VERSION'
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
The expected output for the first alpha is:
|
|
93
|
-
|
|
94
|
-
```text
|
|
95
|
-
0.1.0.alpha.1
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## Failed releases
|
|
99
|
-
|
|
100
|
-
If the workflow fails before the RubyGems publishing step, fix the problem and
|
|
101
|
-
move the release tag only if the version has not been published.
|
|
102
|
-
|
|
103
|
-
Once a version exists on RubyGems.org, do not overwrite or reuse that version.
|
|
104
|
-
Increment the prerelease version, for example from `0.1.0.alpha.1` to
|
|
105
|
-
`0.1.0.alpha.2`, and create a new tag.
|