pt13528 0.1.1__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.
- pt13528-0.1.1/.gitattributes +2 -0
- pt13528-0.1.1/.github/workflows/publish.yml +18 -0
- pt13528-0.1.1/.github/workflows/tests.yml +15 -0
- pt13528-0.1.1/.gitignore +12 -0
- pt13528-0.1.1/.zenodo.json +45 -0
- pt13528-0.1.1/CHANGELOG.md +26 -0
- pt13528-0.1.1/CITATION.cff +37 -0
- pt13528-0.1.1/COPYING +674 -0
- pt13528-0.1.1/COPYING.LESSER +165 -0
- pt13528-0.1.1/LICENSE.txt +860 -0
- pt13528-0.1.1/NOTICE.md +15 -0
- pt13528-0.1.1/PKG-INFO +129 -0
- pt13528-0.1.1/README.md +108 -0
- pt13528-0.1.1/crosscheck/compare.py +118 -0
- pt13528-0.1.1/crosscheck/php_200.json +1 -0
- pt13528-0.1.1/crosscheck/php_5000.json +1 -0
- pt13528-0.1.1/crosscheck/result.json +38 -0
- pt13528-0.1.1/docs/coverage.md +161 -0
- pt13528-0.1.1/pyproject.toml +40 -0
- pt13528-0.1.1/src/pt13528/__init__.py +12 -0
- pt13528-0.1.1/src/pt13528/assigned_value.py +113 -0
- pt13528-0.1.1/src/pt13528/graphics.py +65 -0
- pt13528-0.1.1/src/pt13528/homogeneity.py +144 -0
- pt13528-0.1.1/src/pt13528/outliers.py +47 -0
- pt13528-0.1.1/src/pt13528/record.py +164 -0
- pt13528-0.1.1/src/pt13528/robust.py +284 -0
- pt13528-0.1.1/src/pt13528/scores.py +131 -0
- pt13528-0.1.1/src/pt13528/sigma_pt.py +61 -0
- pt13528-0.1.1/tests/annex_e_data.py +78 -0
- pt13528-0.1.1/tests/printed_values.py +129 -0
- pt13528-0.1.1/tests/test_annex_e.py +218 -0
- pt13528-0.1.1/tests/test_external.py +65 -0
- pt13528-0.1.1/tests/test_formulae.py +94 -0
- pt13528-0.1.1/tests/test_printed_values.py +24 -0
- pt13528-0.1.1/tests/test_real_round.py +35 -0
- pt13528-0.1.1/tests/test_record.py +53 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: publish
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types: [published]
|
|
5
|
+
jobs:
|
|
6
|
+
pypi:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
environment: pypi
|
|
9
|
+
permissions:
|
|
10
|
+
id-token: write
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- uses: actions/setup-python@v5
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.12"
|
|
16
|
+
- run: pip install build
|
|
17
|
+
- run: python -m build
|
|
18
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: tests
|
|
2
|
+
on: [push, pull_request]
|
|
3
|
+
jobs:
|
|
4
|
+
pytest:
|
|
5
|
+
runs-on: ubuntu-latest
|
|
6
|
+
strategy:
|
|
7
|
+
matrix:
|
|
8
|
+
python-version: ["3.10", "3.12", "3.13"]
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
- uses: actions/setup-python@v5
|
|
12
|
+
with:
|
|
13
|
+
python-version: ${{ matrix.python-version }}
|
|
14
|
+
- run: pip install -e ".[test]"
|
|
15
|
+
- run: pytest -q
|
pt13528-0.1.1/.gitignore
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "pt13528: A Python library for proficiency testing statistics according to ISO 13528",
|
|
3
|
+
"upload_type": "software",
|
|
4
|
+
"description": "Framework-independent Python implementation of the statistical methods of ISO 13528:2022 with Amd 1:2026 (assigned value, standard deviation for proficiency assessment, performance scores, homogeneity and stability checks, robust estimators, result record), verified against the worked examples of Annex E of the standard.",
|
|
5
|
+
"creators": [
|
|
6
|
+
{
|
|
7
|
+
"name": "Sert, Murat",
|
|
8
|
+
"affiliation": "Afyon Kocatepe University",
|
|
9
|
+
"orcid": "0000-0001-6595-1681"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "Yağan, Mustafa Kemal",
|
|
13
|
+
"affiliation": "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "Aydın, Ali",
|
|
17
|
+
"affiliation": "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "Heidarizadeh, Matin",
|
|
21
|
+
"affiliation": "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "Tilki, Eyüphan",
|
|
25
|
+
"affiliation": "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "Selek, Ahmet Enes",
|
|
29
|
+
"affiliation": "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "Mete Sert, Aliye",
|
|
33
|
+
"affiliation": "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"keywords": [
|
|
37
|
+
"proficiency testing",
|
|
38
|
+
"ISO 13528",
|
|
39
|
+
"interlaboratory comparison",
|
|
40
|
+
"robust statistics",
|
|
41
|
+
"metrology"
|
|
42
|
+
],
|
|
43
|
+
"license": "lgpl-3.0-or-later",
|
|
44
|
+
"access_right": "open"
|
|
45
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.1.1 (2026-10-04)
|
|
4
|
+
|
|
5
|
+
No change in any calculation.
|
|
6
|
+
|
|
7
|
+
- `tests/printed_values.py`: one ledger of the printed values compared (256 reproduced, five that do
|
|
8
|
+
not follow from the text). E.8 is now listed as such a case; its test no longer truncates R squared.
|
|
9
|
+
- `tests/test_external.py`: comparison with statsmodels (Huber's proposal 2, Qn, MAD, IQR).
|
|
10
|
+
- `tests/test_real_round.py`: a real round recomputed from its formal report.
|
|
11
|
+
- `crosscheck/`: generator, stored outputs of the PHP engine and the comparison script, including the
|
|
12
|
+
effect of the three-figure stopping rule of Algorithm A.
|
|
13
|
+
- The four functions of `outliers` name the clauses of ISO 13528 they serve.
|
|
14
|
+
|
|
15
|
+
## 0.1.0 (2026-10-04)
|
|
16
|
+
|
|
17
|
+
First version. Implements the calculations of ISO 13528:2022 listed in
|
|
18
|
+
`docs/coverage.md` and checks them against the worked examples of Annex E.
|
|
19
|
+
|
|
20
|
+
Follows the text as amended by ISO 13528:2022/Amd 1:2026: `robust.qn` uses
|
|
21
|
+
h = floor(p/2) + 1 and the factor 2,219 1 by default; the 2022 text remains
|
|
22
|
+
available as `h_rule="iso-literal"`.
|
|
23
|
+
|
|
24
|
+
`round_record` assembles the result record of one measurand (assigned value,
|
|
25
|
+
u(x_pt), sigma_pt, criterion of 9.2.1, statistic, scores and signals) from
|
|
26
|
+
the single functions. It adds no calculation of its own.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "If you use this software, please cite it as below."
|
|
3
|
+
title: "pt13528: A Python library for proficiency testing statistics according to ISO 13528"
|
|
4
|
+
type: software
|
|
5
|
+
license: LGPL-3.0-or-later
|
|
6
|
+
version: 0.1.1
|
|
7
|
+
date-released: 2026-10-04
|
|
8
|
+
repository-code: "https://github.com/kanunimurat/pt13528"
|
|
9
|
+
authors:
|
|
10
|
+
- family-names: "Sert"
|
|
11
|
+
given-names: "Murat"
|
|
12
|
+
orcid: "https://orcid.org/0000-0001-6595-1681"
|
|
13
|
+
email: "msert@aku.edu.tr"
|
|
14
|
+
affiliation: "Afyon Kocatepe University, Marble and Natural Stone Technology Application and Research Center; Department of Mining Engineering"
|
|
15
|
+
- family-names: "Yağan"
|
|
16
|
+
given-names: "Mustafa Kemal"
|
|
17
|
+
affiliation: "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
18
|
+
- family-names: "Aydın"
|
|
19
|
+
given-names: "Ali"
|
|
20
|
+
affiliation: "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
21
|
+
- family-names: "Heidarizadeh"
|
|
22
|
+
given-names: "Matin"
|
|
23
|
+
affiliation: "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
24
|
+
- family-names: "Tilki"
|
|
25
|
+
given-names: "Eyüphan"
|
|
26
|
+
affiliation: "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
27
|
+
- family-names: "Selek"
|
|
28
|
+
given-names: "Ahmet Enes"
|
|
29
|
+
affiliation: "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
30
|
+
- family-names: "Mete Sert"
|
|
31
|
+
given-names: "Aliye"
|
|
32
|
+
affiliation: "Kombobit Yazılım Madencilik LTD. ŞTİ."
|
|
33
|
+
keywords:
|
|
34
|
+
- proficiency testing
|
|
35
|
+
- ISO 13528
|
|
36
|
+
- interlaboratory comparison
|
|
37
|
+
- robust statistics
|