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.
@@ -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
+ ![python versions](https://img.shields.io/badge/python-3.11%2C3.12%2C3.13-blue.svg) ![tests-badge](docs/images/tests-badge.svg) ![coverage-badge](docs/images/coverage-badge.svg)
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
@@ -0,0 +1,17 @@
1
+ ![python versions](https://img.shields.io/badge/python-3.11%2C3.12%2C3.13-blue.svg) ![tests-badge](docs/images/tests-badge.svg) ![coverage-badge](docs/images/coverage-badge.svg)
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"]