ie-circle 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.
@@ -0,0 +1,22 @@
1
+
2
+ MIT License
3
+
4
+ Copyright (c) 2025 34j
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
@@ -0,0 +1,100 @@
1
+ Metadata-Version: 2.4
2
+ Name: ie-circle
3
+ Version: 0.1.0
4
+ Summary: Solve linear integral equations with singular kernels on circles, optionally with numerical verification
5
+ Author-email: 34j <34j.95a2p@simplelogin.com>
6
+ License-Expression: MIT
7
+ Project-URL: Bug Tracker, https://github.com/ultrasphere-dev/ie-circle/issues
8
+ Project-URL: Changelog, https://github.com/ultrasphere-dev/ie-circle/blob/main/CHANGELOG.md
9
+ Project-URL: documentation, https://ie-circle.readthedocs.io
10
+ Project-URL: repository, https://github.com/ultrasphere-dev/ie-circle
11
+ Classifier: Development Status :: 2 - Pre-Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Natural Language :: English
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Topic :: Software Development :: Libraries
20
+ Requires-Python: >=3.12
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: array-api-compat>=1.14
24
+ Requires-Dist: array-api-shape-check>=0.1.3
25
+ Requires-Dist: attrs>=26.1
26
+ Requires-Dist: batch-tensorsolve>=1.0.2
27
+ Requires-Dist: numpy>=2.4.4
28
+ Requires-Dist: sympy>=1.14
29
+ Requires-Dist: types-array-api>=1.1.4
30
+ Dynamic: license-file
31
+
32
+ # ie-circle
33
+
34
+ <p align="center">
35
+ <a href="https://github.com/ultrasphere-dev/ie-circle/actions/workflows/ci.yml?query=branch%3Amain">
36
+ <img src="https://img.shields.io/github/actions/workflow/status/ultrasphere-dev/ie-circle/ci.yml?branch=main&label=CI&logo=github&style=flat-square" alt="CI Status" >
37
+ </a>
38
+ <a href="https://ie-circle.readthedocs.io">
39
+ <img src="https://img.shields.io/readthedocs/ie-circle.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
40
+ </a>
41
+ <a href="https://codecov.io/gh/ultrasphere-dev/ie-circle">
42
+ <img src="https://img.shields.io/codecov/c/github/ultrasphere-dev/ie-circle.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
43
+ </a>
44
+ </p>
45
+ <p align="center">
46
+ <a href="https://github.com/astral-sh/uv">
47
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
48
+ </a>
49
+ <a href="https://github.com/astral-sh/ruff">
50
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
51
+ </a>
52
+ <a href="https://github.com/j178/prek">
53
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
54
+ </a>
55
+ </p>
56
+ <p align="center">
57
+ <a href="https://pypi.org/project/ie-circle/">
58
+ <img src="https://img.shields.io/pypi/v/ie-circle.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
59
+ </a>
60
+ <img src="https://img.shields.io/pypi/pyversions/ie-circle.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
61
+ <img src="https://img.shields.io/pypi/l/ie-circle.svg?style=flat-square" alt="License">
62
+ </p>
63
+
64
+ ---
65
+
66
+ **Documentation**: <a href="https://ie-circle.readthedocs.io" target="_blank">https://ie-circle.readthedocs.io </a>
67
+
68
+ **Source Code**: <a href="https://github.com/ultrasphere-dev/ie-circle" target="_blank">https://github.com/ultrasphere-dev/ie-circle </a>
69
+
70
+ ---
71
+
72
+ Solve linear integral equations with singular kernels on circles, optionally with numerical verification
73
+
74
+ ## Installation
75
+
76
+ Install this via pip (or your favourite package manager):
77
+
78
+ `pip install ie-circle`
79
+
80
+ ## Contributors ✨
81
+
82
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
83
+
84
+ <!-- prettier-ignore-start -->
85
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
86
+ <!-- markdownlint-disable -->
87
+ <!-- markdownlint-enable -->
88
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
89
+ <!-- prettier-ignore-end -->
90
+
91
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
92
+
93
+ ## Credits
94
+
95
+ [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
96
+
97
+ This package was created with
98
+ [Copier](https://copier.readthedocs.io/) and the
99
+ [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
100
+ project template.
@@ -0,0 +1,69 @@
1
+ # ie-circle
2
+
3
+ <p align="center">
4
+ <a href="https://github.com/ultrasphere-dev/ie-circle/actions/workflows/ci.yml?query=branch%3Amain">
5
+ <img src="https://img.shields.io/github/actions/workflow/status/ultrasphere-dev/ie-circle/ci.yml?branch=main&label=CI&logo=github&style=flat-square" alt="CI Status" >
6
+ </a>
7
+ <a href="https://ie-circle.readthedocs.io">
8
+ <img src="https://img.shields.io/readthedocs/ie-circle.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
9
+ </a>
10
+ <a href="https://codecov.io/gh/ultrasphere-dev/ie-circle">
11
+ <img src="https://img.shields.io/codecov/c/github/ultrasphere-dev/ie-circle.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
12
+ </a>
13
+ </p>
14
+ <p align="center">
15
+ <a href="https://github.com/astral-sh/uv">
16
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
17
+ </a>
18
+ <a href="https://github.com/astral-sh/ruff">
19
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
20
+ </a>
21
+ <a href="https://github.com/j178/prek">
22
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json" alt="prek">
23
+ </a>
24
+ </p>
25
+ <p align="center">
26
+ <a href="https://pypi.org/project/ie-circle/">
27
+ <img src="https://img.shields.io/pypi/v/ie-circle.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
28
+ </a>
29
+ <img src="https://img.shields.io/pypi/pyversions/ie-circle.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
30
+ <img src="https://img.shields.io/pypi/l/ie-circle.svg?style=flat-square" alt="License">
31
+ </p>
32
+
33
+ ---
34
+
35
+ **Documentation**: <a href="https://ie-circle.readthedocs.io" target="_blank">https://ie-circle.readthedocs.io </a>
36
+
37
+ **Source Code**: <a href="https://github.com/ultrasphere-dev/ie-circle" target="_blank">https://github.com/ultrasphere-dev/ie-circle </a>
38
+
39
+ ---
40
+
41
+ Solve linear integral equations with singular kernels on circles, optionally with numerical verification
42
+
43
+ ## Installation
44
+
45
+ Install this via pip (or your favourite package manager):
46
+
47
+ `pip install ie-circle`
48
+
49
+ ## Contributors ✨
50
+
51
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
52
+
53
+ <!-- prettier-ignore-start -->
54
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
55
+ <!-- markdownlint-disable -->
56
+ <!-- markdownlint-enable -->
57
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
58
+ <!-- prettier-ignore-end -->
59
+
60
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
61
+
62
+ ## Credits
63
+
64
+ [![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-grayscale-inverted-border-orange.json)](https://github.com/copier-org/copier)
65
+
66
+ This package was created with
67
+ [Copier](https://copier.readthedocs.io/) and the
68
+ [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
69
+ project template.
@@ -0,0 +1,152 @@
1
+ [build-system]
2
+ build-backend = "setuptools.build_meta"
3
+ requires = [ "setuptools>=77.0.3" ]
4
+
5
+ [project]
6
+ name = "ie-circle"
7
+ version = "0.1.0"
8
+ description = "Solve linear integral equations with singular kernels on circles, optionally with numerical verification"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ authors = [
12
+ { name = "34j", email = "34j.95a2p@simplelogin.com" },
13
+ ]
14
+ requires-python = ">=3.12"
15
+ classifiers = [
16
+ "Development Status :: 2 - Pre-Alpha",
17
+ "Intended Audience :: Developers",
18
+ "Natural Language :: English",
19
+ "Operating System :: OS Independent",
20
+ "Programming Language :: Python :: 3 :: Only",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Programming Language :: Python :: 3.13",
23
+ "Programming Language :: Python :: 3.14",
24
+ "Topic :: Software Development :: Libraries",
25
+ ]
26
+ dependencies = [
27
+ "array-api-compat>=1.14",
28
+ "array-api-shape-check>=0.1.3",
29
+ "attrs>=26.1",
30
+ "batch-tensorsolve>=1.0.2",
31
+ "numpy>=2.4.4",
32
+ "sympy>=1.14",
33
+ "types-array-api>=1.1.4",
34
+ ]
35
+ urls."Bug Tracker" = "https://github.com/ultrasphere-dev/ie-circle/issues"
36
+ urls.Changelog = "https://github.com/ultrasphere-dev/ie-circle/blob/main/CHANGELOG.md"
37
+ urls.documentation = "https://ie-circle.readthedocs.io"
38
+ urls.repository = "https://github.com/ultrasphere-dev/ie-circle"
39
+
40
+ [dependency-groups]
41
+ dev = [
42
+ "coverage",
43
+ "pytest==9.*",
44
+ "pytest-cov==7.*",
45
+ "pytest-xdist>=3.8",
46
+ "sybil[pytest]",
47
+ "torch>=2.11",
48
+ "ty>=0.0.34",
49
+ ]
50
+ docs = [
51
+ "furo; python_version>='3.12'",
52
+ "myst-parser; python_version>='3.12'",
53
+ "sphinx==9.*; python_version>='3.12'",
54
+ "sphinx-autobuild; python_version>='3.12'",
55
+ "sphinx-math-dollar>=1.3",
56
+ ]
57
+
58
+ [tool.ruff]
59
+ line-length = 100
60
+ lint.select = [
61
+ "B", # flake8-bugbear
62
+ "C4", # flake8-comprehensions
63
+ "D", # flake8-docstrings
64
+ "E", # pycodestyle
65
+ "F", # pyflake
66
+ "I", # isort
67
+ "RUF", # ruff specific
68
+ "S", # flake8-bandit
69
+ "UP", # pyupgrade
70
+ "W", # pycodestyle
71
+ ]
72
+ lint.ignore = [
73
+ "D100", # Missing docstring in public module
74
+ "D104", # Missing docstring in public package
75
+ "D107", # Missing docstring in `__init__`
76
+ "D203", # 1 blank line required before class docstring
77
+ "D205",
78
+ "D212", # Multi-line docstring summary should start at the first line
79
+ "D401", # First line of docstring should be in imperative mood
80
+ ]
81
+ lint.per-file-ignores."conftest.py" = [ "D100" ]
82
+ lint.per-file-ignores."docs/conf.py" = [ "D100" ]
83
+ lint.per-file-ignores."setup.py" = [ "D100" ]
84
+ lint.per-file-ignores."tests/**/*" = [
85
+ "D100",
86
+ "D101",
87
+ "D102",
88
+ "D103",
89
+ "D104",
90
+ "S101",
91
+ ]
92
+ lint.isort.known-first-party = [ "ie_circle", "tests" ]
93
+
94
+ [tool.pyproject-fmt]
95
+ max_supported_python = "3.14"
96
+
97
+ [tool.ty]
98
+ terminal.error-on-warning = true
99
+
100
+ [tool.pytest]
101
+ minversion = "9.0"
102
+ addopts = [
103
+ "-v",
104
+ "-Wonce",
105
+ "-p no:doctest",
106
+ "--cov=ie_circle",
107
+ "--cov-report=term",
108
+ "--cov-report=xml",
109
+ ]
110
+ pythonpath = [ "src" ]
111
+
112
+ [tool.coverage]
113
+ run.branch = true
114
+ paths.source = [
115
+ "src",
116
+ ".tox/**/site-packages",
117
+ ]
118
+ report.exclude_lines = [
119
+ "@overload",
120
+ 'if __name__ == "__main__":',
121
+ "if TYPE_CHECKING",
122
+ "pragma: no cover",
123
+ "raise NotImplementedError",
124
+ ]
125
+
126
+ [tool.semantic_release]
127
+ allow_zero_version = true
128
+ version_toml = [ "pyproject.toml:project.version" ]
129
+ version_variables = [
130
+ "src/ie_circle/__init__.py:__version__",
131
+ "docs/conf.py:release",
132
+ ]
133
+ build_command = """
134
+ pip install uv
135
+ uv lock
136
+ git add uv.lock
137
+ uv build
138
+ """
139
+ branches.main.match = "main"
140
+ branches.noop.match = "(?!main$)"
141
+ branches.noop.prerelease = true
142
+ changelog.exclude_commit_patterns = [
143
+ "chore(?:\\([^)]*?\\))?: .+",
144
+ "ci(?:\\([^)]*?\\))?: .+",
145
+ "refactor(?:\\([^)]*?\\))?: .+",
146
+ "style(?:\\([^)]*?\\))?: .+",
147
+ "test(?:\\([^)]*?\\))?: .+",
148
+ "build\\((?!deps\\): .+)",
149
+ "Merged? .*",
150
+ "Initial [Cc]ommit.*", # codespell:ignore
151
+ ]
152
+ changelog.environment.keep_trailing_newline = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,45 @@
1
+ __version__ = "0.1.0"
2
+ from ._bie import nystrom, nystrom_lhs, nystrom_rhs
3
+ from ._example import example_13_19, example_13_19_answer
4
+ from ._fourier_integral import (
5
+ cot_power_fourier_integral_coefficients,
6
+ harmonic_number,
7
+ log_cot_power_fourier_integral_coefficients,
8
+ )
9
+ from ._quadrature import (
10
+ PowerQuadratureRule,
11
+ QuadratureRule,
12
+ cot_power_quadrature,
13
+ fourier_coeff_to_quadrature,
14
+ garrick_wittich_quadrature,
15
+ kussmaul_martensen_kress_quadrature,
16
+ log_cot_power_quadrature,
17
+ shift_quadrature_singularity,
18
+ trapezoidal_quadrature,
19
+ )
20
+ from ._shape import CircleShape, KressShape, Shape, SympyShape
21
+
22
+ __all__ = [
23
+ "CircleShape",
24
+ "KressShape",
25
+ "PowerQuadratureRule",
26
+ "QuadratureRule",
27
+ "Shape",
28
+ "SympyShape",
29
+ "cot_power_fourier_integral_coefficients",
30
+ "cot_power_quadrature",
31
+ "example_13_19",
32
+ "example_13_19_answer",
33
+ "fourier_coeff_to_quadrature",
34
+ "garrick_wittich_quadrature",
35
+ "harmonic_number",
36
+ "kussmaul_martensen_kress_quadrature",
37
+ "log_cot_power_fourier_integral_coefficients",
38
+ "log_cot_power_fourier_integral_coefficients",
39
+ "log_cot_power_quadrature",
40
+ "nystrom",
41
+ "nystrom_lhs",
42
+ "nystrom_rhs",
43
+ "shift_quadrature_singularity",
44
+ "trapezoidal_quadrature",
45
+ ]
File without changes