jacobi-poly 0.0.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,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: jacobi-poly
3
+ Version: 0.0.0
4
+ Summary: Compute Jacobi polynomial from order 0 to N efficiently in NumPy / PyTorch / JAX / array API
5
+ Author-email: 34j <34j.95a2p@simplelogin.com>
6
+ License: MIT
7
+ Project-URL: Bug Tracker, https://github.com/34j/jacobi-poly/issues
8
+ Project-URL: Changelog, https://github.com/34j/jacobi-poly/blob/main/CHANGELOG.md
9
+ Project-URL: documentation, https://jacobi-poly.readthedocs.io
10
+ Project-URL: repository, https://github.com/34j/jacobi-poly
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.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: Libraries
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: rich>=10
25
+ Requires-Dist: typer<1,>=0.15
26
+ Dynamic: license-file
27
+
28
+ # Jacobi Poly
29
+
30
+ <p align="center">
31
+ <a href="https://github.com/34j/jacobi-poly/actions/workflows/ci.yml?query=branch%3Amain">
32
+ <img src="https://img.shields.io/github/actions/workflow/status/34j/jacobi-poly/ci.yml?branch=main&label=CI&logo=github&style=flat-square" alt="CI Status" >
33
+ </a>
34
+ <a href="https://jacobi-poly.readthedocs.io">
35
+ <img src="https://img.shields.io/readthedocs/jacobi-poly.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
36
+ </a>
37
+ <a href="https://codecov.io/gh/34j/jacobi-poly">
38
+ <img src="https://img.shields.io/codecov/c/github/34j/jacobi-poly.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
39
+ </a>
40
+ </p>
41
+ <p align="center">
42
+ <a href="https://github.com/astral-sh/uv">
43
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
44
+ </a>
45
+ <a href="https://github.com/astral-sh/ruff">
46
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
47
+ </a>
48
+ <a href="https://github.com/pre-commit/pre-commit">
49
+ <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
50
+ </a>
51
+ </p>
52
+ <p align="center">
53
+ <a href="https://pypi.org/project/jacobi-poly/">
54
+ <img src="https://img.shields.io/pypi/v/jacobi-poly.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
55
+ </a>
56
+ <img src="https://img.shields.io/pypi/pyversions/jacobi-poly.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
57
+ <img src="https://img.shields.io/pypi/l/jacobi-poly.svg?style=flat-square" alt="License">
58
+ </p>
59
+
60
+ ---
61
+
62
+ **Documentation**: <a href="https://jacobi-poly.readthedocs.io" target="_blank">https://jacobi-poly.readthedocs.io </a>
63
+
64
+ **Source Code**: <a href="https://github.com/34j/jacobi-poly" target="_blank">https://github.com/34j/jacobi-poly </a>
65
+
66
+ ---
67
+
68
+ Compute Jacobi polynomial from order 0 to N efficiently in NumPy / PyTorch / JAX / array API
69
+
70
+ ## Installation
71
+
72
+ Install this via pip (or your favourite package manager):
73
+
74
+ `pip install jacobi-poly`
75
+
76
+ ## Contributors ✨
77
+
78
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
79
+
80
+ <!-- prettier-ignore-start -->
81
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
82
+ <!-- markdownlint-disable -->
83
+ <!-- markdownlint-enable -->
84
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
85
+ <!-- prettier-ignore-end -->
86
+
87
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
88
+
89
+ ## Credits
90
+
91
+ [![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)
92
+
93
+ This package was created with
94
+ [Copier](https://copier.readthedocs.io/) and the
95
+ [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
96
+ project template.
@@ -0,0 +1,69 @@
1
+ # Jacobi Poly
2
+
3
+ <p align="center">
4
+ <a href="https://github.com/34j/jacobi-poly/actions/workflows/ci.yml?query=branch%3Amain">
5
+ <img src="https://img.shields.io/github/actions/workflow/status/34j/jacobi-poly/ci.yml?branch=main&label=CI&logo=github&style=flat-square" alt="CI Status" >
6
+ </a>
7
+ <a href="https://jacobi-poly.readthedocs.io">
8
+ <img src="https://img.shields.io/readthedocs/jacobi-poly.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
9
+ </a>
10
+ <a href="https://codecov.io/gh/34j/jacobi-poly">
11
+ <img src="https://img.shields.io/codecov/c/github/34j/jacobi-poly.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/pre-commit/pre-commit">
22
+ <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
23
+ </a>
24
+ </p>
25
+ <p align="center">
26
+ <a href="https://pypi.org/project/jacobi-poly/">
27
+ <img src="https://img.shields.io/pypi/v/jacobi-poly.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
28
+ </a>
29
+ <img src="https://img.shields.io/pypi/pyversions/jacobi-poly.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
30
+ <img src="https://img.shields.io/pypi/l/jacobi-poly.svg?style=flat-square" alt="License">
31
+ </p>
32
+
33
+ ---
34
+
35
+ **Documentation**: <a href="https://jacobi-poly.readthedocs.io" target="_blank">https://jacobi-poly.readthedocs.io </a>
36
+
37
+ **Source Code**: <a href="https://github.com/34j/jacobi-poly" target="_blank">https://github.com/34j/jacobi-poly </a>
38
+
39
+ ---
40
+
41
+ Compute Jacobi polynomial from order 0 to N efficiently in NumPy / PyTorch / JAX / array API
42
+
43
+ ## Installation
44
+
45
+ Install this via pip (or your favourite package manager):
46
+
47
+ `pip install jacobi-poly`
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,163 @@
1
+ [build-system]
2
+ build-backend = "setuptools.build_meta"
3
+ requires = [ "setuptools" ]
4
+
5
+ [project]
6
+ name = "jacobi-poly"
7
+ version = "0.0.0"
8
+ description = "Compute Jacobi polynomial from order 0 to N efficiently in NumPy / PyTorch / JAX / array API"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ authors = [
12
+ { name = "34j", email = "34j.95a2p@simplelogin.com" },
13
+ ]
14
+ requires-python = ">=3.9"
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.9",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Software Development :: Libraries",
26
+ ]
27
+
28
+ dependencies = [
29
+ "rich>=10",
30
+ "typer>=0.15,<1",
31
+ ]
32
+ urls."Bug Tracker" = "https://github.com/34j/jacobi-poly/issues"
33
+ urls.Changelog = "https://github.com/34j/jacobi-poly/blob/main/CHANGELOG.md"
34
+ urls.documentation = "https://jacobi-poly.readthedocs.io"
35
+ urls.repository = "https://github.com/34j/jacobi-poly"
36
+ scripts.jacobi-poly = "jacobi_poly.cli:app"
37
+
38
+ [dependency-groups]
39
+ dev = [
40
+ "pytest>=8,<9",
41
+ "pytest-cov>=6,<7",
42
+ ]
43
+ docs = [
44
+ "furo>=2023.5.20; python_version>='3.11'",
45
+ "myst-parser>=0.16; python_version>='3.11'",
46
+ "sphinx>=4; python_version>='3.11'",
47
+ "sphinx-autobuild>=2024,<2025; python_version>='3.11'",
48
+ ]
49
+
50
+ [tool.ruff]
51
+ line-length = 88
52
+ lint.select = [
53
+ "B", # flake8-bugbear
54
+ "D", # flake8-docstrings
55
+ "C4", # flake8-comprehensions
56
+ "S", # flake8-bandit
57
+ "F", # pyflake
58
+ "E", # pycodestyle
59
+ "W", # pycodestyle
60
+ "UP", # pyupgrade
61
+ "I", # isort
62
+ "RUF", # ruff specific
63
+ ]
64
+ lint.ignore = [
65
+ "D203", # 1 blank line required before class docstring
66
+ "D212", # Multi-line docstring summary should start at the first line
67
+ "D100", # Missing docstring in public module
68
+ "D104", # Missing docstring in public package
69
+ "D107", # Missing docstring in `__init__`
70
+ "D401", # First line of docstring should be in imperative mood
71
+ ]
72
+ lint.per-file-ignores."conftest.py" = [ "D100" ]
73
+ lint.per-file-ignores."docs/conf.py" = [ "D100" ]
74
+ lint.per-file-ignores."setup.py" = [ "D100" ]
75
+ lint.per-file-ignores."tests/**/*" = [
76
+ "D100",
77
+ "D101",
78
+ "D102",
79
+ "D103",
80
+ "D104",
81
+ "S101",
82
+ ]
83
+ lint.isort.known-first-party = [ "jacobi_poly", "tests" ]
84
+
85
+ [tool.pytest.ini_options]
86
+ addopts = """\
87
+ -v
88
+ -Wdefault
89
+ --cov=jacobi_poly
90
+ --cov-report=term
91
+ --cov-report=xml
92
+ """
93
+ pythonpath = [ "src" ]
94
+
95
+ [tool.coverage.run]
96
+ branch = true
97
+
98
+ [tool.coverage.report]
99
+ exclude_lines = [
100
+ "pragma: no cover",
101
+ "@overload",
102
+ "if TYPE_CHECKING",
103
+ "raise NotImplementedError",
104
+ 'if __name__ == "__main__":',
105
+ ]
106
+
107
+ [tool.mypy]
108
+ check_untyped_defs = true
109
+ disallow_any_generics = true
110
+ disallow_incomplete_defs = true
111
+ disallow_untyped_defs = true
112
+ mypy_path = "src/"
113
+ no_implicit_optional = true
114
+ show_error_codes = true
115
+ warn_unreachable = true
116
+ warn_unused_ignores = true
117
+ exclude = [
118
+ 'docs/.*',
119
+ 'setup.py',
120
+ ]
121
+
122
+ [[tool.mypy.overrides]]
123
+ module = "tests.*"
124
+ allow_untyped_defs = true
125
+
126
+ [[tool.mypy.overrides]]
127
+ module = "docs.*"
128
+ ignore_errors = true
129
+
130
+ [tool.semantic_release]
131
+ version_toml = [ "pyproject.toml:project.version" ]
132
+ version_variables = [
133
+ "src/jacobi_poly/__init__.py:__version__",
134
+ "docs/conf.py:release",
135
+ ]
136
+ build_command = """
137
+ pip install uv
138
+ uv lock
139
+ git add uv.lock
140
+ uv build
141
+ """
142
+
143
+ [tool.semantic_release.changelog]
144
+ exclude_commit_patterns = [
145
+ '''chore(?:\([^)]*?\))?: .+''',
146
+ '''ci(?:\([^)]*?\))?: .+''',
147
+ '''refactor(?:\([^)]*?\))?: .+''',
148
+ '''style(?:\([^)]*?\))?: .+''',
149
+ '''test(?:\([^)]*?\))?: .+''',
150
+ '''build\((?!deps\): .+)''',
151
+ '''Merged? .*''',
152
+ '''Initial [Cc]ommit.*''', # codespell:ignore
153
+ ]
154
+
155
+ [tool.semantic_release.changelog.environment]
156
+ keep_trailing_newline = true
157
+
158
+ [tool.semantic_release.branches.main]
159
+ match = "main"
160
+
161
+ [tool.semantic_release.branches.noop]
162
+ match = "(?!main$)"
163
+ prerelease = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env python
2
+
3
+ # This is a shim to allow GitHub to detect the package, build is done with uv
4
+ # Taken from https://github.com/Textualize/rich
5
+
6
+ import setuptools
7
+
8
+ if __name__ == "__main__":
9
+ setuptools.setup(name="jacobi-poly")
@@ -0,0 +1 @@
1
+ __version__ = "0.0.0"
@@ -0,0 +1,5 @@
1
+ """Make the CLI runnable using python -m jacobi_poly."""
2
+
3
+ from .cli import app
4
+
5
+ app(prog_name="jacobi-poly")
@@ -0,0 +1,12 @@
1
+ import typer
2
+ from rich import print
3
+
4
+ from .main import add
5
+
6
+ app = typer.Typer()
7
+
8
+
9
+ @app.command()
10
+ def main(n1: int, n2: int) -> None:
11
+ """Add the arguments and print the result."""
12
+ print(add(n1, n2))
@@ -0,0 +1,3 @@
1
+ def add(n1: int, n2: int) -> int:
2
+ """Add the arguments."""
3
+ return n1 + n2
File without changes
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: jacobi-poly
3
+ Version: 0.0.0
4
+ Summary: Compute Jacobi polynomial from order 0 to N efficiently in NumPy / PyTorch / JAX / array API
5
+ Author-email: 34j <34j.95a2p@simplelogin.com>
6
+ License: MIT
7
+ Project-URL: Bug Tracker, https://github.com/34j/jacobi-poly/issues
8
+ Project-URL: Changelog, https://github.com/34j/jacobi-poly/blob/main/CHANGELOG.md
9
+ Project-URL: documentation, https://jacobi-poly.readthedocs.io
10
+ Project-URL: repository, https://github.com/34j/jacobi-poly
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.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: Libraries
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: rich>=10
25
+ Requires-Dist: typer<1,>=0.15
26
+ Dynamic: license-file
27
+
28
+ # Jacobi Poly
29
+
30
+ <p align="center">
31
+ <a href="https://github.com/34j/jacobi-poly/actions/workflows/ci.yml?query=branch%3Amain">
32
+ <img src="https://img.shields.io/github/actions/workflow/status/34j/jacobi-poly/ci.yml?branch=main&label=CI&logo=github&style=flat-square" alt="CI Status" >
33
+ </a>
34
+ <a href="https://jacobi-poly.readthedocs.io">
35
+ <img src="https://img.shields.io/readthedocs/jacobi-poly.svg?logo=read-the-docs&logoColor=fff&style=flat-square" alt="Documentation Status">
36
+ </a>
37
+ <a href="https://codecov.io/gh/34j/jacobi-poly">
38
+ <img src="https://img.shields.io/codecov/c/github/34j/jacobi-poly.svg?logo=codecov&logoColor=fff&style=flat-square" alt="Test coverage percentage">
39
+ </a>
40
+ </p>
41
+ <p align="center">
42
+ <a href="https://github.com/astral-sh/uv">
43
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" alt="uv">
44
+ </a>
45
+ <a href="https://github.com/astral-sh/ruff">
46
+ <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
47
+ </a>
48
+ <a href="https://github.com/pre-commit/pre-commit">
49
+ <img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white&style=flat-square" alt="pre-commit">
50
+ </a>
51
+ </p>
52
+ <p align="center">
53
+ <a href="https://pypi.org/project/jacobi-poly/">
54
+ <img src="https://img.shields.io/pypi/v/jacobi-poly.svg?logo=python&logoColor=fff&style=flat-square" alt="PyPI Version">
55
+ </a>
56
+ <img src="https://img.shields.io/pypi/pyversions/jacobi-poly.svg?style=flat-square&logo=python&amp;logoColor=fff" alt="Supported Python versions">
57
+ <img src="https://img.shields.io/pypi/l/jacobi-poly.svg?style=flat-square" alt="License">
58
+ </p>
59
+
60
+ ---
61
+
62
+ **Documentation**: <a href="https://jacobi-poly.readthedocs.io" target="_blank">https://jacobi-poly.readthedocs.io </a>
63
+
64
+ **Source Code**: <a href="https://github.com/34j/jacobi-poly" target="_blank">https://github.com/34j/jacobi-poly </a>
65
+
66
+ ---
67
+
68
+ Compute Jacobi polynomial from order 0 to N efficiently in NumPy / PyTorch / JAX / array API
69
+
70
+ ## Installation
71
+
72
+ Install this via pip (or your favourite package manager):
73
+
74
+ `pip install jacobi-poly`
75
+
76
+ ## Contributors ✨
77
+
78
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
79
+
80
+ <!-- prettier-ignore-start -->
81
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
82
+ <!-- markdownlint-disable -->
83
+ <!-- markdownlint-enable -->
84
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
85
+ <!-- prettier-ignore-end -->
86
+
87
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
88
+
89
+ ## Credits
90
+
91
+ [![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)
92
+
93
+ This package was created with
94
+ [Copier](https://copier.readthedocs.io/) and the
95
+ [browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)
96
+ project template.
@@ -0,0 +1,18 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ setup.py
5
+ src/jacobi_poly/__init__.py
6
+ src/jacobi_poly/__main__.py
7
+ src/jacobi_poly/cli.py
8
+ src/jacobi_poly/main.py
9
+ src/jacobi_poly/py.typed
10
+ src/jacobi_poly.egg-info/PKG-INFO
11
+ src/jacobi_poly.egg-info/SOURCES.txt
12
+ src/jacobi_poly.egg-info/dependency_links.txt
13
+ src/jacobi_poly.egg-info/entry_points.txt
14
+ src/jacobi_poly.egg-info/requires.txt
15
+ src/jacobi_poly.egg-info/top_level.txt
16
+ tests/test_cli.py
17
+ tests/test_dunder_main.py
18
+ tests/test_main.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ jacobi-poly = jacobi_poly.cli:app
@@ -0,0 +1,2 @@
1
+ rich>=10
2
+ typer<1,>=0.15
@@ -0,0 +1 @@
1
+ jacobi_poly
@@ -0,0 +1,12 @@
1
+ from typer.testing import CliRunner
2
+
3
+ from jacobi_poly.cli import app
4
+
5
+ runner = CliRunner()
6
+
7
+
8
+ def test_help():
9
+ """The help message includes the CLI name."""
10
+ result = runner.invoke(app, ["--help"])
11
+ assert result.exit_code == 0
12
+ assert "Add the arguments and print the result" in result.stdout
@@ -0,0 +1,13 @@
1
+ import subprocess
2
+ import sys
3
+
4
+
5
+ def test_can_run_as_python_module():
6
+ """Run the CLI as a Python module."""
7
+ result = subprocess.run( # noqa: S603
8
+ [sys.executable, "-m", "jacobi_poly", "--help"],
9
+ check=True,
10
+ capture_output=True,
11
+ )
12
+ assert result.returncode == 0
13
+ assert b"jacobi-poly [OPTIONS]" in result.stdout
@@ -0,0 +1,6 @@
1
+ from jacobi_poly.main import add
2
+
3
+
4
+ def test_add():
5
+ """Adding two number works as expected."""
6
+ assert add(1, 1) == 2