pastastore 1.10.2__tar.gz → 1.12.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 (38) hide show
  1. {pastastore-1.10.2 → pastastore-1.12.0}/PKG-INFO +17 -11
  2. {pastastore-1.10.2 → pastastore-1.12.0}/docs/conf.py +10 -97
  3. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/__init__.py +5 -1
  4. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/base.py +875 -272
  5. pastastore-1.12.0/pastastore/connectors.py +1000 -0
  6. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/datasets.py +23 -33
  7. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/extensions/__init__.py +7 -3
  8. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/extensions/hpd.py +39 -17
  9. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/plotting.py +71 -38
  10. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/store.py +205 -186
  11. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/styling.py +4 -2
  12. pastastore-1.12.0/pastastore/typing.py +12 -0
  13. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/util.py +322 -88
  14. pastastore-1.12.0/pastastore/validator.py +524 -0
  15. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/version.py +2 -3
  16. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/yaml_interface.py +37 -39
  17. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore.egg-info/PKG-INFO +17 -11
  18. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore.egg-info/SOURCES.txt +4 -1
  19. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore.egg-info/requires.txt +7 -4
  20. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore.egg-info/top_level.txt +0 -1
  21. {pastastore-1.10.2 → pastastore-1.12.0}/pyproject.toml +9 -6
  22. {pastastore-1.10.2 → pastastore-1.12.0}/readme.md +7 -3
  23. pastastore-1.12.0/tests/conftest.py +262 -0
  24. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_001_import.py +2 -1
  25. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_002_connectors.py +40 -3
  26. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_003_pastastore.py +60 -29
  27. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_005_maps_plots.py +12 -0
  28. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_006_benchmark.py +1 -1
  29. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_007_hpdextension.py +46 -8
  30. pastastore-1.12.0/tests/test_009_parallel.py +393 -0
  31. pastastore-1.10.2/pastastore/connectors.py +0 -1457
  32. pastastore-1.10.2/tests/conftest.py +0 -165
  33. {pastastore-1.10.2 → pastastore-1.12.0}/LICENSE +0 -0
  34. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore/extensions/accessor.py +0 -0
  35. {pastastore-1.10.2 → pastastore-1.12.0}/pastastore.egg-info/dependency_links.txt +0 -0
  36. {pastastore-1.10.2 → pastastore-1.12.0}/setup.cfg +0 -0
  37. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_004_yaml.py +0 -0
  38. {pastastore-1.10.2 → pastastore-1.12.0}/tests/test_008_stressmodels.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pastastore
3
- Version: 1.10.2
3
+ Version: 1.12.0
4
4
  Summary: Tools for managing Pastas time series models.
5
5
  Author: D.A. Brakenhoff
6
6
  Maintainer-email: "D.A. Brakenhoff" <d.brakenhoff@artesia-water.nl>, "R. Calje" <r.calje@artesia-water.nl>, "M.A. Vonk" <m.vonk@artesia-water.nl>
@@ -46,12 +46,14 @@ Classifier: Programming Language :: Python :: 3.12
46
46
  Classifier: Programming Language :: Python :: 3.13
47
47
  Classifier: Programming Language :: Python :: 3 :: Only
48
48
  Classifier: Topic :: Scientific/Engineering :: Hydrology
49
- Requires-Python: >=3.10
49
+ Requires-Python: >=3.11
50
50
  Description-Content-Type: text/markdown
51
51
  License-File: LICENSE
52
52
  Requires-Dist: pastas>=0.13
53
53
  Requires-Dist: tqdm>=4.36
54
54
  Requires-Dist: pyyaml
55
+ Requires-Dist: colorama
56
+ Requires-Dist: pandas<3.0
55
57
  Provides-Extra: full
56
58
  Requires-Dist: pastastore[arcticdb,optional]; extra == "full"
57
59
  Requires-Dist: hydropandas; extra == "full"
@@ -63,7 +65,6 @@ Requires-Dist: pyproj; extra == "optional"
63
65
  Requires-Dist: adjustText; extra == "optional"
64
66
  Provides-Extra: arcticdb
65
67
  Requires-Dist: arcticdb; extra == "arcticdb"
66
- Requires-Dist: protobuf<6,>=3.5.0.post1; extra == "arcticdb"
67
68
  Provides-Extra: lint
68
69
  Requires-Dist: ruff; extra == "lint"
69
70
  Provides-Extra: pytest
@@ -74,16 +75,17 @@ Requires-Dist: pytest-cov; extra == "pytest"
74
75
  Requires-Dist: pytest-dependency; extra == "pytest"
75
76
  Requires-Dist: pytest-benchmark; extra == "pytest"
76
77
  Requires-Dist: codacy-coverage; extra == "pytest"
77
- Provides-Extra: test
78
- Requires-Dist: pastastore[arcticdb,lint,optional,pytest]; extra == "test"
79
- Requires-Dist: hydropandas[full]; extra == "test"
80
78
  Provides-Extra: docs
81
79
  Requires-Dist: pastastore[optional]; extra == "docs"
82
80
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
83
81
  Requires-Dist: Ipython; extra == "docs"
84
82
  Requires-Dist: ipykernel; extra == "docs"
85
- Requires-Dist: nbsphinx; extra == "docs"
86
- Requires-Dist: nbsphinx_link; extra == "docs"
83
+ Requires-Dist: myst_nb; extra == "docs"
84
+ Provides-Extra: test
85
+ Requires-Dist: pastastore[arcticdb,optional,pytest]; extra == "test"
86
+ Requires-Dist: hydropandas[full]; extra == "test"
87
+ Provides-Extra: dev
88
+ Requires-Dist: pastastore[docs,lint,test]; extra == "dev"
87
89
  Dynamic: license-file
88
90
 
89
91
  ![pastastore](https://github.com/pastas/pastastore/workflows/pastastore/badge.svg)
@@ -106,8 +108,12 @@ left off without having to reload everything.
106
108
 
107
109
  Install the module with `pip install pastastore`.
108
110
 
109
- For installing in development mode, clone the repository and install by typing
110
- `pip install -e .` from the module root directory.
111
+ For development, clone the repository and install all development, testing, and
112
+ documentation dependencies with:
113
+
114
+ ```sh
115
+ pip install -e .[dev]
116
+ ```
111
117
 
112
118
  For plotting background maps, the `contextily` and `pyproj` packages are
113
119
  required. For a full install, including optional dependencies for plotting and
@@ -180,4 +186,4 @@ pstore.to_zip("my_backup.zip")
180
186
  ```
181
187
 
182
188
  For more elaborate examples, refer to the
183
- [Notebooks](https://pastastore.readthedocs.io/latest/examples.html#example-notebooks).
189
+ [Notebooks](https://pastastore.readthedocs.io/en/latest/examples.html#example-notebooks).
@@ -53,8 +53,7 @@ extensions = [
53
53
  "sphinx.ext.viewcode",
54
54
  "IPython.sphinxext.ipython_console_highlighting", # lowercase didn't work
55
55
  "sphinx.ext.autosectionlabel",
56
- "nbsphinx",
57
- "nbsphinx_link",
56
+ "myst_nb",
58
57
  ]
59
58
 
60
59
  # Add any paths that contain templates here, relative to this directory.
@@ -114,102 +113,16 @@ html_theme_options = {
114
113
  # Add any paths that contain custom static files (such as style sheets) here,
115
114
  # relative to this directory. They are copied after the builtin static files,
116
115
  # so a file named "default.css" will overwrite the builtin "default.css".
117
- html_static_path = ["_static"]
116
+ # html_static_path = ["_static"]
118
117
 
119
- # Custom sidebar templates, must be a dictionary that maps document names
120
- # to template names.
121
- #
122
- # The default sidebars (for documents that don't match any pattern) are
123
- # defined by theme itself. Builtin themes are using these templates by
124
- # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
125
- # 'searchbox.html']``.
126
- #
127
- # html_sidebars = {}
128
-
129
- # -- Options for HTMLHelp output ---------------------------------------------
130
-
131
- # Output file base name for HTML help builder.
132
- htmlhelp_basename = "pastastoredoc"
133
-
134
-
135
- # -- Options for LaTeX output ------------------------------------------------
136
-
137
- latex_elements = {
138
- # The paper size ('letterpaper' or 'a4paper').
139
- #
140
- # 'papersize': 'letterpaper',
141
- # The font size ('10pt', '11pt' or '12pt').
142
- #
143
- # 'pointsize': '10pt',
144
- # Additional stuff for the LaTeX preamble.
145
- #
146
- "preamble": r"""\makeatletter
147
- \def\UTFviii@defined#1{%
148
- \ifx#1\relax
149
- -%
150
- \else\expandafter
151
- #1%
152
- \fi
153
- }
154
-
155
- \makeatother""",
156
- # Latex figure (float) alignment
157
- #
158
- # 'figure_align': 'htbp',
159
- }
160
-
161
- # Grouping the document tree into LaTeX files. List of tuples
162
- # (source start file, target name, title,
163
- # author, documentclass [howto, manual, or own class]).
164
- latex_documents = [
165
- (
166
- master_doc,
167
- "pastastore.tex",
168
- "pastastore Documentation",
169
- "D.A. Brakenhoff",
170
- "manual",
171
- ),
172
- ]
173
-
174
-
175
- # -- Options for manual page output ------------------------------------------
176
-
177
- # One entry per manual page. List of tuples
178
- # (source start file, name, description, authors, manual section).
179
- man_pages = [(master_doc, "pastastore", "pastastore Documentation", [author], 1)]
180
118
 
119
+ # -- myst_nb options ------------------------------------------------------------------
181
120
 
182
- # -- Options for Texinfo output ----------------------------------------------
183
-
184
- # Grouping the document tree into Texinfo files. List of tuples
185
- # (source start file, target name, title, author,
186
- # dir menu entry, description, category)
187
- texinfo_documents = [
188
- (
189
- master_doc,
190
- "pastastore",
191
- "pastastore Documentation",
192
- author,
193
- "pastastore",
194
- "Tools for managing time series and Pastas models",
195
- "Miscellaneous",
196
- ),
197
- ]
198
-
199
-
200
- # -- Options for Epub output -------------------------------------------------
201
-
202
- # Bibliographic Dublin Core info.
203
- epub_title = project
204
-
205
- # The unique identifier of the text. This can be a ISBN number
206
- # or the project homepage.
207
- #
208
- # epub_identifier = ''
209
-
210
- # A unique identification for the text.
211
- #
212
- # epub_uid = ''
121
+ nb_execution_allow_errors = True # Allow errors in notebooks, to see the error online
122
+ nb_execution_mode = "off"
123
+ nb_merge_streams = True
213
124
 
214
- # A list of files that should not be packed into the epub file.
215
- epub_exclude_files = ["search.html"]
125
+ myst_enable_extensions = ["dollarmath", "amsmath"]
126
+ myst_dmath_double_inline = True
127
+ nb_render_markdown_format = "myst" # Enable MyST markdown parsing in notebooks
128
+ nb_render_text_lexer = "myst-ansi" # Better rendering of ANSI output
@@ -1,4 +1,6 @@
1
1
  # ruff: noqa: F401 D104
2
+ import logging
3
+
2
4
  from pastastore import connectors, styling, util
3
5
  from pastastore.connectors import (
4
6
  ArcticDBConnector,
@@ -6,9 +8,11 @@ from pastastore.connectors import (
6
8
  PasConnector,
7
9
  )
8
10
  from pastastore.store import PastaStore
11
+ from pastastore.util import get_color_logger
9
12
  from pastastore.version import __version__, show_versions
10
13
 
14
+ logger = get_color_logger("INFO", logger_name="pastastore")
11
15
  try:
12
16
  from pastastore import extensions
13
17
  except ModuleNotFoundError:
14
- print("Could not import extensions module. Update pastas to >=1.3.0!")
18
+ logging.warning("Could not import extensions module. Update pastas to >=1.3.0!")