PAROS 2.0.0__tar.gz → 2.1.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 (30) hide show
  1. {paros-2.0.0 → paros-2.1.0}/.github/workflows/ci.yml +22 -8
  2. {paros-2.0.0 → paros-2.1.0}/.github/workflows/release.yml +8 -8
  3. paros-2.1.0/CODEOWNERS +1 -0
  4. {paros-2.0.0 → paros-2.1.0}/PAROS/eyephantom.py +5 -4
  5. {paros-2.0.0 → paros-2.1.0}/PAROS/fundscale.py +288 -178
  6. {paros-2.0.0 → paros-2.1.0}/PKG-INFO +45 -11
  7. paros-2.1.0/README.md +93 -0
  8. paros-2.1.0/docs/refraction-and-vergence.md +34 -0
  9. paros-2.1.0/docs/telecentric-camera.md +56 -0
  10. {paros-2.0.0 → paros-2.1.0}/examples/calculate_ocular_magnification.ipynb +7 -3
  11. {paros-2.0.0 → paros-2.1.0}/examples/fundus_camera_calibration.ipynb +6 -7
  12. {paros-2.0.0 → paros-2.1.0}/pyproject.toml +22 -6
  13. paros-2.1.0/renovate.json +22 -0
  14. paros-2.1.0/tests/__init__.py +0 -0
  15. paros-2.1.0/tests/test_fundscale.py +47 -0
  16. {paros-2.0.0 → paros-2.1.0}/uv.lock +44 -4
  17. paros-2.0.0/README.md +0 -60
  18. {paros-2.0.0 → paros-2.1.0}/.github/assets/screenshot.png +0 -0
  19. {paros-2.0.0 → paros-2.1.0}/.gitignore +0 -0
  20. {paros-2.0.0 → paros-2.1.0}/CITATION.cff +0 -0
  21. {paros-2.0.0 → paros-2.1.0}/CONTRIBUTING.md +0 -0
  22. {paros-2.0.0 → paros-2.1.0}/LICENSE +0 -0
  23. {paros-2.0.0 → paros-2.1.0}/PAROS/__init__.py +0 -0
  24. {paros-2.0.0 → paros-2.1.0}/PAROS/data/__init__.py +0 -0
  25. {paros-2.0.0 → paros-2.1.0}/PAROS/data/calibration/Topcon/TRC_50DX.csv +0 -0
  26. {paros-2.0.0 → paros-2.1.0}/PAROS/data/calibration/Topcon/TRC_50IX.csv +0 -0
  27. {paros-2.0.0 → paros-2.1.0}/PAROS/data/calibration/__init__.py +0 -0
  28. {paros-2.0.0 → paros-2.1.0}/PAROS/data/lenses/__init__.py +0 -0
  29. {paros-2.0.0 → paros-2.1.0}/PAROS/data/lenses/phantom.csv +0 -0
  30. {paros-2.0.0 → paros-2.1.0}/ruff_defaults.toml +0 -0
@@ -8,12 +8,12 @@ jobs:
8
8
  runs-on: ubuntu-latest
9
9
  strategy:
10
10
  matrix:
11
- python: &python-versions ["3.10", "3.11", "3.12"]
11
+ python: &python-versions ["3.10", "3.11", "3.12", "3.13", "3.14"]
12
12
  steps:
13
- - uses: actions/checkout@v6
13
+ - uses: actions/checkout@v7
14
14
  - name: Set up uv
15
15
  id: setup-uv
16
- uses: astral-sh/setup-uv@v7
16
+ uses: astral-sh/setup-uv@v10.3.3
17
17
  - name: Build PAROS
18
18
  run: uvx --python ${{ matrix.python }} hatch build
19
19
 
@@ -21,13 +21,27 @@ jobs:
21
21
  name: Format and lint
22
22
  runs-on: ubuntu-latest
23
23
  steps:
24
- - uses: actions/checkout@v6
24
+ - uses: actions/checkout@v7
25
25
  - name: Set up uv
26
26
  id: setup-uv
27
- uses: astral-sh/setup-uv@v7
27
+ uses: astral-sh/setup-uv@v10.3.3
28
28
  - name: Format and lint
29
- run: uvx hatch fmt --check
29
+ run: uvx hatch check
30
30
 
31
+ test:
32
+ name: Run tests
33
+ runs-on: ubuntu-latest
34
+ strategy:
35
+ matrix:
36
+ python: *python-versions
37
+ steps:
38
+ - uses: actions/checkout@v7
39
+ - name: Set up uv
40
+ id: setup-uv
41
+ uses: astral-sh/setup-uv@v10.3.3
42
+ - name: Run tests
43
+ run: uvx --python ${{ matrix.python }} hatch test
44
+
31
45
  jupyter:
32
46
  name: Test Jupyter notebooks
33
47
  runs-on: ubuntu-latest
@@ -35,9 +49,9 @@ jobs:
35
49
  matrix:
36
50
  python: *python-versions
37
51
  steps:
38
- - uses: actions/checkout@v6
52
+ - uses: actions/checkout@v7
39
53
  - name: Set up uv
40
54
  id: setup-uv
41
- uses: astral-sh/setup-uv@v7
55
+ uses: astral-sh/setup-uv@v10.3.3
42
56
  - name: Format and lint
43
57
  run: uvx --python ${{ matrix.python }} hatch run jupyter:run-all
@@ -15,14 +15,14 @@ jobs:
15
15
  contents: read
16
16
 
17
17
  steps:
18
- - uses: actions/checkout@v6
18
+ - uses: actions/checkout@v7
19
19
  - name: Set up uv
20
20
  id: setup-uv
21
- uses: astral-sh/setup-uv@v7
21
+ uses: astral-sh/setup-uv@v10.3.3
22
22
  - name: Build package
23
23
  run: uv build
24
24
  - name: Upload dist
25
- uses: actions/upload-artifact@v6
25
+ uses: actions/upload-artifact@v7
26
26
  with:
27
27
  name: paros_dist
28
28
  path: "dist/"
@@ -38,13 +38,13 @@ jobs:
38
38
 
39
39
  steps:
40
40
  - name: Download dist
41
- uses: actions/download-artifact@v7
41
+ uses: actions/download-artifact@v8
42
42
  with:
43
43
  name: paros_dist
44
44
  path: dist
45
45
  - name: Set up uv
46
46
  id: setup-uv
47
- uses: astral-sh/setup-uv@v7
47
+ uses: astral-sh/setup-uv@v10.3.3
48
48
  - name: Publish package
49
49
  run: uv publish
50
50
 
@@ -59,18 +59,18 @@ jobs:
59
59
 
60
60
  steps:
61
61
  - name: Download dist
62
- uses: actions/download-artifact@v7
62
+ uses: actions/download-artifact@v8
63
63
  with:
64
64
  name: paros_dist
65
65
  path: dist
66
66
  - name: Upload wheels to GitHub release
67
- uses: svenstaro/upload-release-action@2.11.3
67
+ uses: svenstaro/upload-release-action@2.11.5
68
68
  with:
69
69
  tag: ${{ github.ref }}
70
70
  file: "dist/*.whl"
71
71
  file_glob: true
72
72
  - name: Upload dist to GitHub release
73
- uses: svenstaro/upload-release-action@2.11.3
73
+ uses: svenstaro/upload-release-action@2.11.5
74
74
  with:
75
75
  tag: ${{ github.ref }}
76
76
  file: "dist/*.tar.gz"
paros-2.1.0/CODEOWNERS ADDED
@@ -0,0 +1 @@
1
+ * @MREYE-LUMC/maintainers @jwmbeenakker @ljpors
@@ -8,13 +8,14 @@ This module can be used in conjunction with `PAROS.fundscale` to calculate the c
8
8
 
9
9
  from __future__ import annotations
10
10
 
11
- from typing import Literal
12
-
13
- import pandas as pd
14
- import sympy as sp
11
+ from typing import TYPE_CHECKING, Literal
15
12
 
16
13
  from PAROS.fundscale import spherical_interface, uniform_medium
17
14
 
15
+ if TYPE_CHECKING:
16
+ import pandas as pd
17
+ import sympy as sp
18
+
18
19
 
19
20
  class Lens:
20
21
  """Ray transfer model of a lens."""