sklearn-morpho 0.2.3__tar.gz → 0.2.4__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 (73) hide show
  1. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.SRCINFO +4 -4
  2. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.github/workflows/code_quality.yml +30 -3
  3. sklearn_morpho-0.2.4/.github/workflows/docs.yml +55 -0
  4. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.github/workflows/pypi_publish.yml +6 -1
  5. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.github/workflows/tests.yml +11 -7
  6. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.gitignore +3 -0
  7. sklearn_morpho-0.2.4/MREs/DEP.ipynb +2435 -0
  8. sklearn_morpho-0.2.4/MREs/l-DEP.ipynb +2458 -0
  9. sklearn_morpho-0.2.4/MREs/simple_perceptron.ipynb +1339 -0
  10. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/MREs/train_multiclass.ipynb +402 -80
  11. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/PKG-INFO +6 -3
  12. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/PKGBUILD +2 -2
  13. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/README-PyPI.md +3 -1
  14. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/README.md +5 -4
  15. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/pyproject.toml +54 -7
  16. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/__init__.py +5 -1
  17. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/classifiers/__init__.py +1 -1
  18. sklearn_morpho-0.2.3/src/sklearn_morpho/classifiers/rdep.py → sklearn_morpho-0.2.4/src/sklearn_morpho/classifiers/dep.py +97 -65
  19. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/classifiers/ldep.py +67 -54
  20. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/classifiers/simple_perceptron.py +91 -58
  21. sklearn_morpho-0.2.4/src/sklearn_morpho/inversion/__init__.py +3 -0
  22. sklearn_morpho-0.2.4/src/sklearn_morpho/inversion/inversion_base.py +18 -0
  23. sklearn_morpho-0.2.4/src/sklearn_morpho/inversion/inversion_centroid.py +38 -0
  24. sklearn_morpho-0.2.4/src/sklearn_morpho/inversion/inversion_none.py +12 -0
  25. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/stopping/stopping_cost.py +1 -1
  26. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/stopping/stopping_early.py +1 -1
  27. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/stopping/stopping_epoch.py +1 -1
  28. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/training/__init__.py +2 -1
  29. sklearn_morpho-0.2.3/src/sklearn_morpho/training/dccp_rdep.py → sklearn_morpho-0.2.4/src/sklearn_morpho/training/dccp_dep.py +51 -40
  30. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/training/dccp_ldep.py +38 -17
  31. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/training/dccp_simple_perceptron.py +50 -28
  32. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/training/dccp_wrapper.py +70 -57
  33. sklearn_morpho-0.2.4/src/sklearn_morpho/utils/__init__.py +1 -0
  34. sklearn_morpho-0.2.4/src/sklearn_morpho/utils/perceptron_kind.py +11 -0
  35. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/weighting/weighting_base.py +6 -7
  36. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/testing/compare_estimators.py +44 -35
  37. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/testing/compare_estimators_multiprocess.py +48 -40
  38. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/testing/compare_estimators_show.py +10 -8
  39. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/testing/display_boundary.py +6 -6
  40. sklearn_morpho-0.2.4/tests/integration/sklearn_test.py +34 -0
  41. sklearn_morpho-0.2.4/tests/inversion/centroid_test.py +26 -0
  42. sklearn_morpho-0.2.4/tests/inversion/no_test.py +12 -0
  43. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/stopping/cost_test.py +3 -3
  44. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/stopping/early_test.py +4 -4
  45. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/stopping/epoch_test.py +3 -3
  46. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/stopping/train_stop_test.py +3 -3
  47. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/training/friendly_dataset.py +2 -2
  48. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/training/test_dccp_wrapper.py +20 -23
  49. sklearn_morpho-0.2.4/tests/training/test_dep.py +100 -0
  50. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/training/test_ldep.py +16 -16
  51. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/training/test_simple_perceptron.py +30 -28
  52. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/weighting/dist_test.py +5 -5
  53. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/tests/weighting/none_test.py +7 -7
  54. sklearn_morpho-0.2.3/MREs/l-DEP.ipynb +0 -1075
  55. sklearn_morpho-0.2.3/MREs/r-DEP.ipynb +0 -1074
  56. sklearn_morpho-0.2.3/MREs/simple_perceptron.ipynb +0 -1061
  57. sklearn_morpho-0.2.3/tests/integration/sklearn_test.py +0 -23
  58. sklearn_morpho-0.2.3/tests/training/test_rdep.py +0 -100
  59. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.gitattributes +0 -0
  60. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.gitlab-ci.yml +0 -0
  61. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.qbuild/scripts/coverage +0 -0
  62. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.qbuild/scripts/main +0 -0
  63. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/.qbuild/scripts/tests +0 -0
  64. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/LICENSE +0 -0
  65. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/check_todos.sh +0 -0
  66. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/pkgbuild_helper.sh +0 -0
  67. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/pyrightconfig.json +0 -0
  68. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/stopping/__init__.py +0 -0
  69. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/stopping/stopping_base.py +0 -0
  70. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/stopping/stopping_train_stop.py +0 -0
  71. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/weighting/__init__.py +0 -0
  72. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/weighting/weighting_dist.py +0 -0
  73. {sklearn_morpho-0.2.3 → sklearn_morpho-0.2.4}/src/sklearn_morpho/weighting/weighting_none.py +0 -0
@@ -1,6 +1,6 @@
1
1
  pkgbase = python-sklearn-morpho
2
2
  pkgdesc = Scikit-learn estimator toolbox for morphological perceptrons
3
- pkgver = 0.2.2
3
+ pkgver = 0.2.3
4
4
  pkgrel = 1
5
5
  url = https://github.com/d-002/sklearn-morpho
6
6
  arch = any
@@ -11,9 +11,9 @@ pkgbase = python-sklearn-morpho
11
11
  makedepends = python-hatchling
12
12
  depends = python
13
13
  depends = python-cvxpy
14
- depends = python-pytest
14
+ depends = python-numpy
15
15
  depends = python-scikit-learn
16
- source = https://files.pythonhosted.org/packages/source/s/sklearn_morpho/sklearn_morpho-0.2.2.tar.gz
17
- sha256sums = 4dc5a155a32332c4da33f375c7e4e83af15fa2a0ea8bb68f1843e74d0b47bce9
16
+ source = https://files.pythonhosted.org/packages/source/s/sklearn_morpho/sklearn_morpho-0.2.3.tar.gz
17
+ sha256sums = a0451822efbfef83e45940560560eae443fb7bbb045167b66b9d53a09656c0af
18
18
 
19
19
  pkgname = python-sklearn-morpho
@@ -5,6 +5,11 @@ on:
5
5
  branches: [ "master" ]
6
6
  pull_request:
7
7
  branches: [ "master" ]
8
+ workflow_dispatch:
9
+
10
+ concurrency:
11
+ group: "code quality"
12
+ cancel-in-progress: true
8
13
 
9
14
  jobs:
10
15
  todo:
@@ -18,6 +23,27 @@ jobs:
18
23
  - name: Scan for TODOs in the code
19
24
  run: ./check_todos.sh
20
25
 
26
+ types:
27
+ name: Check for typing errors
28
+ runs-on: ubuntu-latest
29
+
30
+ steps:
31
+ - name: Checkout repository
32
+ uses: actions/checkout@v4
33
+
34
+ - name: Set up Python
35
+ uses: actions/setup-python@v5
36
+ with:
37
+ python-version: "3.13"
38
+ cache: "pip"
39
+ cache-dependency-path: "pyproject.toml"
40
+
41
+ - name: Install Hatch
42
+ run: pip install -U pip hatch
43
+
44
+ - name: Run mypy through hatch
45
+ run: hatch run mypy:mypy src tests testing
46
+
21
47
  lint:
22
48
  name: Check for ${{ matrix.name }} errors
23
49
  runs-on: ubuntu-latest
@@ -25,7 +51,7 @@ jobs:
25
51
  fail-fast: false
26
52
  matrix:
27
53
  include:
28
- - name: "linting"
54
+ - name: "generic linting"
29
55
  command: "python -m ruff check"
30
56
  - name: "coding style"
31
57
  command: "[ -z \"$(python -m ruff format | grep reformatted)\" ]"
@@ -39,9 +65,10 @@ jobs:
39
65
  with:
40
66
  python-version: "3.13"
41
67
  cache: "pip"
68
+ cache-dependency-path: "pyproject.toml"
42
69
 
43
70
  - name: Install linter
44
- run: pip install ruff
71
+ run: pip install -U pip ruff
45
72
 
46
- - name: Run linter for coding style errors
73
+ - name: Run linter for ${{ matrix.name }} errors
47
74
  run: ${{ matrix.command }}
@@ -0,0 +1,55 @@
1
+ name: Deploy docs to GitHub Pages
2
+
3
+ on:
4
+ release:
5
+ types: [ published ]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: "deploy-docs"
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ deploy:
19
+ environment:
20
+ name: github-pages
21
+ url: ${{ steps.deployment.outputs.page_url }}
22
+ runs-on: ubuntu-latest
23
+
24
+ steps:
25
+ - name: Checkout repository
26
+ uses: actions/checkout@v4
27
+
28
+ - name: Create staging directory
29
+ run: mkdir -p dist
30
+
31
+ - name: Set up Python
32
+ uses: actions/setup-python@v5
33
+ with:
34
+ python-version: "3.13"
35
+ cache: "pip"
36
+
37
+ - name: Install dependencies
38
+ run: pip install -U pip hatch
39
+
40
+ - name: Generate Python backend docs
41
+ run: |
42
+ hatch run pdoc:pdoc -o docs src/sklearn_morpho
43
+ mv docs dist
44
+
45
+ - name: Setup Pages
46
+ uses: actions/configure-pages@v5
47
+
48
+ - name: Upload Artifact
49
+ uses: actions/upload-pages-artifact@v3
50
+ with:
51
+ path: "./dist"
52
+
53
+ - name: Deploy to GitHub Pages
54
+ id: deployment
55
+ uses: actions/deploy-pages@v4
@@ -3,12 +3,16 @@ name: Publish to PyPI
3
3
  on:
4
4
  release:
5
5
  types: [ published ]
6
+ workflow_dispatch:
7
+
8
+ concurrency:
9
+ group: "deploy-pypi"
10
+ cancel-in-progress: true
6
11
 
7
12
  jobs:
8
13
  deploy:
9
14
  runs-on: ubuntu-latest
10
15
  environment: pypi
11
-
12
16
  permissions:
13
17
  id-token: write
14
18
  contents: read
@@ -22,6 +26,7 @@ jobs:
22
26
  with:
23
27
  python-version: "3.13"
24
28
  cache: "pip"
29
+ cache-dependency-path: "pyproject.toml"
25
30
 
26
31
  - name: Install Hatch
27
32
  run: pip install -U pip hatch
@@ -5,6 +5,11 @@ on:
5
5
  branches: [ "master" ]
6
6
  pull_request:
7
7
  branches: [ "master" ]
8
+ workflow_dispatch:
9
+
10
+ concurrency:
11
+ group: "testsuite"
12
+ cancel-in-progress: true
8
13
 
9
14
  jobs:
10
15
  test:
@@ -31,9 +36,10 @@ jobs:
31
36
  with:
32
37
  python-version: ${{ matrix.python-version }}
33
38
  cache: "pip"
39
+ cache-dependency-path: "pyproject.toml"
34
40
 
35
- - name: Install Hatch
36
- run: pip install hatch
41
+ - name: Install dependencies
42
+ run: pip install -U pip hatch mypy
37
43
 
38
44
  - name: Run tests with Hatch
39
45
  run: |
@@ -56,12 +62,10 @@ jobs:
56
62
  with:
57
63
  python-version: "3.13"
58
64
  cache: "pip"
65
+ cache-dependency-path: "pyproject.toml"
59
66
 
60
- - name: Install Hatch
61
- run: pip install hatch
62
-
63
- - name: Install coverage utilities
64
- run: pip install coverage
67
+ - name: Install dependencies
68
+ run: pip install -U pip hatch coverage
65
69
 
66
70
  - name: Check coverage
67
71
  run: |
@@ -24,3 +24,6 @@ comparison.json
24
24
 
25
25
  # jupyter
26
26
  .ipynb_checkpoints
27
+
28
+ # Docs
29
+ docs