sunwhere 1.4.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.
- sunwhere-1.4.0/PKG-INFO +54 -0
- sunwhere-1.4.0/README.md +17 -0
- sunwhere-1.4.0/pyproject.toml +89 -0
- sunwhere-1.4.0/src/sunwhere/__init__.py +16 -0
- sunwhere-1.4.0/src/sunwhere/_base.py +788 -0
- sunwhere-1.4.0/src/sunwhere/_cli/__init__.py +0 -0
- sunwhere-1.4.0/src/sunwhere/_cli/benchmark.py +606 -0
- sunwhere-1.4.0/src/sunwhere/_cli/main.py +106 -0
- sunwhere-1.4.0/src/sunwhere/_cli/position.py +59 -0
- sunwhere-1.4.0/src/sunwhere/_cli/solar_chart.py +351 -0
- sunwhere-1.4.0/src/sunwhere/_core.py +206 -0
- sunwhere-1.4.0/src/sunwhere/libspa/__init__.py +0 -0
- sunwhere-1.4.0/src/sunwhere/libspa/ne_iqbal.py +295 -0
- sunwhere-1.4.0/src/sunwhere/libspa/ne_nrel.py +774 -0
- sunwhere-1.4.0/src/sunwhere/libspa/ne_psa.py +236 -0
- sunwhere-1.4.0/src/sunwhere/libspa/ne_soltrack.py +239 -0
- sunwhere-1.4.0/src/sunwhere/libspa/py_iqbal.py +288 -0
- sunwhere-1.4.0/src/sunwhere/libspa/py_psa.py +243 -0
- sunwhere-1.4.0/src/sunwhere/libspa/py_soltrack.py +268 -0
- sunwhere-1.4.0/src/sunwhere/usecases.py +512 -0
- sunwhere-1.4.0/src/sunwhere/utils/__init__.py +13 -0
- sunwhere-1.4.0/src/sunwhere/utils/datetime.py +40 -0
- sunwhere-1.4.0/src/sunwhere/utils/jpl_horizons.py +132 -0
- sunwhere-1.4.0/src/sunwhere/utils/validate.py +105 -0
sunwhere-1.4.0/PKG-INFO
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: sunwhere
|
|
3
|
+
Version: 1.4.0
|
|
4
|
+
Summary: Fast and accurate solar position calculations for solar resource assessment
|
|
5
|
+
Keywords: solar,sun position,solar geometry,solar resource
|
|
6
|
+
Author: Jose A Ruiz-Arias
|
|
7
|
+
Author-email: Jose A Ruiz-Arias <jararias@uma.es>
|
|
8
|
+
License: CC BY-NC-SA 4.0
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Natural Language :: English
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
19
|
+
Classifier: License :: Other/Proprietary License
|
|
20
|
+
Requires-Dist: loguru>=0.7.3
|
|
21
|
+
Requires-Dist: numexpr>=2.14.1
|
|
22
|
+
Requires-Dist: numpy>=2.4.4
|
|
23
|
+
Requires-Dist: pandas>=3.0.2
|
|
24
|
+
Requires-Dist: xarray>=2026.4.0
|
|
25
|
+
Requires-Dist: matplotlib>=3.10.9 ; extra == 'cli'
|
|
26
|
+
Requires-Dist: python-dateutil>=2.9.0.post0 ; extra == 'cli'
|
|
27
|
+
Requires-Dist: tabulate>=0.10.0 ; extra == 'cli'
|
|
28
|
+
Requires-Dist: tqdm>=4.67.3 ; extra == 'cli'
|
|
29
|
+
Requires-Dist: typer>=0.25.0 ; extra == 'cli'
|
|
30
|
+
Requires-Python: >=3.11
|
|
31
|
+
Project-URL: Homepage, https://github.com/jararias/sunwhere
|
|
32
|
+
Project-URL: Documentation, https://jararias.github.io/sunwhere
|
|
33
|
+
Project-URL: Repository, https://github.com/jararias/sunwhere
|
|
34
|
+
Project-URL: Issues, https://github.com/jararias/sunwhere/issues
|
|
35
|
+
Provides-Extra: cli
|
|
36
|
+
Description-Content-Type: text/markdown
|
|
37
|
+
|
|
38
|
+
  
|
|
39
|
+
|
|
40
|
+
# sunwhere. Solar position calculation for solar resource assessment
|
|
41
|
+
|
|
42
|
+
## Installation
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
pip install sunwhere
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Documentation
|
|
49
|
+
|
|
50
|
+
Visit the [documentation](https://jararias.github.io/sunwhere/) for detailed guides and API reference.
|
|
51
|
+
|
|
52
|
+
## License
|
|
53
|
+
|
|
54
|
+
CC BY-NC-SA 4.0
|
sunwhere-1.4.0/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
  
|
|
2
|
+
|
|
3
|
+
# sunwhere. Solar position calculation for solar resource assessment
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pip install sunwhere
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Documentation
|
|
12
|
+
|
|
13
|
+
Visit the [documentation](https://jararias.github.io/sunwhere/) for detailed guides and API reference.
|
|
14
|
+
|
|
15
|
+
## License
|
|
16
|
+
|
|
17
|
+
CC BY-NC-SA 4.0
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["uv_build"]
|
|
3
|
+
build-backend = "uv_build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "sunwhere"
|
|
7
|
+
version = "1.4.0"
|
|
8
|
+
description = "Fast and accurate solar position calculations for solar resource assessment"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
authors = [{name = "Jose A Ruiz-Arias", email = "jararias@uma.es"}]
|
|
12
|
+
license = {text = "CC BY-NC-SA 4.0"}
|
|
13
|
+
keywords = ["solar", "sun position", "solar geometry", "solar resource"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 4 - Beta",
|
|
16
|
+
"Natural Language :: English",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"Intended Audience :: Science/Research",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Programming Language :: Python :: 3.11",
|
|
21
|
+
"Programming Language :: Python :: 3.12",
|
|
22
|
+
"Programming Language :: Python :: 3.13",
|
|
23
|
+
"Topic :: Scientific/Engineering",
|
|
24
|
+
"Topic :: Scientific/Engineering :: Physics",
|
|
25
|
+
"License :: Other/Proprietary License",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
dependencies = [
|
|
29
|
+
"loguru>=0.7.3",
|
|
30
|
+
"numexpr>=2.14.1",
|
|
31
|
+
"numpy>=2.4.4",
|
|
32
|
+
"pandas>=3.0.2",
|
|
33
|
+
"xarray>=2026.4.0",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.urls]
|
|
37
|
+
Homepage = "https://github.com/jararias/sunwhere"
|
|
38
|
+
Documentation = "https://jararias.github.io/sunwhere"
|
|
39
|
+
Repository = "https://github.com/jararias/sunwhere"
|
|
40
|
+
Issues = "https://github.com/jararias/sunwhere/issues"
|
|
41
|
+
|
|
42
|
+
[dependency-groups]
|
|
43
|
+
# estas son las dependencias que se supone que solo los desarrolladores van a
|
|
44
|
+
# querer (posiblemente) instalar. Al menos el grupo dev se instala por defecto
|
|
45
|
+
# por uv cuando trabajamos en modo "editable"
|
|
46
|
+
# con uv hay que añadirlos como: uv add --dev <package1> <package 2> ...
|
|
47
|
+
dev = [
|
|
48
|
+
"cartopy>=0.25.0",
|
|
49
|
+
"coverage>=7.13.5",
|
|
50
|
+
"genbadge[tests]>=1.1.3",
|
|
51
|
+
"ipython>=9.13.0",
|
|
52
|
+
"mkdocstrings-python>=2.0.3",
|
|
53
|
+
"pvlib>=0.15.1",
|
|
54
|
+
"pytest>=9.0.3",
|
|
55
|
+
"pytest-allclose>=1.0.0",
|
|
56
|
+
"ruff>=0.15.12",
|
|
57
|
+
"seaborn>=0.13.2",
|
|
58
|
+
"solposx>=1.0.1",
|
|
59
|
+
"soltrack",
|
|
60
|
+
"tabulate>=0.10.0",
|
|
61
|
+
"tqdm>=4.67.3",
|
|
62
|
+
"urllib3>=2.7.0",
|
|
63
|
+
"zensical>=0.0.42",
|
|
64
|
+
]
|
|
65
|
+
|
|
66
|
+
[project.optional-dependencies]
|
|
67
|
+
# estas son dependencias que un usuario final de la libreria puede querer instalar.
|
|
68
|
+
# son las que se instalan como pip install libreria[opcion]
|
|
69
|
+
# con uv hay que añadirlas como: uv add --optional cli <package1> <package2> ...
|
|
70
|
+
cli = [
|
|
71
|
+
"matplotlib>=3.10.9",
|
|
72
|
+
"python-dateutil>=2.9.0.post0",
|
|
73
|
+
"tabulate>=0.10.0",
|
|
74
|
+
"tqdm>=4.67.3",
|
|
75
|
+
"typer>=0.25.0",
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
[tool.uv]
|
|
79
|
+
# Esto asegura que uv sepa cómo resolver la dependencia de Git
|
|
80
|
+
managed = true
|
|
81
|
+
|
|
82
|
+
[tool.uv.sources]
|
|
83
|
+
soltrack = { git = "https://github.com/jararias/soltrack" }
|
|
84
|
+
|
|
85
|
+
[project.scripts]
|
|
86
|
+
sunwhere = "sunwhere._cli.main:app"
|
|
87
|
+
|
|
88
|
+
[tool.coverage.run]
|
|
89
|
+
omit = ["sunwhere/utils/*"]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
import importlib.metadata
|
|
3
|
+
|
|
4
|
+
from .usecases import sites, regular_grid, transect
|
|
5
|
+
|
|
6
|
+
from ._core import __ALGORITHMS__
|
|
7
|
+
from .utils.datetime import universal_time_coordinated
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
__version__ = importlib.metadata.version("sunwhere")
|
|
11
|
+
except importlib.metadata.PackageNotFoundError:
|
|
12
|
+
__version__ = "0.0.0"
|
|
13
|
+
|
|
14
|
+
SPA_ALGORITHMS = tuple(__ALGORITHMS__.keys())
|
|
15
|
+
|
|
16
|
+
__all__ = ["sites", "regular_grid", "transect", "universal_time_coordinated", "__version__", "SPA_ALGORITHMS"]
|