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.
Files changed (36) hide show
  1. pt13528-0.1.1/.gitattributes +2 -0
  2. pt13528-0.1.1/.github/workflows/publish.yml +18 -0
  3. pt13528-0.1.1/.github/workflows/tests.yml +15 -0
  4. pt13528-0.1.1/.gitignore +12 -0
  5. pt13528-0.1.1/.zenodo.json +45 -0
  6. pt13528-0.1.1/CHANGELOG.md +26 -0
  7. pt13528-0.1.1/CITATION.cff +37 -0
  8. pt13528-0.1.1/COPYING +674 -0
  9. pt13528-0.1.1/COPYING.LESSER +165 -0
  10. pt13528-0.1.1/LICENSE.txt +860 -0
  11. pt13528-0.1.1/NOTICE.md +15 -0
  12. pt13528-0.1.1/PKG-INFO +129 -0
  13. pt13528-0.1.1/README.md +108 -0
  14. pt13528-0.1.1/crosscheck/compare.py +118 -0
  15. pt13528-0.1.1/crosscheck/php_200.json +1 -0
  16. pt13528-0.1.1/crosscheck/php_5000.json +1 -0
  17. pt13528-0.1.1/crosscheck/result.json +38 -0
  18. pt13528-0.1.1/docs/coverage.md +161 -0
  19. pt13528-0.1.1/pyproject.toml +40 -0
  20. pt13528-0.1.1/src/pt13528/__init__.py +12 -0
  21. pt13528-0.1.1/src/pt13528/assigned_value.py +113 -0
  22. pt13528-0.1.1/src/pt13528/graphics.py +65 -0
  23. pt13528-0.1.1/src/pt13528/homogeneity.py +144 -0
  24. pt13528-0.1.1/src/pt13528/outliers.py +47 -0
  25. pt13528-0.1.1/src/pt13528/record.py +164 -0
  26. pt13528-0.1.1/src/pt13528/robust.py +284 -0
  27. pt13528-0.1.1/src/pt13528/scores.py +131 -0
  28. pt13528-0.1.1/src/pt13528/sigma_pt.py +61 -0
  29. pt13528-0.1.1/tests/annex_e_data.py +78 -0
  30. pt13528-0.1.1/tests/printed_values.py +129 -0
  31. pt13528-0.1.1/tests/test_annex_e.py +218 -0
  32. pt13528-0.1.1/tests/test_external.py +65 -0
  33. pt13528-0.1.1/tests/test_formulae.py +94 -0
  34. pt13528-0.1.1/tests/test_printed_values.py +24 -0
  35. pt13528-0.1.1/tests/test_real_round.py +35 -0
  36. pt13528-0.1.1/tests/test_record.py +53 -0
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
@@ -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
@@ -0,0 +1,12 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ build/
5
+ dist/
6
+ .pytest_cache/
7
+ .venv/
8
+ .DS_Store
9
+
10
+ # internal release notes and local helper, not part of the published package
11
+ RELEASING.md
12
+ Git-Hazirla.command
@@ -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