critical-es-value 0.1.0__tar.gz → 0.2.0__tar.gz

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.
Files changed (19) hide show
  1. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/.github/workflows/publish.yaml +3 -0
  2. critical_es_value-0.2.0/.python-version +1 -0
  3. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/PKG-INFO +8 -2
  4. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/README.md +6 -0
  5. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/pyproject.toml +4 -4
  6. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/src/critical_es_value/ttest.py +7 -0
  7. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/tests/critical_es_value/test_linreg.py +6 -1
  8. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/tests/critical_es_value/test_ttest.py +82 -0
  9. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/uv.lock +1265 -864
  10. critical_es_value-0.1.0/.python-version +0 -1
  11. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/.gitignore +0 -0
  12. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/LICENSE +0 -0
  13. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/src/critical_es_value/__init__.py +0 -0
  14. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/src/critical_es_value/corrtest.py +0 -0
  15. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/src/critical_es_value/linreg.py +0 -0
  16. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/src/critical_es_value/utils.py +0 -0
  17. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/tests/conftest.py +0 -0
  18. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/tests/critical_es_value/test_corrtest.py +0 -0
  19. {critical_es_value-0.1.0 → critical_es_value-0.2.0}/tests/critical_es_value/test_utils.py +0 -0
@@ -25,6 +25,9 @@ jobs:
25
25
  - name: Install the project
26
26
  run: uv sync --all-extras --dev
27
27
 
28
+ - name: Run all tests
29
+ run: uv run pytest
30
+
28
31
  - name: Build
29
32
  run: uv build
30
33
 
@@ -0,0 +1 @@
1
+ 3.11
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: critical-es-value
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Calculate critical effect size values.
5
5
  Author-email: Florian Rohrer <semicolonator@gmail.com>
6
6
  License-File: LICENSE
7
- Requires-Python: >=3.13
7
+ Requires-Python: >=3.11
8
8
  Requires-Dist: mpmath>=1.3.0
9
9
  Requires-Dist: pandas>=2.3.3
10
10
  Requires-Dist: pingouin>=0.5.5
@@ -14,6 +14,12 @@ Description-Content-Type: text/markdown
14
14
 
15
15
  Calculate critical effect size values for t-Tests, correlation tests and linear regression coefficients.
16
16
 
17
+ ## Installation
18
+
19
+ ```
20
+ pip install critical-es-value
21
+ ```
22
+
17
23
  ## Usage
18
24
 
19
25
  ```python
@@ -2,6 +2,12 @@
2
2
 
3
3
  Calculate critical effect size values for t-Tests, correlation tests and linear regression coefficients.
4
4
 
5
+ ## Installation
6
+
7
+ ```
8
+ pip install critical-es-value
9
+ ```
10
+
5
11
  ## Usage
6
12
 
7
13
  ```python
@@ -1,9 +1,9 @@
1
1
  [project]
2
2
  name = "critical-es-value"
3
- version = "0.1.0"
3
+ version = "0.2.0"
4
4
  description = "Calculate critical effect size values."
5
5
  readme = "README.md"
6
- requires-python = ">=3.13"
6
+ requires-python = ">=3.11"
7
7
  dependencies = [
8
8
  "mpmath>=1.3.0",
9
9
  "pandas>=2.3.3",
@@ -17,8 +17,8 @@ authors = [
17
17
  requires = ["hatchling"]
18
18
  build-backend = "hatchling.build"
19
19
 
20
- [tool.uv]
21
- dev-dependencies = [
20
+ [dependency-groups]
21
+ dev = [
22
22
  "jupyter>=1.1.1",
23
23
  "pytest>=8.4.2",
24
24
  ]
@@ -77,6 +77,9 @@ def critical_for_one_sample_ttest(
77
77
  d = t * factor
78
78
 
79
79
  tc = np.abs(stats.t.ppf(alpha, dof))
80
+ if alternative == "less":
81
+ tc *= -1
82
+
80
83
  dc = tc * factor
81
84
 
82
85
  j = utils.get_bias_correction_factor_J(dof)
@@ -155,6 +158,8 @@ def _critical_for_two_sample_ttest_paired(
155
158
  d = dz * factor2
156
159
 
157
160
  tc = np.abs(stats.t.ppf(alpha, dof))
161
+ if alternative == "less":
162
+ tc *= -1
158
163
  dzc = tc * factor1
159
164
  dc = dzc * factor2
160
165
 
@@ -246,6 +251,8 @@ def critical_for_two_sample_ttest(
246
251
  d = t * factor
247
252
 
248
253
  tc = np.abs(stats.t.ppf(alpha, dof))
254
+ if alternative == "less":
255
+ tc *= -1
249
256
  dc = tc * factor
250
257
 
251
258
  s1 = np.std(x, ddof=1)
@@ -6,7 +6,12 @@ from critical_es_value import linreg
6
6
  @pytest.mark.parametrize(
7
7
  "alternative, confidence, variant, expected, match",
8
8
  [
9
- ("two-sided", 0.95, "ttest", [2.188362006, 0.441676723, 0.5405672546], None),
9
+ ("two-sided", 0.95, "ttest", [2.1883620, 0.4416767, 0.5405673], None),
10
+ ("two-sided", 0.99, "ttest", [2.9550478, 0.5964168, 0.7299533], None),
11
+ ("two-sided", 0.95, "ztest", [2.0903826, 0.4219015, 0.5163645], None),
12
+ ("two-sided", 0.99, "ztest", [2.7472284, 0.5544726, 0.6786179], None),
13
+ ("less", 0.95, "ttest", [1.81662748, 0.366649610, 0.4487417218], None),
14
+ ("greater", 0.95, "ttest", [1.81662748, 0.366649610, 0.4487417218], None),
10
15
  (
11
16
  "invalid",
12
17
  0.95,
@@ -100,6 +100,88 @@ def test_critical_for_one_sample_ttest(
100
100
  "g_critical": 0.5101241,
101
101
  },
102
102
  ),
103
+ (
104
+ "test_dataset1",
105
+ False,
106
+ "less",
107
+ False,
108
+ 0.95,
109
+ {
110
+ "d": 0.5072601,
111
+ "d_critical": -0.4315931,
112
+ "b_critical": -0.4327847,
113
+ "g": 0.5006675,
114
+ "g_critical": -0.4259839,
115
+ },
116
+ ),
117
+ (
118
+ "test_dataset1",
119
+ True,
120
+ "two-sided",
121
+ False,
122
+ 0.95,
123
+ {
124
+ "d": 0.5074131,
125
+ "d_critical": 0.6060484,
126
+ "b_critical": 0.6075383,
127
+ "g": 0.494157,
128
+ "g_critical": 0.5902154,
129
+ "dz": 0.3126338,
130
+ "dz_critical": 0.3734061,
131
+ "gz": 0.3044662,
132
+ "gz_critical": 0.3636509,
133
+ },
134
+ ),
135
+ (
136
+ "test_dataset1",
137
+ False,
138
+ "two-sided",
139
+ True,
140
+ 0.95,
141
+ {
142
+ "d": 0.5072601,
143
+ "d_critical": 0.5168963,
144
+ "b_critical": 0.5183234,
145
+ "g": 0.5006344,
146
+ "g_critical": 0.5101447,
147
+ },
148
+ ),
149
+ (
150
+ "test_dataset1",
151
+ True,
152
+ "greater",
153
+ False,
154
+ 0.90,
155
+ {
156
+ "d": 0.5074131,
157
+ "d_critical": 0.3886078,
158
+ "b_critical": 0.3895632,
159
+ "g": 0.494157,
160
+ "g_critical": 0.3784554,
161
+ "dz": 0.3126338,
162
+ "dz_critical": 0.2394339,
163
+ "gz": 0.3044662,
164
+ "gz_critical": 0.2331787,
165
+ },
166
+ ),
167
+ (
168
+ "test_dataset1",
169
+ True,
170
+ "two-sided",
171
+ False,
172
+ 0.99,
173
+ {
174
+ "d": 0.5074131,
175
+ "d_critical": 0.8167803,
176
+ "b_critical": 0.8187883,
177
+ "g": 0.494157,
178
+ "g_critical": 0.7954419,
179
+ "dz": 0.3126338,
180
+ "dz_critical": 0.5032449,
181
+ "gz": 0.3044662,
182
+ "gz_critical": 0.4900976,
183
+ },
184
+ ),
103
185
  (
104
186
  "test_dataset2",
105
187
  False,