pastastore 1.7.0__tar.gz → 1.10.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 (35) hide show
  1. {pastastore-1.7.0 → pastastore-1.10.0}/LICENSE +1 -1
  2. {pastastore-1.7.0 → pastastore-1.10.0}/PKG-INFO +17 -25
  3. pastastore-1.10.0/docs/conf.py +215 -0
  4. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/__init__.py +5 -0
  5. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/base.py +127 -631
  6. pastastore-1.10.0/pastastore/connectors.py +1457 -0
  7. pastastore-1.10.0/pastastore/extensions/__init__.py +14 -0
  8. pastastore-1.10.0/pastastore/extensions/accessor.py +15 -0
  9. pastastore-1.10.0/pastastore/extensions/hpd.py +783 -0
  10. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/plotting.py +289 -35
  11. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/store.py +346 -164
  12. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/styling.py +4 -4
  13. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/util.py +15 -11
  14. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/version.py +1 -1
  15. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/yaml_interface.py +35 -8
  16. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore.egg-info/PKG-INFO +17 -25
  17. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore.egg-info/SOURCES.txt +5 -0
  18. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore.egg-info/requires.txt +4 -12
  19. pastastore-1.10.0/pastastore.egg-info/top_level.txt +5 -0
  20. {pastastore-1.7.0 → pastastore-1.10.0}/pyproject.toml +8 -20
  21. {pastastore-1.7.0 → pastastore-1.10.0}/readme.md +2 -2
  22. pastastore-1.10.0/tests/conftest.py +165 -0
  23. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_003_pastastore.py +28 -10
  24. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_006_benchmark.py +0 -3
  25. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_007_hpdextension.py +24 -6
  26. pastastore-1.7.0/pastastore/connectors.py +0 -558
  27. pastastore-1.7.0/pastastore.egg-info/top_level.txt +0 -1
  28. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore/datasets.py +0 -0
  29. {pastastore-1.7.0 → pastastore-1.10.0}/pastastore.egg-info/dependency_links.txt +0 -0
  30. {pastastore-1.7.0 → pastastore-1.10.0}/setup.cfg +0 -0
  31. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_001_import.py +0 -0
  32. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_002_connectors.py +0 -0
  33. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_004_yaml.py +0 -0
  34. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_005_maps_plots.py +0 -0
  35. {pastastore-1.7.0 → pastastore-1.10.0}/tests/test_008_stressmodels.py +0 -0
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 D.A. Brakenhoff
3
+ Copyright (c) 2020-2025 D.A. Brakenhoff
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,12 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pastastore
3
- Version: 1.7.0
3
+ Version: 1.10.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>
7
7
  License: The MIT License (MIT)
8
8
 
9
- Copyright (c) 2020 D.A. Brakenhoff
9
+ Copyright (c) 2020-2025 D.A. Brakenhoff
10
10
 
11
11
  Permission is hereby granted, free of charge, to any person obtaining a copy
12
12
  of this software and associated documentation files (the "Software"), to deal
@@ -40,13 +40,13 @@ Classifier: Operating System :: Unix
40
40
  Classifier: Operating System :: MacOS
41
41
  Classifier: Programming Language :: Python
42
42
  Classifier: Programming Language :: Python :: 3
43
- Classifier: Programming Language :: Python :: 3.9
44
43
  Classifier: Programming Language :: Python :: 3.10
45
44
  Classifier: Programming Language :: Python :: 3.11
46
45
  Classifier: Programming Language :: Python :: 3.12
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.7
49
+ Requires-Python: >=3.10
50
50
  Description-Content-Type: text/markdown
51
51
  License-File: LICENSE
52
52
  Requires-Dist: pastas>=0.13
@@ -54,6 +54,7 @@ Requires-Dist: tqdm>=4.36
54
54
  Requires-Dist: pyyaml
55
55
  Provides-Extra: full
56
56
  Requires-Dist: pastastore[arcticdb,optional]; extra == "full"
57
+ Requires-Dist: hydropandas; extra == "full"
57
58
  Provides-Extra: extensions
58
59
  Requires-Dist: hydropandas; extra == "extensions"
59
60
  Provides-Extra: optional
@@ -64,26 +65,17 @@ Provides-Extra: arcticdb
64
65
  Requires-Dist: arcticdb; extra == "arcticdb"
65
66
  Provides-Extra: lint
66
67
  Requires-Dist: ruff; extra == "lint"
68
+ Provides-Extra: pytest
69
+ Requires-Dist: coverage; extra == "pytest"
70
+ Requires-Dist: codecov; extra == "pytest"
71
+ Requires-Dist: pytest; extra == "pytest"
72
+ Requires-Dist: pytest-cov; extra == "pytest"
73
+ Requires-Dist: pytest-dependency; extra == "pytest"
74
+ Requires-Dist: pytest-benchmark; extra == "pytest"
75
+ Requires-Dist: codacy-coverage; extra == "pytest"
67
76
  Provides-Extra: test
68
- Requires-Dist: pastastore[arcticdb,lint,optional]; extra == "test"
77
+ Requires-Dist: pastastore[arcticdb,lint,optional,pytest]; extra == "test"
69
78
  Requires-Dist: hydropandas[full]; extra == "test"
70
- Requires-Dist: coverage; extra == "test"
71
- Requires-Dist: codecov; extra == "test"
72
- Requires-Dist: pytest; extra == "test"
73
- Requires-Dist: pytest-cov; extra == "test"
74
- Requires-Dist: pytest-dependency; extra == "test"
75
- Requires-Dist: pytest-benchmark; extra == "test"
76
- Requires-Dist: codacy-coverage; extra == "test"
77
- Provides-Extra: test-py312
78
- Requires-Dist: pastastore[lint,optional]; extra == "test-py312"
79
- Requires-Dist: hydropandas[full]; extra == "test-py312"
80
- Requires-Dist: coverage; extra == "test-py312"
81
- Requires-Dist: codecov; extra == "test-py312"
82
- Requires-Dist: pytest; extra == "test-py312"
83
- Requires-Dist: pytest-cov; extra == "test-py312"
84
- Requires-Dist: pytest-dependency; extra == "test-py312"
85
- Requires-Dist: pytest-benchmark; extra == "test-py312"
86
- Requires-Dist: codacy-coverage; extra == "test-py312"
87
79
  Provides-Extra: docs
88
80
  Requires-Dist: pastastore[optional]; extra == "docs"
89
81
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
@@ -101,7 +93,7 @@ Requires-Dist: nbsphinx_link; extra == "docs"
101
93
  # pastastore
102
94
 
103
95
  This module stores
104
- [Pastas](https://pastas.readthedocs.io/en/latest/) time series and models in a
96
+ [Pastas](https://pastas.readthedocs.io/latest/) time series and models in a
105
97
  database.
106
98
 
107
99
  Storing time series and models in a database allows the user to manage time
@@ -186,4 +178,4 @@ pstore.to_zip("my_backup.zip")
186
178
  ```
187
179
 
188
180
  For more elaborate examples, refer to the
189
- [Notebooks](https://pastastore.readthedocs.io/en/latest/examples.html#example-notebooks).
181
+ [Notebooks](https://pastastore.readthedocs.io/latest/examples.html#example-notebooks).
@@ -0,0 +1,215 @@
1
+ # ruff: noqa: D100
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # Configuration file for the Sphinx documentation builder.
5
+ #
6
+ # This file does only contain a selection of the most common options. For a
7
+ # full list see the documentation:
8
+ # http://www.sphinx-doc.org/en/master/config
9
+
10
+ # -- Path setup --------------------------------------------------------------
11
+
12
+ # If extensions (or modules to document with autodoc) are in another directory,
13
+ # add these directories to sys.path here. If the directory is relative to the
14
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
15
+ #
16
+ import os
17
+ import sys
18
+
19
+ sys.path.insert(0, os.path.abspath("."))
20
+ from pastastore import __version__ # noqa: E402
21
+
22
+ # -- Project information -----------------------------------------------------
23
+
24
+ project = "pastastore"
25
+ copyright = "2020, D.A. Brakenhoff"
26
+ author = "D.A. Brakenhoff"
27
+
28
+ # The short X.Y version
29
+ version = __version__
30
+ # The full version, including alpha/beta/rc tags
31
+ release = __version__
32
+
33
+
34
+ # -- General configuration ---------------------------------------------------
35
+
36
+ # If your documentation needs a minimal Sphinx version, state it here.
37
+ #
38
+ # needs_sphinx = '1.0'
39
+
40
+ # Add any Sphinx extension module names here, as strings. They can be
41
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
42
+ # ones.
43
+ extensions = [
44
+ "sphinx.ext.autodoc",
45
+ "sphinx.ext.autosummary",
46
+ "sphinx.ext.napoleon",
47
+ "sphinx.ext.doctest",
48
+ "sphinx.ext.intersphinx",
49
+ "sphinx.ext.todo",
50
+ "sphinx.ext.coverage",
51
+ "sphinx.ext.mathjax",
52
+ "sphinx.ext.ifconfig",
53
+ "sphinx.ext.viewcode",
54
+ "IPython.sphinxext.ipython_console_highlighting", # lowercase didn't work
55
+ "sphinx.ext.autosectionlabel",
56
+ "nbsphinx",
57
+ "nbsphinx_link",
58
+ ]
59
+
60
+ # Add any paths that contain templates here, relative to this directory.
61
+ templates_path = ["_templates"]
62
+
63
+ # The suffix(es) of source filenames.
64
+ # You can specify multiple suffix as a list of string:
65
+ #
66
+ # source_suffix = ['.rst', '.md']
67
+ source_suffix = ".rst"
68
+
69
+ # The master toctree document.
70
+ master_doc = "index"
71
+
72
+ # The language for content autogenerated by Sphinx. Refer to documentation
73
+ # for a list of supported languages.
74
+ #
75
+ # This is also used if you do content translation via gettext catalogs.
76
+ # Usually you set "language" from the command line for these cases.
77
+ language = "en"
78
+
79
+ # List of patterns, relative to source directory, that match files and
80
+ # directories to ignore when looking for source files.
81
+ # This pattern also affects html_static_path and html_extra_path.
82
+ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
83
+
84
+ # The name of the Pygments (syntax highlighting) style to use.
85
+ pygments_style = None
86
+
87
+
88
+ # -- Options for HTML output -------------------------------------------------
89
+
90
+ # The theme to use for HTML and HTML Help pages. See the documentation for
91
+ # a list of builtin themes.
92
+ #
93
+ html_theme = "sphinx_rtd_theme"
94
+
95
+ # Theme options are theme-specific and customize the look and feel of a theme
96
+ # further. For a list of options available for each theme, see the
97
+ # documentation.
98
+ #
99
+ html_theme_options = {
100
+ "display_version": True,
101
+ "prev_next_buttons_location": "bottom",
102
+ # 'style_external_links': False,
103
+ # 'vcs_pageview_mode': '',
104
+ # 'style_nav_header_background': 'white',
105
+ # Toc options
106
+ "collapse_navigation": False,
107
+ "sticky_navigation": False,
108
+ "navigation_depth": 4,
109
+ "includehidden": True,
110
+ "titles_only": False,
111
+ "github_url": "https://github.com/pastas/pastastore",
112
+ }
113
+
114
+ # Add any paths that contain custom static files (such as style sheets) here,
115
+ # relative to this directory. They are copied after the builtin static files,
116
+ # so a file named "default.css" will overwrite the builtin "default.css".
117
+ html_static_path = ["_static"]
118
+
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
+
181
+
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 = ''
213
+
214
+ # A list of files that should not be packed into the epub file.
215
+ epub_exclude_files = ["search.html"]
@@ -7,3 +7,8 @@ from pastastore.connectors import (
7
7
  )
8
8
  from pastastore.store import PastaStore
9
9
  from pastastore.version import __version__, show_versions
10
+
11
+ try:
12
+ from pastastore import extensions
13
+ except ModuleNotFoundError:
14
+ print("Could not import extensions module. Update pastas to >=1.3.0!")