liblaf-melon 0.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 (154) hide show
  1. liblaf_melon-0.1.0/.cspell.json +68 -0
  2. liblaf_melon-0.1.0/.envrc +9 -0
  3. liblaf_melon-0.1.0/.github/copier/.copier-answers.python.yaml +12 -0
  4. liblaf_melon-0.1.0/.github/copier/.copier-answers.release.yaml +6 -0
  5. liblaf_melon-0.1.0/.github/copier/.copier-answers.shared.yaml +8 -0
  6. liblaf_melon-0.1.0/.github/copier/mkdocs.yaml +143 -0
  7. liblaf_melon-0.1.0/.github/linters/.ruff.toml +98 -0
  8. liblaf_melon-0.1.0/.github/linters/pyrightconfig.json +12 -0
  9. liblaf_melon-0.1.0/.github/release-please/.manifest.json +1 -0
  10. liblaf_melon-0.1.0/.github/release-please/config.json +92 -0
  11. liblaf_melon-0.1.0/.github/renovate.json +4 -0
  12. liblaf_melon-0.1.0/.github/workflows/shared-docs.yaml +42 -0
  13. liblaf_melon-0.1.0/.github/workflows/shared-mega-linter.yaml +39 -0
  14. liblaf_melon-0.1.0/.github/workflows/shared-pr.yaml +51 -0
  15. liblaf_melon-0.1.0/.github/workflows/shared-release-please.yaml +108 -0
  16. liblaf_melon-0.1.0/.github/workflows/shared-release.yaml +100 -0
  17. liblaf_melon-0.1.0/.github/workflows/shared-repo.yaml +106 -0
  18. liblaf_melon-0.1.0/.gitignore +178 -0
  19. liblaf_melon-0.1.0/.ruff.toml +5 -0
  20. liblaf_melon-0.1.0/.vscode/settings.json +19 -0
  21. liblaf_melon-0.1.0/CHANGELOG.md +28 -0
  22. liblaf_melon-0.1.0/Justfile +22 -0
  23. liblaf_melon-0.1.0/LICENSE +21 -0
  24. liblaf_melon-0.1.0/PKG-INFO +38 -0
  25. liblaf_melon-0.1.0/__builtins__.pyi +2 -0
  26. liblaf_melon-0.1.0/docs/README.md +1 -0
  27. liblaf_melon-0.1.0/docs/SUMMARY.md +2 -0
  28. liblaf_melon-0.1.0/docs/css/fonts.css +12 -0
  29. liblaf_melon-0.1.0/docs/css/mkdocstrings/material.css +29 -0
  30. liblaf_melon-0.1.0/docs/css/mkdocstrings/syntax-highlight-in-signatures.css +21 -0
  31. liblaf_melon-0.1.0/docs/scripts/gen-ref-pages.py +52 -0
  32. liblaf_melon-0.1.0/exp/00-collect-ct.py +69 -0
  33. liblaf_melon-0.1.0/exp/01-extract-surface.py +46 -0
  34. liblaf_melon-0.1.0/mkdocs.yaml +13 -0
  35. liblaf_melon-0.1.0/pixi.lock +2717 -0
  36. liblaf_melon-0.1.0/pyproject.toml +96 -0
  37. liblaf_melon-0.1.0/pyrightconfig.json +6 -0
  38. liblaf_melon-0.1.0/scripts/gen-init.sh +25 -0
  39. liblaf_melon-0.1.0/src/liblaf/melon/__init__.py +3 -0
  40. liblaf_melon-0.1.0/src/liblaf/melon/__init__.pyi +103 -0
  41. liblaf_melon-0.1.0/src/liblaf/melon/cli/__init__.py +3 -0
  42. liblaf_melon-0.1.0/src/liblaf/melon/cli/__init__.pyi +0 -0
  43. liblaf_melon-0.1.0/src/liblaf/melon/io/__init__.py +3 -0
  44. liblaf_melon-0.1.0/src/liblaf/melon/io/__init__.pyi +61 -0
  45. liblaf_melon-0.1.0/src/liblaf/melon/io/_copy.py +5 -0
  46. liblaf_melon-0.1.0/src/liblaf/melon/io/_load.py +13 -0
  47. liblaf_melon-0.1.0/src/liblaf/melon/io/_save.py +13 -0
  48. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/__init__.py +3 -0
  49. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/__init__.pyi +47 -0
  50. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/conversion/__init__.py +3 -0
  51. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/conversion/__init__.pyi +18 -0
  52. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/conversion/_converter.py +17 -0
  53. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/conversion/_dispatcher.py +29 -0
  54. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/conversion/_utils.py +22 -0
  55. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/reader/__init__.py +3 -0
  56. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/reader/__init__.pyi +12 -0
  57. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/reader/_dispatcher.py +27 -0
  58. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/reader/_reader.py +17 -0
  59. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/reader/_utils.py +11 -0
  60. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/writer/__init__.py +3 -0
  61. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/writer/__init__.pyi +12 -0
  62. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/writer/_dispatcher.py +27 -0
  63. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/writer/_utils.py +11 -0
  64. liblaf_melon-0.1.0/src/liblaf/melon/io/dispatcher/writer/_writer.py +17 -0
  65. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/__init__.py +3 -0
  66. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/__init__.pyi +4 -0
  67. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/__init__.py +3 -0
  68. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/__init__.pyi +12 -0
  69. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/_reader.py +21 -0
  70. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/_writer.py +19 -0
  71. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/conversion/__init__.py +3 -0
  72. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/conversion/__init__.pyi +3 -0
  73. liblaf_melon-0.1.0/src/liblaf/melon/io/melon/dicom/conversion/_as.py +8 -0
  74. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/__init__.py +3 -0
  75. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/__init__.pyi +17 -0
  76. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/image_data/__init__.py +3 -0
  77. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/image_data/__init__.pyi +5 -0
  78. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/image_data/_reader.py +14 -0
  79. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/image_data/conversion/__init__.py +3 -0
  80. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/image_data/conversion/__init__.pyi +3 -0
  81. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/image_data/conversion/_as.py +9 -0
  82. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/point_set/__init__.py +3 -0
  83. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/point_set/__init__.pyi +4 -0
  84. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/point_set/conversion/__init__.py +3 -0
  85. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/point_set/conversion/__init__.pyi +3 -0
  86. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/point_set/conversion/_as.py +23 -0
  87. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/__init__.py +3 -0
  88. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/__init__.pyi +14 -0
  89. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/_reader.py +21 -0
  90. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/_utils.py +8 -0
  91. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/_writer.py +20 -0
  92. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/conversion/__init__.py +3 -0
  93. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/conversion/__init__.pyi +3 -0
  94. liblaf_melon-0.1.0/src/liblaf/melon/io/pyvista/poly_data/conversion/_as.py +9 -0
  95. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/__init__.py +3 -0
  96. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/__init__.pyi +4 -0
  97. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/trimesh/__init__.py +3 -0
  98. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/trimesh/__init__.pyi +4 -0
  99. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/trimesh/conversion/__init__.py +3 -0
  100. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/trimesh/conversion/__init__.pyi +4 -0
  101. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/trimesh/conversion/_as.py +13 -0
  102. liblaf_melon-0.1.0/src/liblaf/melon/io/trimesh/trimesh/conversion/_poly_data.py +13 -0
  103. liblaf_melon-0.1.0/src/liblaf/melon/ops/__init__.py +3 -0
  104. liblaf_melon-0.1.0/src/liblaf/melon/ops/__init__.pyi +66 -0
  105. liblaf_melon-0.1.0/src/liblaf/melon/ops/correspondence/__init__.py +3 -0
  106. liblaf_melon-0.1.0/src/liblaf/melon/ops/correspondence/__init__.pyi +25 -0
  107. liblaf_melon-0.1.0/src/liblaf/melon/ops/correspondence/_errors.py +8 -0
  108. liblaf_melon-0.1.0/src/liblaf/melon/ops/correspondence/_nearest_point_on_surface.py +138 -0
  109. liblaf_melon-0.1.0/src/liblaf/melon/ops/correspondence/_nearest_vertex.py +141 -0
  110. liblaf_melon-0.1.0/src/liblaf/melon/ops/pyvista/__init__.py +3 -0
  111. liblaf_melon-0.1.0/src/liblaf/melon/ops/pyvista/__init__.pyi +6 -0
  112. liblaf_melon-0.1.0/src/liblaf/melon/ops/pyvista/_contour.py +36 -0
  113. liblaf_melon-0.1.0/src/liblaf/melon/ops/pyvista/_extract_points.py +15 -0
  114. liblaf_melon-0.1.0/src/liblaf/melon/ops/pyvista/_gaussian_smooth.py +24 -0
  115. liblaf_melon-0.1.0/src/liblaf/melon/ops/pyvista/_transform.py +24 -0
  116. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/__init__.py +3 -0
  117. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/__init__.pyi +15 -0
  118. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/rigid/__init__.py +3 -0
  119. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/rigid/__init__.pyi +11 -0
  120. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/rigid/_abc.py +7 -0
  121. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/rigid/_icp.py +66 -0
  122. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/rigid/_main.py +30 -0
  123. liblaf_melon-0.1.0/src/liblaf/melon/ops/registration/rigid/_result.py +10 -0
  124. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/__init__.py +3 -0
  125. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/__init__.pyi +22 -0
  126. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/_abc.py +15 -0
  127. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/_auto.py +39 -0
  128. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/_nearest_point_on_surface.py +58 -0
  129. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/_nearest_vertex.py +45 -0
  130. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/_transfer.py +34 -0
  131. liblaf_melon-0.1.0/src/liblaf/melon/ops/transfer/_utils.py +11 -0
  132. liblaf_melon-0.1.0/src/liblaf/melon/ops/transformations/__init__.py +3 -0
  133. liblaf_melon-0.1.0/src/liblaf/melon/ops/transformations/__init__.pyi +3 -0
  134. liblaf_melon-0.1.0/src/liblaf/melon/ops/transformations/_concat.py +14 -0
  135. liblaf_melon-0.1.0/src/liblaf/melon/struct/__init__.py +3 -0
  136. liblaf_melon-0.1.0/src/liblaf/melon/struct/__init__.pyi +27 -0
  137. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom/__init__.py +3 -0
  138. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom/__init__.pyi +13 -0
  139. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom/_dicom.py +98 -0
  140. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom/_meta.py +22 -0
  141. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom/_utils.py +30 -0
  142. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/__init__.py +3 -0
  143. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/__init__.pyi +17 -0
  144. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_acquisition.py +68 -0
  145. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_acquisition_meta.py +4 -0
  146. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_attachments.py +37 -0
  147. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_dataset.py +63 -0
  148. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_dataset_meta.py +5 -0
  149. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_subject.py +79 -0
  150. liblaf_melon-0.1.0/src/liblaf/melon/struct/dicom_dataset/_subject_meta.py +14 -0
  151. liblaf_melon-0.1.0/src/liblaf/melon/typing/__init__.py +3 -0
  152. liblaf_melon-0.1.0/src/liblaf/melon/typing/__init__.pyi +4 -0
  153. liblaf_melon-0.1.0/src/liblaf/melon/typing/_aliases.py +3 -0
  154. liblaf_melon-0.1.0/src/liblaf/melon/typing/_attrs.py +8 -0
@@ -0,0 +1,68 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/packages/cspell-types/cspell.schema.json",
3
+ "version": "0.2",
4
+ "language": "en",
5
+ "words": [
6
+ "asyncio",
7
+ "cuda",
8
+ "cython",
9
+ "dcmread",
10
+ "dicom",
11
+ "dmypy",
12
+ "getattr",
13
+ "hynek",
14
+ "ipynb",
15
+ "ipython",
16
+ "isdtype",
17
+ "jaxlib",
18
+ "jaxtyping",
19
+ "libc",
20
+ "liblaf",
21
+ "meshio",
22
+ "mkdocs",
23
+ "mkdocstrings",
24
+ "mypy",
25
+ "ndarray",
26
+ "numpy",
27
+ "pipenv",
28
+ "pixi",
29
+ "pyacvd",
30
+ "pybuilder",
31
+ "pycache",
32
+ "pydantic",
33
+ "pydicom",
34
+ "pydocstyle",
35
+ "pyenv",
36
+ "pyflow",
37
+ "pyinstaller",
38
+ "pymdownx",
39
+ "pymeshfix",
40
+ "pypa",
41
+ "pypackages",
42
+ "pypi",
43
+ "pyplot",
44
+ "pyproject",
45
+ "pyrightconfig",
46
+ "pytest",
47
+ "pytetwild",
48
+ "pytype",
49
+ "pyvista",
50
+ "scipy",
51
+ "scrapy",
52
+ "sdist",
53
+ "stefanzweifel",
54
+ "trimesh",
55
+ "typer",
56
+ "ubelt",
57
+ "vecdot",
58
+ "venv"
59
+ ],
60
+ "ignorePaths": [
61
+ "**/.cspell.*",
62
+ "**/.git",
63
+ "**/.vscode",
64
+ "**/*-lock.*",
65
+ "**/*.lock*"
66
+ ],
67
+ "allowCompoundWords": true
68
+ }
@@ -0,0 +1,9 @@
1
+ #!/bin/bash
2
+ watch_file "pyproject.toml" "pixi.toml" "pixi.lock"
3
+ if [[ -t 2 ]]; then
4
+ export PIXI_COLOR="always"
5
+ else
6
+ export PIXI_COLOR="auto"
7
+ fi
8
+ eval "$(pixi shell-hook)"
9
+ unset PIXI_COLOR
@@ -0,0 +1,12 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+ # prettier-ignore
4
+ _commit: c4dd786
5
+ _src_path: gh:liblaf/copier-python
6
+ author: liblaf
7
+ email: 30631553+liblaf@users.noreply.github.com
8
+ license: MIT
9
+ name: liblaf-melon
10
+ owner: liblaf
11
+ package_manager: pixi
12
+ repo: melon
@@ -0,0 +1,6 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-release>.
2
+ # DO NOT EDIT!
3
+ # prettier-ignore
4
+ _commit: a11a632
5
+ _src_path: gh:liblaf/copier-release
6
+ release_type: python
@@ -0,0 +1,8 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
3
+ # prettier-ignore
4
+ _commit: f1d9c33
5
+ _src_path: gh:liblaf/copier-shared
6
+ copyright_holder: liblaf
7
+ license: MIT
8
+ owner: liblaf
@@ -0,0 +1,143 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+ # vim: syntax=yaml
4
+ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
5
+
6
+ site_name: "liblaf-melon"
7
+ site_url:
8
+ !ENV [
9
+ READTHEDOCS_CANONICAL_URL,
10
+ SITE_URL,
11
+ "https://liblaf.github.io/melon/",
12
+ ]
13
+ site_author: "liblaf"
14
+ repo_name: "liblaf/melon"
15
+ repo_url: "https://github.com/liblaf/melon"
16
+ edit_uri: blob/main/docs/
17
+
18
+ extra_css:
19
+ # - https://raw.githubusercontent.com/liblaf/copier-python/refs/heads/main/css/fonts.css
20
+ # - https://raw.githubusercontent.com/liblaf/copier-python/refs/heads/main/css/mkdocstrings/material.css
21
+ # - https://raw.githubusercontent.com/liblaf/copier-python/refs/heads/main/css/mkdocstrings/syntax-highlight-in-signatures.css
22
+ # I don't know why, but external CSS does not work.
23
+ - css/fonts.css
24
+ - css/mkdocstrings/material.css
25
+ - css/mkdocstrings/syntax-highlight-in-signatures.css
26
+
27
+ theme:
28
+ name: material
29
+ features:
30
+ - announce.dismiss
31
+ - content.action.edit
32
+ - content.action.view
33
+ - content.code.annotate
34
+ - content.code.copy
35
+ - content.code.select
36
+ - content.footnote.tooltips
37
+ - content.tabs.link
38
+ - content.tooltips
39
+ # - header.autohide
40
+ # - navigation.expand
41
+ # - navigation.footer
42
+ # - navigation.indexes
43
+ - navigation.instant
44
+ - navigation.instant.prefetch
45
+ - navigation.instant.progress
46
+ - navigation.path
47
+ # - navigation.prune
48
+ - navigation.sections
49
+ - navigation.tabs
50
+ - navigation.tabs.sticky
51
+ - navigation.top
52
+ - navigation.tracking
53
+ - search.highlight
54
+ - search.share
55
+ - search.suggest
56
+ - toc.follow
57
+ # - toc.integrate
58
+ palette:
59
+ - media: (prefers-color-scheme)
60
+ toggle:
61
+ icon: material/brightness-auto
62
+ name: Auto
63
+ - scheme: default
64
+ primary: teal
65
+ accent: purple
66
+ media: "(prefers-color-scheme: light)"
67
+ toggle:
68
+ icon: material/weather-sunny
69
+ name: Light Mode
70
+ - scheme: slate
71
+ primary: black
72
+ accent: lime
73
+ media: "(prefers-color-scheme: dark)"
74
+ toggle:
75
+ icon: material/weather-night
76
+ name: Dark Mode
77
+
78
+ plugins:
79
+ # Built-in plugins
80
+ # optimize: # sponsors only
81
+ search:
82
+ social:
83
+ # typeset: # sponsors only
84
+ # External plugins, schema provided by us
85
+ gen-files:
86
+ scripts:
87
+ - docs/scripts/gen-ref-pages.py
88
+ git-committers:
89
+ enabled: !ENV [READTHEDOCS, CI, false]
90
+ repository: "liblaf/melon"
91
+ branch: main
92
+ literate-nav:
93
+ section-index:
94
+ # External plugins, schema provided by our community
95
+ git-revision-date-localized:
96
+ enable_creation_date: true
97
+ mkdocstrings:
98
+ default_handler: python
99
+ enable_inventory: true
100
+ handlers:
101
+ python:
102
+ import:
103
+ - https://docs.python.org/3/objects.inv
104
+ options:
105
+ # General
106
+ # Headings
107
+ show_symbol_type_heading: true
108
+ show_symbol_type_toc: true
109
+ # Members
110
+ inherited_members: true
111
+ filters:
112
+ - "!^_[^_]"
113
+ - "!__all__"
114
+ summary: true
115
+ # Docstrings
116
+ docstring_style: google
117
+ docstring_options:
118
+ ignore_init_summary: true
119
+ docstring_section_style: list
120
+ merge_init_into_class: true
121
+ show_if_no_docstring: true
122
+ # Signatures
123
+ show_signature_annotations: true
124
+ separate_signature: true
125
+ signature_crossrefs: true
126
+ # External plugins, schema not provided
127
+ autorefs:
128
+
129
+ markdown_extensions:
130
+ admonition:
131
+ md_in_html:
132
+ mdx_truly_sane_lists:
133
+ pymdownx.details:
134
+ pymdownx.snippets:
135
+ pymdownx.superfences:
136
+ pymdownx.tabbed:
137
+ alternate_style: true
138
+ toc:
139
+ permalink: ¤
140
+
141
+ watch:
142
+ - docs/
143
+ - src/
@@ -0,0 +1,98 @@
1
+ #:schema https://json.schemastore.org/ruff.json
2
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
3
+ # DO NOT EDIT!
4
+
5
+ builtins = ["ic"]
6
+ fix = true
7
+ show-fixes = true
8
+ target-version = "py312"
9
+
10
+ [format]
11
+ docstring-code-format = true
12
+
13
+ [lint]
14
+ explicit-preview-rules = true
15
+ ignore = [
16
+ "ANN002",
17
+ "ANN003",
18
+ "ANN401",
19
+ "COM812",
20
+ "D100",
21
+ "D101",
22
+ "D102",
23
+ "D103",
24
+ "D104",
25
+ "D105",
26
+ "D106",
27
+ "D107",
28
+ "E501",
29
+ "ERA001",
30
+ "FIX002",
31
+ "INP001",
32
+ "PLR0913",
33
+ "PLR2004",
34
+ "RET504",
35
+ "S101",
36
+ "S603",
37
+ "S607",
38
+ "T201",
39
+ "TC001",
40
+ "TC002",
41
+ "TC003",
42
+ "TD002",
43
+ "TD003",
44
+ "TD004",
45
+ "TD005",
46
+ ]
47
+ select = ["ALL"]
48
+
49
+ [lint.flake8-annotations]
50
+ allow-star-arg-any = true
51
+
52
+ [lint.flake8-import-conventions.aliases]
53
+ "array_typing" = "at"
54
+ "array_typing.jax" = "atj"
55
+ "array_typing.numpy" = "atn"
56
+ "array_typing.torch" = "att"
57
+ "asyncio.subprocess" = "asp"
58
+ "boltons" = "bt"
59
+ "jax.numpy" = "jnp"
60
+ "jax.typing" = "jxt"
61
+ "matplotlib" = "mpl"
62
+ "matplotlib.pyplot" = "plt"
63
+ "numpy" = "np"
64
+ "numpy.typing" = "npt"
65
+ "open3d" = "o3d"
66
+ "pandas" = "pd"
67
+ "polars" = "pl"
68
+ "pydantic_settings" = "ps"
69
+ "pyvista" = "pv"
70
+ "seaborn" = "sns"
71
+ "subprocess" = "sp"
72
+ "taichi" = "ti"
73
+ "toolkit" = "tk"
74
+ "toolkit.array" = "at"
75
+ "toolkit.array.jax" = "tj"
76
+ "toolkit.array.numpy" = "tn"
77
+ "toolkit.array.torch" = "tt"
78
+ "toolkit.typing" = "tp"
79
+ "toolkit.validation" = "tv"
80
+ "trimesh" = "tm"
81
+ "trimesh.transformations" = "tf"
82
+ "ubelt" = "ub"
83
+
84
+ [lint.flake8-type-checking]
85
+ runtime-evaluated-base-classes = [
86
+ "pydantic.BaseModel",
87
+ "pydantic_settings.BaseSettings",
88
+ "sqlalchemy.orm.DeclarativeBase",
89
+ "toolkit.BaseConfig",
90
+ ]
91
+ runtime-evaluated-decorators = [
92
+ "attrs.define",
93
+ "pydantic.validate_call",
94
+ "toolkit.main",
95
+ ]
96
+
97
+ [lint.pydocstyle]
98
+ convention = "google"
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json",
3
+
4
+ "enableTypeIgnoreComments": false,
5
+
6
+ "typeCheckingMode": "standard",
7
+
8
+ "reportArgumentType": "information",
9
+ "reportAssignmentType": "information",
10
+ "reportPrivateImportUsage": "none",
11
+ "reportRedeclaration": "none"
12
+ }
@@ -0,0 +1 @@
1
+ {".":"0.1.0"}
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "https://github.com/googleapis/release-please/raw/refs/heads/main/schemas/config.json",
3
+ "release-type": "python",
4
+ "bump-minor-pre-major": true,
5
+ "bump-patch-for-minor-pre-major": true,
6
+ "changelog-sections": [
7
+ {
8
+ "type": "feat",
9
+ "section": "✨ Features"
10
+ },
11
+ {
12
+ "type": "feature",
13
+ "section": "✨ Features"
14
+ },
15
+ {
16
+ "type": "fix",
17
+ "scope": "deps",
18
+ "section": "⬆️ Dependencies"
19
+ },
20
+ {
21
+ "type": "fix",
22
+ "scope": "deps-dev",
23
+ "section": "⬆️ Dependencies"
24
+ },
25
+ {
26
+ "type": "build",
27
+ "scope": "deps",
28
+ "section": "⬆️ Dependencies"
29
+ },
30
+ {
31
+ "type": "build",
32
+ "scope": "deps-dev",
33
+ "section": "⬆️ Dependencies"
34
+ },
35
+ {
36
+ "type": "chore",
37
+ "scope": "deps",
38
+ "section": "⬆️ Dependencies"
39
+ },
40
+ {
41
+ "type": "chore",
42
+ "scope": "deps-dev",
43
+ "section": "⬆️ Dependencies"
44
+ },
45
+ {
46
+ "type": "fix",
47
+ "section": "🐛 Bug Fixes"
48
+ },
49
+ {
50
+ "type": "perf",
51
+ "section": "⚡ Performance Improvements"
52
+ },
53
+ {
54
+ "type": "revert",
55
+ "section": "⏪ Reverts"
56
+ },
57
+ {
58
+ "type": "docs",
59
+ "section": "📝 Documentation"
60
+ },
61
+ {
62
+ "type": "style",
63
+ "section": "💄 Styles"
64
+ },
65
+ {
66
+ "type": "chore",
67
+ "section": "🎫 Chores",
68
+ "hidden": true
69
+ },
70
+ {
71
+ "type": "refactor",
72
+ "section": "♻ Code Refactoring"
73
+ },
74
+ {
75
+ "type": "test",
76
+ "section": "✅ Tests"
77
+ },
78
+ {
79
+ "type": "build",
80
+ "section": "👷 Build System"
81
+ },
82
+ {
83
+ "type": "ci",
84
+ "section": "🔧 Continuous Integration"
85
+ }
86
+ ],
87
+ "include-component-in-tag": false,
88
+ "initial-version": "0.0.0",
89
+ "packages": {
90
+ ".": {}
91
+ }
92
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": ["github>liblaf/.github:renovate-config"]
4
+ }
@@ -0,0 +1,42 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-python>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) Docs
5
+
6
+ on:
7
+ push:
8
+
9
+ jobs:
10
+ docs:
11
+ name: Docs
12
+ permissions:
13
+ contents: write
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+ - if: hashFiles('pixi.lock') != ''
21
+ name: Setup Pixi
22
+ uses: prefix-dev/setup-pixi@v0
23
+ with:
24
+ run-install: true
25
+ activate-environment: true
26
+ locked: false
27
+ - if: hashFiles('uv.lock') != ''
28
+ name: Setup uv
29
+ uses: astral-sh/setup-uv@v5
30
+ - if: hashFiles('docs/scripts/prepare.sh') != ''
31
+ name: Prepare
32
+ run: docs/scripts/prepare.sh
33
+ - name: Build
34
+ run: mkdocs build
35
+ - name: Upload Artifacts
36
+ uses: actions/upload-artifact@v4
37
+ with:
38
+ name: docs
39
+ path: site/
40
+ - if: github.ref == 'refs/heads/main'
41
+ name: Deploy
42
+ run: mkdocs gh-deploy --force --no-history
@@ -0,0 +1,39 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
3
+
4
+ # https://github.com/oxsecurity/megalinter/blob/main/mega-linter-runner/generators/mega-linter/templates/mega-linter.yml
5
+ # https://megalinter.io
6
+
7
+ name: (Shared) MegaLinter
8
+
9
+ on:
10
+ push:
11
+ pull_request:
12
+
13
+ jobs:
14
+ mega-linter:
15
+ name: MegaLinter
16
+ permissions:
17
+ contents: write # commit fix
18
+ issues: write # https://megalinter.io/latest/reporters/GitHubCommentReporter/
19
+ pull-requests: write # https://megalinter.io/latest/reporters/GitHubCommentReporter/
20
+ security-events: write # https://megalinter.io/latest/reporters/SarifReporter/
21
+ statuses: write # https://megalinter.io/latest/reporters/GitHubStatusReporter/
22
+ runs-on: ubuntu-latest
23
+ concurrency:
24
+ group: ${{ github.workflow }}-${{ github.ref }}-mega-linter
25
+ cancel-in-progress: true
26
+ steps:
27
+ - name: Checkout
28
+ uses: actions/checkout@v4
29
+ with:
30
+ token: ${{ secrets.PAT || github.token }}
31
+ - name: MegaLinter
32
+ uses: liblaf/actions/mega-linter@main
33
+ - name: Remove MegaLinter Reports
34
+ run: sudo rm --force --recursive "mega-linter.log" "megalinter-reports/"
35
+ - name: Auto Commit
36
+ uses: stefanzweifel/git-auto-commit-action@v5
37
+ with:
38
+ commit_message: "chore(mega-linter): apply linters fixes"
39
+ add_options: --update
@@ -0,0 +1,51 @@
1
+ # This file is @generated by <https://github.com/liblaf/copier-shared>.
2
+ # DO NOT EDIT!
3
+
4
+ name: (Shared) PR
5
+
6
+ on:
7
+ schedule:
8
+ - cron: "0 0 * * *"
9
+ - cron: "0 0 * * 0"
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ merge:
14
+ name: Merge
15
+ permissions:
16
+ pull-requests: write
17
+ if: >-
18
+ (
19
+ github.event_name == 'schedule' &&
20
+ github.event.schedule == '0 0 * * 0'
21
+ ) || github.event_name == 'workflow_dispatch'
22
+ runs-on: ubuntu-latest
23
+ concurrency:
24
+ group: ${{ github.workflow }}-merge
25
+ cancel-in-progress: true
26
+ steps:
27
+ - name: Merge
28
+ uses: liblaf/actions/pr-label@main
29
+ with:
30
+ add-label: automerge
31
+ label: "autorelease: pending"
32
+ token: ${{ secrets.PAT || github.token }}
33
+
34
+ review:
35
+ name: Review
36
+ permissions:
37
+ pull-requests: write
38
+ if: >-
39
+ (
40
+ github.event_name == 'schedule' &&
41
+ github.event.schedule == '0 0 * * *'
42
+ ) || github.event_name == 'workflow_dispatch'
43
+ runs-on: ubuntu-latest
44
+ concurrency:
45
+ group: ${{ github.workflow }}-review
46
+ cancel-in-progress: true
47
+ steps:
48
+ - name: Review
49
+ uses: liblaf/actions/pr-review@main
50
+ with:
51
+ token: ${{ secrets.PAT || github.token }}