quasar-errors 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.
- quasar_errors-0.1.0/PKG-INFO +26 -0
- quasar_errors-0.1.0/pyproject.toml +54 -0
- quasar_errors-0.1.0/setup.cfg +4 -0
- quasar_errors-0.1.0/setup.py +19 -0
- quasar_errors-0.1.0/src/quasar_errors/__init__.py +0 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/__init__.py +22 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/__init__.py +30 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/base_analyser.py +854 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/discrete_analyser.py +686 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/distribution_analyser.py +268 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/gof_analyser.py +166 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/integral_analyser.py +420 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/moments_analyser.py +787 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/quantiles_analyser.py +559 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/discretised_coords.py +9 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/hyperparams.py +13 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/inner.py +87 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/measure_result.py +363 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/metadata.py +78 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/moment_params.py +88 -0
- quasar_errors-0.1.0/src/quasar_errors/analysis/spectrum_inner.py +436 -0
- quasar_errors-0.1.0/src/quasar_errors/bootstrapping/__init__.py +26 -0
- quasar_errors-0.1.0/src/quasar_errors/bootstrapping/base_bootstrapper.py +517 -0
- quasar_errors-0.1.0/src/quasar_errors/bootstrapping/helpers.py +210 -0
- quasar_errors-0.1.0/src/quasar_errors/bootstrapping/hyperparams.py +16 -0
- quasar_errors-0.1.0/src/quasar_errors/bootstrapping/mapped_func.py +137 -0
- quasar_errors-0.1.0/src/quasar_errors/error_result/__init__.py +19 -0
- quasar_errors-0.1.0/src/quasar_errors/error_result/error_result.py +164 -0
- quasar_errors-0.1.0/src/quasar_errors/error_result/error_result_builder.py +75 -0
- quasar_errors-0.1.0/src/quasar_errors/measures/__init__.py +7 -0
- quasar_errors-0.1.0/src/quasar_errors/measures/approx/__init__.py +200 -0
- quasar_errors-0.1.0/src/quasar_errors/measures/approx/_approx.py +236 -0
- quasar_errors-0.1.0/src/quasar_errors/measures/approx/approx.c +29673 -0
- quasar_errors-0.1.0/src/quasar_errors/measures/exact.py +243 -0
- quasar_errors-0.1.0/src/quasar_errors/measures/utils.py +84 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/__init__.py +27 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/balmer/__init__.py +4 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/balmer/balmer_sample.py +119 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/continuum/__init__.py +5 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/continuum/powerlaw_sample.py +87 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/continuum/powerlaw_sample_list.py +44 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/host/__init__.py +3 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/host/host_sample.py +111 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/iron/__init__.py +7 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/iron/iron_sample.py +121 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/iron/iron_sample_list.py +43 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/line/__init__.py +7 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/line/gaussian_sample.py +367 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/line/gaussian_sample_list.py +247 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/line/utils.py +29 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/sample.py +326 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/utils/base_sample.py +28 -0
- quasar_errors-0.1.0/src/quasar_errors/model_samples/utils/base_sample_list.py +57 -0
- quasar_errors-0.1.0/src/quasar_errors/nested_sampling/__init__.py +16 -0
- quasar_errors-0.1.0/src/quasar_errors/nested_sampling/base_nested_sampler.py +465 -0
- quasar_errors-0.1.0/src/quasar_errors/nested_sampling/loss_functions/chi2.py +23 -0
- quasar_errors-0.1.0/src/quasar_errors/nested_sampling/prior_transforms/uniform.py +11 -0
- quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/__init__.py +15 -0
- quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/format_bootstrapping_kwargs_for_lwindow.py +236 -0
- quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/format_bootstrapping_kwargs_for_spectrum.py +212 -0
- quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/format_nested_sampling_kwargs_for_spectrum.py +121 -0
- quasar_errors-0.1.0/src/quasar_errors.egg-info/PKG-INFO +26 -0
- quasar_errors-0.1.0/src/quasar_errors.egg-info/SOURCES.txt +64 -0
- quasar_errors-0.1.0/src/quasar_errors.egg-info/dependency_links.txt +1 -0
- quasar_errors-0.1.0/src/quasar_errors.egg-info/requires.txt +16 -0
- quasar_errors-0.1.0/src/quasar_errors.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: quasar-errors
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Author-email: Liam <liam_deburca@me.com>
|
|
5
|
+
Project-URL: Homepage, https://github.com/liamdeburca/quasar-errors
|
|
6
|
+
Project-URL: Repository, https://github.com/liamdeburca/quasar-errors.git
|
|
7
|
+
Project-URL: Bug Tracker, https://github.com/liamdeburca/quasar-errors/issues
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
10
|
+
Requires-Python: >=3.12
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
Requires-Dist: quasar-typing==0.1.0
|
|
13
|
+
Requires-Dist: quasar-models==0.1.0
|
|
14
|
+
Requires-Dist: quasar-utils==0.1.0
|
|
15
|
+
Requires-Dist: pydantic==2.12
|
|
16
|
+
Requires-Dist: astropy==7.0
|
|
17
|
+
Requires-Dist: numpy==1.26
|
|
18
|
+
Requires-Dist: scipy==1.16
|
|
19
|
+
Requires-Dist: lazy-imports==1.2.0
|
|
20
|
+
Provides-Extra: dev
|
|
21
|
+
Requires-Dist: pytest==9.1.1; extra == "dev"
|
|
22
|
+
Requires-Dist: pytest-cov==7.1.0; extra == "dev"
|
|
23
|
+
Requires-Dist: black==26.10.1; extra == "dev"
|
|
24
|
+
Requires-Dist: isort==9.0.2; extra == "dev"
|
|
25
|
+
Requires-Dist: uncertainties==3.2.3; extra == "dev"
|
|
26
|
+
Requires-Dist: numba==0.62.1; extra == "dev"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [
|
|
3
|
+
"wheel",
|
|
4
|
+
"setuptools==72.1.0",
|
|
5
|
+
"Cython==3.0.12",
|
|
6
|
+
"numpy==1.26",
|
|
7
|
+
]
|
|
8
|
+
build-backend = "setuptools.build_meta"
|
|
9
|
+
|
|
10
|
+
[project]
|
|
11
|
+
name = "quasar-errors"
|
|
12
|
+
authors = [{name = "Liam", email = "liam_deburca@me.com"}]
|
|
13
|
+
version = "0.1.0"
|
|
14
|
+
readme = "README.md"
|
|
15
|
+
requires-python = ">=3.12"
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
19
|
+
]
|
|
20
|
+
dependencies = [
|
|
21
|
+
"quasar-typing==0.1.0",
|
|
22
|
+
"quasar-models==0.1.0",
|
|
23
|
+
"quasar-utils==0.1.0",
|
|
24
|
+
|
|
25
|
+
"pydantic==2.12",
|
|
26
|
+
"astropy==7.0",
|
|
27
|
+
"numpy==1.26",
|
|
28
|
+
"scipy==1.16",
|
|
29
|
+
"lazy-imports==1.2.0",
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
[project.optional-dependencies]
|
|
33
|
+
dev = [
|
|
34
|
+
"pytest==9.1.1",
|
|
35
|
+
"pytest-cov==7.1.0",
|
|
36
|
+
"black==26.10.1",
|
|
37
|
+
"isort==9.0.2",
|
|
38
|
+
"uncertainties==3.2.3",
|
|
39
|
+
"numba==0.62.1",
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
[project.urls]
|
|
43
|
+
Homepage = "https://github.com/liamdeburca/quasar-errors"
|
|
44
|
+
Repository = "https://github.com/liamdeburca/quasar-errors.git"
|
|
45
|
+
"Bug Tracker" = "https://github.com/liamdeburca/quasar-errors/issues"
|
|
46
|
+
|
|
47
|
+
[tool.setuptools.packages.find]
|
|
48
|
+
where = ["src"]
|
|
49
|
+
|
|
50
|
+
[tool.ruff]
|
|
51
|
+
line-length = 79
|
|
52
|
+
|
|
53
|
+
[lint.pyupgrade]
|
|
54
|
+
keep-runtime-typing = true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
from Cython.Build import cythonize
|
|
3
|
+
from numpy import get_include
|
|
4
|
+
|
|
5
|
+
setup(
|
|
6
|
+
name="quasar_errors",
|
|
7
|
+
packages=find_packages(where="src"),
|
|
8
|
+
package_dir={"": "src"},
|
|
9
|
+
ext_modules=cythonize(
|
|
10
|
+
["src/quasar_errors/measures/approx/approx.pyx"],
|
|
11
|
+
language_level="3",
|
|
12
|
+
compiler_directives={
|
|
13
|
+
"boundscheck": False,
|
|
14
|
+
"wraparound": False,
|
|
15
|
+
"cdivision": True,
|
|
16
|
+
},
|
|
17
|
+
),
|
|
18
|
+
include_dirs=[get_include()],
|
|
19
|
+
)
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
from typing import TYPE_CHECKING
|
|
3
|
+
|
|
4
|
+
from lazy_imports import LazyImporter
|
|
5
|
+
|
|
6
|
+
_import_structure: dict[str, list[str]] = {
|
|
7
|
+
"analyser": ["Analyser"],
|
|
8
|
+
"measure_result": ["FrozenMeasureResult", "MeasureResult"],
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from .analyser import Analyser # noqa: F401
|
|
13
|
+
from .measure_result import ( # noqa: F401
|
|
14
|
+
FrozenMeasureResult,
|
|
15
|
+
MeasureResult,
|
|
16
|
+
)
|
|
17
|
+
else:
|
|
18
|
+
sys.modules[__name__] = LazyImporter(
|
|
19
|
+
__name__,
|
|
20
|
+
__file__,
|
|
21
|
+
_import_structure,
|
|
22
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from pydantic.dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from .discrete_analyser import DiscreteAnalyser
|
|
4
|
+
from .distribution_analyser import DistributionAnalyser
|
|
5
|
+
from .gof_analyser import GoFAnalyser
|
|
6
|
+
from .integral_analyser import IntegralAnalyser
|
|
7
|
+
from .moments_analyser import MomentsAnalyser
|
|
8
|
+
from .quantiles_analyser import QuantilesAnalyser
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass
|
|
12
|
+
class Analyser(
|
|
13
|
+
DiscreteAnalyser,
|
|
14
|
+
DistributionAnalyser,
|
|
15
|
+
IntegralAnalyser,
|
|
16
|
+
MomentsAnalyser,
|
|
17
|
+
QuantilesAnalyser,
|
|
18
|
+
GoFAnalyser,
|
|
19
|
+
):
|
|
20
|
+
"""
|
|
21
|
+
Analyser class that combines the functionalities of:
|
|
22
|
+
- `DiscreteAnalyser`
|
|
23
|
+
- `DistributionAnalyser`
|
|
24
|
+
- `IntegralAnalyser`
|
|
25
|
+
- `MomentsAnalyser`
|
|
26
|
+
- `QuantilesAnalyser`
|
|
27
|
+
- `GoFAnalyser`
|
|
28
|
+
"""
|
|
29
|
+
def __hash__(self) -> int:
|
|
30
|
+
return hash(self.__tuple__())
|