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.
Files changed (66) hide show
  1. quasar_errors-0.1.0/PKG-INFO +26 -0
  2. quasar_errors-0.1.0/pyproject.toml +54 -0
  3. quasar_errors-0.1.0/setup.cfg +4 -0
  4. quasar_errors-0.1.0/setup.py +19 -0
  5. quasar_errors-0.1.0/src/quasar_errors/__init__.py +0 -0
  6. quasar_errors-0.1.0/src/quasar_errors/analysis/__init__.py +22 -0
  7. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/__init__.py +30 -0
  8. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/base_analyser.py +854 -0
  9. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/discrete_analyser.py +686 -0
  10. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/distribution_analyser.py +268 -0
  11. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/gof_analyser.py +166 -0
  12. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/integral_analyser.py +420 -0
  13. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/moments_analyser.py +787 -0
  14. quasar_errors-0.1.0/src/quasar_errors/analysis/analyser/quantiles_analyser.py +559 -0
  15. quasar_errors-0.1.0/src/quasar_errors/analysis/discretised_coords.py +9 -0
  16. quasar_errors-0.1.0/src/quasar_errors/analysis/hyperparams.py +13 -0
  17. quasar_errors-0.1.0/src/quasar_errors/analysis/inner.py +87 -0
  18. quasar_errors-0.1.0/src/quasar_errors/analysis/measure_result.py +363 -0
  19. quasar_errors-0.1.0/src/quasar_errors/analysis/metadata.py +78 -0
  20. quasar_errors-0.1.0/src/quasar_errors/analysis/moment_params.py +88 -0
  21. quasar_errors-0.1.0/src/quasar_errors/analysis/spectrum_inner.py +436 -0
  22. quasar_errors-0.1.0/src/quasar_errors/bootstrapping/__init__.py +26 -0
  23. quasar_errors-0.1.0/src/quasar_errors/bootstrapping/base_bootstrapper.py +517 -0
  24. quasar_errors-0.1.0/src/quasar_errors/bootstrapping/helpers.py +210 -0
  25. quasar_errors-0.1.0/src/quasar_errors/bootstrapping/hyperparams.py +16 -0
  26. quasar_errors-0.1.0/src/quasar_errors/bootstrapping/mapped_func.py +137 -0
  27. quasar_errors-0.1.0/src/quasar_errors/error_result/__init__.py +19 -0
  28. quasar_errors-0.1.0/src/quasar_errors/error_result/error_result.py +164 -0
  29. quasar_errors-0.1.0/src/quasar_errors/error_result/error_result_builder.py +75 -0
  30. quasar_errors-0.1.0/src/quasar_errors/measures/__init__.py +7 -0
  31. quasar_errors-0.1.0/src/quasar_errors/measures/approx/__init__.py +200 -0
  32. quasar_errors-0.1.0/src/quasar_errors/measures/approx/_approx.py +236 -0
  33. quasar_errors-0.1.0/src/quasar_errors/measures/approx/approx.c +29673 -0
  34. quasar_errors-0.1.0/src/quasar_errors/measures/exact.py +243 -0
  35. quasar_errors-0.1.0/src/quasar_errors/measures/utils.py +84 -0
  36. quasar_errors-0.1.0/src/quasar_errors/model_samples/__init__.py +27 -0
  37. quasar_errors-0.1.0/src/quasar_errors/model_samples/balmer/__init__.py +4 -0
  38. quasar_errors-0.1.0/src/quasar_errors/model_samples/balmer/balmer_sample.py +119 -0
  39. quasar_errors-0.1.0/src/quasar_errors/model_samples/continuum/__init__.py +5 -0
  40. quasar_errors-0.1.0/src/quasar_errors/model_samples/continuum/powerlaw_sample.py +87 -0
  41. quasar_errors-0.1.0/src/quasar_errors/model_samples/continuum/powerlaw_sample_list.py +44 -0
  42. quasar_errors-0.1.0/src/quasar_errors/model_samples/host/__init__.py +3 -0
  43. quasar_errors-0.1.0/src/quasar_errors/model_samples/host/host_sample.py +111 -0
  44. quasar_errors-0.1.0/src/quasar_errors/model_samples/iron/__init__.py +7 -0
  45. quasar_errors-0.1.0/src/quasar_errors/model_samples/iron/iron_sample.py +121 -0
  46. quasar_errors-0.1.0/src/quasar_errors/model_samples/iron/iron_sample_list.py +43 -0
  47. quasar_errors-0.1.0/src/quasar_errors/model_samples/line/__init__.py +7 -0
  48. quasar_errors-0.1.0/src/quasar_errors/model_samples/line/gaussian_sample.py +367 -0
  49. quasar_errors-0.1.0/src/quasar_errors/model_samples/line/gaussian_sample_list.py +247 -0
  50. quasar_errors-0.1.0/src/quasar_errors/model_samples/line/utils.py +29 -0
  51. quasar_errors-0.1.0/src/quasar_errors/model_samples/sample.py +326 -0
  52. quasar_errors-0.1.0/src/quasar_errors/model_samples/utils/base_sample.py +28 -0
  53. quasar_errors-0.1.0/src/quasar_errors/model_samples/utils/base_sample_list.py +57 -0
  54. quasar_errors-0.1.0/src/quasar_errors/nested_sampling/__init__.py +16 -0
  55. quasar_errors-0.1.0/src/quasar_errors/nested_sampling/base_nested_sampler.py +465 -0
  56. quasar_errors-0.1.0/src/quasar_errors/nested_sampling/loss_functions/chi2.py +23 -0
  57. quasar_errors-0.1.0/src/quasar_errors/nested_sampling/prior_transforms/uniform.py +11 -0
  58. quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/__init__.py +15 -0
  59. quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/format_bootstrapping_kwargs_for_lwindow.py +236 -0
  60. quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/format_bootstrapping_kwargs_for_spectrum.py +212 -0
  61. quasar_errors-0.1.0/src/quasar_errors/spectrum_utils/format_nested_sampling_kwargs_for_spectrum.py +121 -0
  62. quasar_errors-0.1.0/src/quasar_errors.egg-info/PKG-INFO +26 -0
  63. quasar_errors-0.1.0/src/quasar_errors.egg-info/SOURCES.txt +64 -0
  64. quasar_errors-0.1.0/src/quasar_errors.egg-info/dependency_links.txt +1 -0
  65. quasar_errors-0.1.0/src/quasar_errors.egg-info/requires.txt +16 -0
  66. 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,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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__())