furry-parakeet 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,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Christopher Hirata
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,85 @@
1
+ Metadata-Version: 2.4
2
+ Name: furry-parakeet
3
+ Version: 0.0.0
4
+ Author-email: Christopher Hirata <hirata.10@osu.edu>, Katherine Laliotis <laliotis.2@osu.edu>
5
+ License: MIT License
6
+
7
+ Copyright (c) 2024 Christopher Hirata
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Project-URL: Source Code, https://github.com/hirata10/furry-parakeet
28
+ Classifier: Development Status :: 4 - Beta
29
+ Classifier: License :: OSI Approved :: MIT License
30
+ Classifier: Intended Audience :: Developers
31
+ Classifier: Intended Audience :: Science/Research
32
+ Classifier: Operating System :: OS Independent
33
+ Classifier: Programming Language :: Python
34
+ Requires-Python: >=3.12
35
+ Description-Content-Type: text/x-rst
36
+ License-File: LICENSE
37
+ Provides-Extra: dev
38
+ Requires-Dist: jupyter; extra == "dev"
39
+ Requires-Dist: pre-commit; extra == "dev"
40
+ Requires-Dist: pytest; extra == "dev"
41
+ Requires-Dist: pytest-cov; extra == "dev"
42
+ Requires-Dist: ruff; extra == "dev"
43
+ Dynamic: license-file
44
+
45
+ .. image:: https://codecov.io/github/Roman-HLIS-Cosmology-PIT/furry-parakeet/graph/badge.svg?token=K33BI5YAKV
46
+
47
+ furry-parakeet: C kernels and wrappers for image combination
48
+ ############################################################
49
+
50
+ This repository contains the linear algebra and interpolation kernels used by `PyIMCOM <https://github.com/Roman-HLIS-Cosmology-PIT/pyimcom>`_.
51
+
52
+ Installation
53
+ ============
54
+
55
+ You should be able to pip install by going to the ``furry-parakeet`` directory and running::
56
+
57
+ pip install .
58
+
59
+ This uses the Numpy/C API. If you want to adjust the default settings for C compilers, you can edit ``setup.py`` (for example: openmp is enabled by default).
60
+
61
+ Legacy versions
62
+ ===============
63
+
64
+ Previous versions of ``furry-parakeet`` installed each file as a python module, so you would import with ``import pyimcom_croutines``. You would now write ``from furry_parakeet import pyimcom_croutines``. You can make code that would be compatible with either using::
65
+
66
+ try:
67
+ from furry_parakeet import pyimcom_croutines
68
+ except ImportError:
69
+ import pyimcom_croutines
70
+
71
+ Helpful information
72
+ ===================
73
+
74
+ There are `interface instructions <docs/interface_instructions.rst>`_ if you are interested in how ``furry-parakeet`` can interface with other tools in the Roman ecosystem.
75
+
76
+ You can also look at the `readthedocs page <https://furry-parakeet.readthedocs.io/en/latest/>`_ for the Python routines, and the `C routines page <docs/croutines.rst>`_ for the C routines that are wrapped into Python.
77
+
78
+ Links
79
+ =====
80
+
81
+ Some useful links include:
82
+
83
+ * `Hirata et al. (2024) <https://arxiv.org/abs/2303.08749>`_ describes the D5512 interpolator. The tables in Appendix A are available in machine-readable form `here <docs/Tables_A2A3.txt>`_.
84
+
85
+ * `Cao et al. (2025) <https://arxiv.org/abs/2410.05442>`_ describes the various linear algebra kernels.
@@ -0,0 +1,41 @@
1
+ .. image:: https://codecov.io/github/Roman-HLIS-Cosmology-PIT/furry-parakeet/graph/badge.svg?token=K33BI5YAKV
2
+
3
+ furry-parakeet: C kernels and wrappers for image combination
4
+ ############################################################
5
+
6
+ This repository contains the linear algebra and interpolation kernels used by `PyIMCOM <https://github.com/Roman-HLIS-Cosmology-PIT/pyimcom>`_.
7
+
8
+ Installation
9
+ ============
10
+
11
+ You should be able to pip install by going to the ``furry-parakeet`` directory and running::
12
+
13
+ pip install .
14
+
15
+ This uses the Numpy/C API. If you want to adjust the default settings for C compilers, you can edit ``setup.py`` (for example: openmp is enabled by default).
16
+
17
+ Legacy versions
18
+ ===============
19
+
20
+ Previous versions of ``furry-parakeet`` installed each file as a python module, so you would import with ``import pyimcom_croutines``. You would now write ``from furry_parakeet import pyimcom_croutines``. You can make code that would be compatible with either using::
21
+
22
+ try:
23
+ from furry_parakeet import pyimcom_croutines
24
+ except ImportError:
25
+ import pyimcom_croutines
26
+
27
+ Helpful information
28
+ ===================
29
+
30
+ There are `interface instructions <docs/interface_instructions.rst>`_ if you are interested in how ``furry-parakeet`` can interface with other tools in the Roman ecosystem.
31
+
32
+ You can also look at the `readthedocs page <https://furry-parakeet.readthedocs.io/en/latest/>`_ for the Python routines, and the `C routines page <docs/croutines.rst>`_ for the C routines that are wrapped into Python.
33
+
34
+ Links
35
+ =====
36
+
37
+ Some useful links include:
38
+
39
+ * `Hirata et al. (2024) <https://arxiv.org/abs/2303.08749>`_ describes the D5512 interpolator. The tables in Appendix A are available in machine-readable form `here <docs/Tables_A2A3.txt>`_.
40
+
41
+ * `Cao et al. (2025) <https://arxiv.org/abs/2410.05442>`_ describes the various linear algebra kernels.
@@ -0,0 +1,108 @@
1
+
2
+ [project]
3
+ name = "furry-parakeet"
4
+ license = {file = "LICENSE"}
5
+ readme = "README.rst"
6
+ authors = [
7
+ { name = "Christopher Hirata", email = "hirata.10@osu.edu" },
8
+ { name = "Katherine Laliotis", email = "laliotis.2@osu.edu" }
9
+ ]
10
+ classifiers = [
11
+ "Development Status :: 4 - Beta",
12
+ "License :: OSI Approved :: MIT License",
13
+ "Intended Audience :: Developers",
14
+ "Intended Audience :: Science/Research",
15
+ "Operating System :: OS Independent",
16
+ "Programming Language :: Python",
17
+ ]
18
+ dynamic = ["version"]
19
+ requires-python = ">=3.12"
20
+
21
+ [tool.setuptools.dynamic]
22
+ dependencies = { file = "requirements.txt" }
23
+
24
+ [project.urls]
25
+ "Source Code" = "https://github.com/hirata10/furry-parakeet"
26
+ # will move this
27
+
28
+ # On a mac, install optional dependencies with `pip install '.[dev]'` (include the single quotes)
29
+ [project.optional-dependencies]
30
+ dev = [
31
+ "jupyter", # Clears output from Jupyter notebooks
32
+ "pre-commit", # Used to run checks before finalizing a git commit
33
+ "pytest",
34
+ "pytest-cov", # Used to report total code coverage
35
+ "ruff", # Used for static linting of files
36
+ ]
37
+
38
+ [build-system]
39
+ requires = [
40
+ "numpy",
41
+ "scipy",
42
+ "astropy",
43
+ "setuptools>=62", # Used to build and package the Python project
44
+ "setuptools_scm>=6.2", # Gets release version from git. Makes it available programmatically
45
+ ]
46
+ build-backend = "setuptools.build_meta"
47
+
48
+ [tool.setuptools_scm]
49
+ version_file = "src/furry_parakeet/_version.py"
50
+ version_scheme = "guess-next-dev"
51
+ local_scheme = "no-local-version"
52
+
53
+ [tool.pytest.ini_options]
54
+ testpaths = [
55
+ "tests",
56
+ "src",
57
+ "docs",
58
+ ]
59
+ addopts = "--doctest-modules --doctest-glob=*.rst"
60
+
61
+ [tool.ruff]
62
+ line-length = 110
63
+ target-version = "py311"
64
+ [tool.ruff.lint]
65
+ select = [
66
+ # pycodestyle
67
+ "E",
68
+ "W",
69
+ # Pyflakes
70
+ "F",
71
+ # pep8-naming
72
+ "N",
73
+ # pyupgrade
74
+ "UP",
75
+ # flake8-bugbear
76
+ "B",
77
+ # flake8-simplify
78
+ "SIM",
79
+ # isort
80
+ "I",
81
+ # docstrings
82
+ "D101",
83
+ "D102",
84
+ "D103",
85
+ "D106",
86
+ "D206",
87
+ "D207",
88
+ "D208",
89
+ "D300",
90
+ "D417",
91
+ "D419",
92
+ # Numpy v2.0 compatibility
93
+ "NPY201",
94
+ ]
95
+ ignore = [
96
+ "UP006", # Allow non standard library generics in type hints
97
+ "UP007", # Allow Union in type hints
98
+ "SIM114", # Allow if with same arms
99
+ "B028", # Allow default warning level
100
+ "SIM117", # Allow nested with
101
+ "UP015", # Allow redundant open parameters
102
+ "UP028", # Allow yield in for loop
103
+ "N801", "N802", "N803", "N806", # Allow general names
104
+ ]
105
+
106
+
107
+ [tool.coverage.run]
108
+ omit=["src/furry_parakeet/_version.py"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,22 @@
1
+ # setup script for pyimcom_croutines
2
+
3
+
4
+ import numpy as np
5
+ from setuptools import Extension, setup
6
+
7
+ # C routines
8
+ ec = ["-fopenmp", "-O2"]
9
+ el = ["-fopenmp"]
10
+
11
+ setup(
12
+ name="furry_parakeet",
13
+ ext_modules=[
14
+ Extension(
15
+ "furry_parakeet.pyimcom_croutines",
16
+ sources=["src/furry_parakeet/pyimcom_croutines.c"],
17
+ include_dirs=[np.get_include()],
18
+ extra_compile_args=ec,
19
+ extra_link_args=el,
20
+ )
21
+ ],
22
+ )
@@ -0,0 +1 @@
1
+ from ._version import __version__ # noqa: F401