meerschaum 1.7.1__py3-none-any.whl → 1.7.3__py3-none-any.whl

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 (31) hide show
  1. meerschaum/_internal/arguments/_parser.py +1 -1
  2. meerschaum/actions/api.py +3 -2
  3. meerschaum/actions/stack.py +5 -9
  4. meerschaum/api/dash/components.py +2 -2
  5. meerschaum/api/routes/_misc.py +27 -1
  6. meerschaum/config/__init__.py +4 -4
  7. meerschaum/config/_edit.py +10 -20
  8. meerschaum/config/_read_config.py +11 -12
  9. meerschaum/config/_sync.py +44 -75
  10. meerschaum/config/_version.py +1 -1
  11. meerschaum/config/stack/__init__.py +31 -21
  12. meerschaum/config/static/__init__.py +7 -2
  13. meerschaum/connectors/api/_actions.py +2 -2
  14. meerschaum/connectors/api/_login.py +2 -2
  15. meerschaum/connectors/api/_misc.py +6 -26
  16. meerschaum/connectors/api/_plugins.py +4 -5
  17. meerschaum/connectors/api/_users.py +14 -14
  18. meerschaum/connectors/parse.py +2 -2
  19. meerschaum/connectors/sql/_users.py +1 -1
  20. meerschaum/core/User/_User.py +7 -3
  21. meerschaum/utils/venv/_Venv.py +2 -0
  22. meerschaum/utils/venv/__init__.py +14 -9
  23. meerschaum-1.7.3.dist-info/METADATA +500 -0
  24. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/RECORD +30 -30
  25. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/WHEEL +1 -1
  26. meerschaum-1.7.1.dist-info/METADATA +0 -499
  27. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/LICENSE +0 -0
  28. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/NOTICE +0 -0
  29. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/entry_points.txt +0 -0
  30. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/top_level.txt +0 -0
  31. {meerschaum-1.7.1.dist-info → meerschaum-1.7.3.dist-info}/zip-safe +0 -0
@@ -0,0 +1,500 @@
1
+ Metadata-Version: 2.1
2
+ Name: meerschaum
3
+ Version: 1.7.3
4
+ Summary: Sync Time-Series Pipes with Meerschaum
5
+ Home-page: https://meerschaum.io
6
+ Author: Bennett Meares
7
+ Author-email: bennett.meares@gmail.com
8
+ Maintainer-email: bennett.meares@gmail.com
9
+ License: Apache Software License 2.0
10
+ Project-URL: Documentation, https://docs.meerschaum.io
11
+ Project-URL: Changelog, https://meerschaum.io/news/changelog
12
+ Project-URL: GitHub, https://github.com/bmeares/Meerschaum
13
+ Project-URL: Homepage, https://meerschaum.io
14
+ Project-URL: Donate, https://github.com/sponsors/bmeares
15
+ Project-URL: Discord, https://discord.gg/8U8qMUjvcc
16
+ Classifier: Development Status :: 5 - Production/Stable
17
+ Classifier: Intended Audience :: System Administrators
18
+ Classifier: License :: OSI Approved :: Apache Software License
19
+ Classifier: Operating System :: POSIX :: Linux
20
+ Classifier: Operating System :: Microsoft :: Windows
21
+ Classifier: Operating System :: MacOS
22
+ Classifier: Programming Language :: SQL
23
+ Classifier: Programming Language :: Python :: 3.8
24
+ Classifier: Programming Language :: Python :: 3.9
25
+ Classifier: Programming Language :: Python :: 3.10
26
+ Classifier: Programming Language :: Python :: 3.11
27
+ Classifier: Programming Language :: Python :: 3.12
28
+ Classifier: Topic :: Database
29
+ Classifier: Natural Language :: English
30
+ Requires-Python: >=3.8
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ License-File: NOTICE
34
+ Provides-Extra: _drivers
35
+ Requires-Dist: pyodbc >=4.0.30 ; extra == '_drivers'
36
+ Requires-Dist: cx-Oracle >=8.3.0 ; extra == '_drivers'
37
+ Provides-Extra: _required
38
+ Requires-Dist: wheel >=0.34.2 ; extra == '_required'
39
+ Requires-Dist: setuptools >=63.3.0 ; extra == '_required'
40
+ Requires-Dist: PyYAML >=5.3.1 ; extra == '_required'
41
+ Requires-Dist: pip >=22.0.4 ; extra == '_required'
42
+ Requires-Dist: update-checker >=0.18.0 ; extra == '_required'
43
+ Requires-Dist: semver >=3.0.0-dev4 ; extra == '_required'
44
+ Requires-Dist: pathspec >=0.9.0 ; extra == '_required'
45
+ Requires-Dist: python-dateutil >=2.7.5 ; extra == '_required'
46
+ Requires-Dist: requests >=2.23.0 ; extra == '_required'
47
+ Requires-Dist: binaryornot >=0.4.4 ; extra == '_required'
48
+ Requires-Dist: pyvim >=3.0.2 ; extra == '_required'
49
+ Requires-Dist: aiofiles >=0.6.0 ; extra == '_required'
50
+ Requires-Dist: packaging >=21.3.0 ; extra == '_required'
51
+ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == '_required'
52
+ Requires-Dist: more-itertools >=8.7.0 ; extra == '_required'
53
+ Requires-Dist: daemoniker >=0.2.3 ; extra == '_required'
54
+ Requires-Dist: psutil >=5.8.0 ; extra == '_required'
55
+ Requires-Dist: watchgod >=0.7.0 ; extra == '_required'
56
+ Requires-Dist: dill >=0.3.3 ; extra == '_required'
57
+ Requires-Dist: virtualenv >=20.1.0 ; extra == '_required'
58
+ Requires-Dist: rocketry >=2.5.1 ; extra == '_required'
59
+ Provides-Extra: api
60
+ Requires-Dist: uvicorn[standard] >=0.22.0 ; extra == 'api'
61
+ Requires-Dist: gunicorn >=20.1.0 ; extra == 'api'
62
+ Requires-Dist: python-dotenv >=0.20.0 ; extra == 'api'
63
+ Requires-Dist: websockets >=11.0.3 ; extra == 'api'
64
+ Requires-Dist: fastapi >=0.100.0 ; extra == 'api'
65
+ Requires-Dist: passlib >=1.7.4 ; extra == 'api'
66
+ Requires-Dist: fastapi-login >=1.7.2 ; extra == 'api'
67
+ Requires-Dist: python-multipart >=0.0.5 ; extra == 'api'
68
+ Requires-Dist: pydantic >=1.7.4 ; extra == 'api'
69
+ Requires-Dist: httpx >=0.24.1 ; extra == 'api'
70
+ Requires-Dist: numpy >=1.18.5 ; extra == 'api'
71
+ Requires-Dist: pandas >=1.5.3 ; extra == 'api'
72
+ Requires-Dist: pytz >=2022.1.0 ; extra == 'api'
73
+ Requires-Dist: joblib >=0.17.0 ; extra == 'api'
74
+ Requires-Dist: SQLAlchemy >=2.0.5 ; extra == 'api'
75
+ Requires-Dist: databases >=0.4.0 ; extra == 'api'
76
+ Requires-Dist: aiosqlite >=0.16.0 ; extra == 'api'
77
+ Requires-Dist: asyncpg >=0.21.0 ; extra == 'api'
78
+ Requires-Dist: cryptography >=38.0.1 ; extra == 'api'
79
+ Requires-Dist: psycopg2-binary >=2.8.6 ; extra == 'api'
80
+ Requires-Dist: PyMySQL >=0.9.0 ; extra == 'api'
81
+ Requires-Dist: aiomysql >=0.0.21 ; extra == 'api'
82
+ Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'api'
83
+ Requires-Dist: duckdb >=0.7.1 ; extra == 'api'
84
+ Requires-Dist: duckdb-engine >=0.7.0 ; extra == 'api'
85
+ Requires-Dist: wheel >=0.34.2 ; extra == 'api'
86
+ Requires-Dist: setuptools >=63.3.0 ; extra == 'api'
87
+ Requires-Dist: PyYAML >=5.3.1 ; extra == 'api'
88
+ Requires-Dist: pip >=22.0.4 ; extra == 'api'
89
+ Requires-Dist: update-checker >=0.18.0 ; extra == 'api'
90
+ Requires-Dist: semver >=3.0.0-dev4 ; extra == 'api'
91
+ Requires-Dist: pathspec >=0.9.0 ; extra == 'api'
92
+ Requires-Dist: python-dateutil >=2.7.5 ; extra == 'api'
93
+ Requires-Dist: requests >=2.23.0 ; extra == 'api'
94
+ Requires-Dist: binaryornot >=0.4.4 ; extra == 'api'
95
+ Requires-Dist: pyvim >=3.0.2 ; extra == 'api'
96
+ Requires-Dist: aiofiles >=0.6.0 ; extra == 'api'
97
+ Requires-Dist: packaging >=21.3.0 ; extra == 'api'
98
+ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'api'
99
+ Requires-Dist: more-itertools >=8.7.0 ; extra == 'api'
100
+ Requires-Dist: daemoniker >=0.2.3 ; extra == 'api'
101
+ Requires-Dist: psutil >=5.8.0 ; extra == 'api'
102
+ Requires-Dist: watchgod >=0.7.0 ; extra == 'api'
103
+ Requires-Dist: dill >=0.3.3 ; extra == 'api'
104
+ Requires-Dist: virtualenv >=20.1.0 ; extra == 'api'
105
+ Requires-Dist: rocketry >=2.5.1 ; extra == 'api'
106
+ Requires-Dist: pprintpp >=0.4.0 ; extra == 'api'
107
+ Requires-Dist: asciitree >=0.3.3 ; extra == 'api'
108
+ Requires-Dist: typing-extensions >=4.7.1 ; extra == 'api'
109
+ Requires-Dist: pygments >=2.7.2 ; extra == 'api'
110
+ Requires-Dist: colorama >=0.4.3 ; extra == 'api'
111
+ Requires-Dist: rich >=13.4.2 ; extra == 'api'
112
+ Requires-Dist: more-termcolor >=1.1.3 ; extra == 'api'
113
+ Requires-Dist: humanfriendly >=10.0.0 ; extra == 'api'
114
+ Requires-Dist: Flask-Compress >=1.10.1 ; extra == 'api'
115
+ Requires-Dist: dash >=2.6.2 ; extra == 'api'
116
+ Requires-Dist: dash-bootstrap-components >=1.2.1 ; extra == 'api'
117
+ Requires-Dist: dash-ace >=0.2.1 ; extra == 'api'
118
+ Requires-Dist: dash-extensions <1.0.2 ; extra == 'api'
119
+ Requires-Dist: dash-daq >=0.5.0 ; extra == 'api'
120
+ Requires-Dist: terminado >=0.12.1 ; extra == 'api'
121
+ Requires-Dist: tornado >=6.1.0 ; extra == 'api'
122
+ Requires-Dist: tornado-xstatic >=0.2.0 ; extra == 'api'
123
+ Requires-Dist: XStatic >=1.0.2 ; extra == 'api'
124
+ Requires-Dist: XStatic-term.js >=0.0.7 ; extra == 'api'
125
+ Provides-Extra: build
126
+ Requires-Dist: cx-Freeze >=6.5.1 ; extra == 'build'
127
+ Requires-Dist: pyinstaller >=5.0.0-dev0 ; extra == 'build'
128
+ Provides-Extra: cli
129
+ Requires-Dist: pgcli >=3.1.0 ; extra == 'cli'
130
+ Requires-Dist: mycli >=1.23.2 ; extra == 'cli'
131
+ Requires-Dist: litecli >=1.5.0 ; extra == 'cli'
132
+ Requires-Dist: mssql-cli >=1.0.0 ; extra == 'cli'
133
+ Requires-Dist: gadwall >=0.2.0 ; extra == 'cli'
134
+ Provides-Extra: dash
135
+ Requires-Dist: Flask-Compress >=1.10.1 ; extra == 'dash'
136
+ Requires-Dist: dash >=2.6.2 ; extra == 'dash'
137
+ Requires-Dist: dash-bootstrap-components >=1.2.1 ; extra == 'dash'
138
+ Requires-Dist: dash-ace >=0.2.1 ; extra == 'dash'
139
+ Requires-Dist: dash-extensions <1.0.2 ; extra == 'dash'
140
+ Requires-Dist: dash-daq >=0.5.0 ; extra == 'dash'
141
+ Requires-Dist: terminado >=0.12.1 ; extra == 'dash'
142
+ Requires-Dist: tornado >=6.1.0 ; extra == 'dash'
143
+ Requires-Dist: tornado-xstatic >=0.2.0 ; extra == 'dash'
144
+ Requires-Dist: XStatic >=1.0.2 ; extra == 'dash'
145
+ Requires-Dist: XStatic-term.js >=0.0.7 ; extra == 'dash'
146
+ Provides-Extra: dev-tools
147
+ Requires-Dist: twine >=3.2.0 ; extra == 'dev-tools'
148
+ Requires-Dist: tuna >=0.5.3 ; extra == 'dev-tools'
149
+ Requires-Dist: snakeviz >=2.1.0 ; extra == 'dev-tools'
150
+ Requires-Dist: mypy >=0.812.0 ; extra == 'dev-tools'
151
+ Requires-Dist: pytest >=6.2.2 ; extra == 'dev-tools'
152
+ Requires-Dist: pytest-xdist >=3.2.1 ; extra == 'dev-tools'
153
+ Requires-Dist: heartrate >=0.2.1 ; extra == 'dev-tools'
154
+ Requires-Dist: py-heat >=0.0.6 ; extra == 'dev-tools'
155
+ Provides-Extra: docs
156
+ Requires-Dist: mkdocs >=1.1.2 ; extra == 'docs'
157
+ Requires-Dist: mkdocs-material >=6.2.5 ; extra == 'docs'
158
+ Requires-Dist: mkdocs-material-extensions >=1.0.3 ; extra == 'docs'
159
+ Requires-Dist: mkdocs-autolinks-plugin >=0.2.0 ; extra == 'docs'
160
+ Requires-Dist: mkdocs-awesome-pages-plugin >=2.5.0 ; extra == 'docs'
161
+ Requires-Dist: mkdocs-section-index >=0.3.3 ; extra == 'docs'
162
+ Requires-Dist: mkdocs-linkcheck >=1.0.6 ; extra == 'docs'
163
+ Requires-Dist: mkdocs-redirects >=1.0.4 ; extra == 'docs'
164
+ Requires-Dist: jinja2 ==3.0.3 ; extra == 'docs'
165
+ Provides-Extra: drivers
166
+ Requires-Dist: cryptography >=38.0.1 ; extra == 'drivers'
167
+ Requires-Dist: psycopg2-binary >=2.8.6 ; extra == 'drivers'
168
+ Requires-Dist: PyMySQL >=0.9.0 ; extra == 'drivers'
169
+ Requires-Dist: aiomysql >=0.0.21 ; extra == 'drivers'
170
+ Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'drivers'
171
+ Requires-Dist: duckdb >=0.7.1 ; extra == 'drivers'
172
+ Requires-Dist: duckdb-engine >=0.7.0 ; extra == 'drivers'
173
+ Provides-Extra: extras
174
+ Requires-Dist: cmd2 >=1.4.0 ; extra == 'extras'
175
+ Requires-Dist: ruamel.yaml >=0.16.12 ; extra == 'extras'
176
+ Requires-Dist: pandasgui >=0.2.9 ; extra == 'extras'
177
+ Requires-Dist: modin[ray] >=0.8.3 ; extra == 'extras'
178
+ Requires-Dist: nanoid >=2.0.0 ; extra == 'extras'
179
+ Requires-Dist: importlib-metadata >=4.12.0 ; extra == 'extras'
180
+ Provides-Extra: formatting
181
+ Requires-Dist: pprintpp >=0.4.0 ; extra == 'formatting'
182
+ Requires-Dist: asciitree >=0.3.3 ; extra == 'formatting'
183
+ Requires-Dist: typing-extensions >=4.7.1 ; extra == 'formatting'
184
+ Requires-Dist: pygments >=2.7.2 ; extra == 'formatting'
185
+ Requires-Dist: colorama >=0.4.3 ; extra == 'formatting'
186
+ Requires-Dist: rich >=13.4.2 ; extra == 'formatting'
187
+ Requires-Dist: more-termcolor >=1.1.3 ; extra == 'formatting'
188
+ Requires-Dist: humanfriendly >=10.0.0 ; extra == 'formatting'
189
+ Provides-Extra: full
190
+ Requires-Dist: pprintpp >=0.4.0 ; extra == 'full'
191
+ Requires-Dist: asciitree >=0.3.3 ; extra == 'full'
192
+ Requires-Dist: typing-extensions >=4.7.1 ; extra == 'full'
193
+ Requires-Dist: pygments >=2.7.2 ; extra == 'full'
194
+ Requires-Dist: colorama >=0.4.3 ; extra == 'full'
195
+ Requires-Dist: rich >=13.4.2 ; extra == 'full'
196
+ Requires-Dist: more-termcolor >=1.1.3 ; extra == 'full'
197
+ Requires-Dist: humanfriendly >=10.0.0 ; extra == 'full'
198
+ Requires-Dist: wheel >=0.34.2 ; extra == 'full'
199
+ Requires-Dist: setuptools >=63.3.0 ; extra == 'full'
200
+ Requires-Dist: PyYAML >=5.3.1 ; extra == 'full'
201
+ Requires-Dist: pip >=22.0.4 ; extra == 'full'
202
+ Requires-Dist: update-checker >=0.18.0 ; extra == 'full'
203
+ Requires-Dist: semver >=3.0.0-dev4 ; extra == 'full'
204
+ Requires-Dist: pathspec >=0.9.0 ; extra == 'full'
205
+ Requires-Dist: python-dateutil >=2.7.5 ; extra == 'full'
206
+ Requires-Dist: requests >=2.23.0 ; extra == 'full'
207
+ Requires-Dist: binaryornot >=0.4.4 ; extra == 'full'
208
+ Requires-Dist: pyvim >=3.0.2 ; extra == 'full'
209
+ Requires-Dist: aiofiles >=0.6.0 ; extra == 'full'
210
+ Requires-Dist: packaging >=21.3.0 ; extra == 'full'
211
+ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'full'
212
+ Requires-Dist: more-itertools >=8.7.0 ; extra == 'full'
213
+ Requires-Dist: daemoniker >=0.2.3 ; extra == 'full'
214
+ Requires-Dist: psutil >=5.8.0 ; extra == 'full'
215
+ Requires-Dist: watchgod >=0.7.0 ; extra == 'full'
216
+ Requires-Dist: dill >=0.3.3 ; extra == 'full'
217
+ Requires-Dist: virtualenv >=20.1.0 ; extra == 'full'
218
+ Requires-Dist: rocketry >=2.5.1 ; extra == 'full'
219
+ Requires-Dist: cryptography >=38.0.1 ; extra == 'full'
220
+ Requires-Dist: psycopg2-binary >=2.8.6 ; extra == 'full'
221
+ Requires-Dist: PyMySQL >=0.9.0 ; extra == 'full'
222
+ Requires-Dist: aiomysql >=0.0.21 ; extra == 'full'
223
+ Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'full'
224
+ Requires-Dist: duckdb >=0.7.1 ; extra == 'full'
225
+ Requires-Dist: duckdb-engine >=0.7.0 ; extra == 'full'
226
+ Requires-Dist: toga >=0.3.0-dev29 ; extra == 'full'
227
+ Requires-Dist: pywebview >=3.6.3 ; extra == 'full'
228
+ Requires-Dist: pycparser >=2.21.0 ; extra == 'full'
229
+ Requires-Dist: numpy >=1.18.5 ; extra == 'full'
230
+ Requires-Dist: pandas >=1.5.3 ; extra == 'full'
231
+ Requires-Dist: pytz >=2022.1.0 ; extra == 'full'
232
+ Requires-Dist: joblib >=0.17.0 ; extra == 'full'
233
+ Requires-Dist: SQLAlchemy >=2.0.5 ; extra == 'full'
234
+ Requires-Dist: databases >=0.4.0 ; extra == 'full'
235
+ Requires-Dist: aiosqlite >=0.16.0 ; extra == 'full'
236
+ Requires-Dist: asyncpg >=0.21.0 ; extra == 'full'
237
+ Requires-Dist: Flask-Compress >=1.10.1 ; extra == 'full'
238
+ Requires-Dist: dash >=2.6.2 ; extra == 'full'
239
+ Requires-Dist: dash-bootstrap-components >=1.2.1 ; extra == 'full'
240
+ Requires-Dist: dash-ace >=0.2.1 ; extra == 'full'
241
+ Requires-Dist: dash-extensions <1.0.2 ; extra == 'full'
242
+ Requires-Dist: dash-daq >=0.5.0 ; extra == 'full'
243
+ Requires-Dist: terminado >=0.12.1 ; extra == 'full'
244
+ Requires-Dist: tornado >=6.1.0 ; extra == 'full'
245
+ Requires-Dist: tornado-xstatic >=0.2.0 ; extra == 'full'
246
+ Requires-Dist: XStatic >=1.0.2 ; extra == 'full'
247
+ Requires-Dist: XStatic-term.js >=0.0.7 ; extra == 'full'
248
+ Requires-Dist: uvicorn[standard] >=0.22.0 ; extra == 'full'
249
+ Requires-Dist: gunicorn >=20.1.0 ; extra == 'full'
250
+ Requires-Dist: python-dotenv >=0.20.0 ; extra == 'full'
251
+ Requires-Dist: websockets >=11.0.3 ; extra == 'full'
252
+ Requires-Dist: fastapi >=0.100.0 ; extra == 'full'
253
+ Requires-Dist: passlib >=1.7.4 ; extra == 'full'
254
+ Requires-Dist: fastapi-login >=1.7.2 ; extra == 'full'
255
+ Requires-Dist: python-multipart >=0.0.5 ; extra == 'full'
256
+ Requires-Dist: pydantic >=1.7.4 ; extra == 'full'
257
+ Requires-Dist: httpx >=0.24.1 ; extra == 'full'
258
+ Provides-Extra: gui
259
+ Requires-Dist: toga >=0.3.0-dev29 ; extra == 'gui'
260
+ Requires-Dist: pywebview >=3.6.3 ; extra == 'gui'
261
+ Requires-Dist: pycparser >=2.21.0 ; extra == 'gui'
262
+ Provides-Extra: minimal
263
+ Provides-Extra: required
264
+ Provides-Extra: setup
265
+ Provides-Extra: sql
266
+ Requires-Dist: numpy >=1.18.5 ; extra == 'sql'
267
+ Requires-Dist: pandas >=1.5.3 ; extra == 'sql'
268
+ Requires-Dist: pytz >=2022.1.0 ; extra == 'sql'
269
+ Requires-Dist: joblib >=0.17.0 ; extra == 'sql'
270
+ Requires-Dist: SQLAlchemy >=2.0.5 ; extra == 'sql'
271
+ Requires-Dist: databases >=0.4.0 ; extra == 'sql'
272
+ Requires-Dist: aiosqlite >=0.16.0 ; extra == 'sql'
273
+ Requires-Dist: asyncpg >=0.21.0 ; extra == 'sql'
274
+ Requires-Dist: cryptography >=38.0.1 ; extra == 'sql'
275
+ Requires-Dist: psycopg2-binary >=2.8.6 ; extra == 'sql'
276
+ Requires-Dist: PyMySQL >=0.9.0 ; extra == 'sql'
277
+ Requires-Dist: aiomysql >=0.0.21 ; extra == 'sql'
278
+ Requires-Dist: sqlalchemy-cockroachdb >=2.0.0 ; extra == 'sql'
279
+ Requires-Dist: duckdb >=0.7.1 ; extra == 'sql'
280
+ Requires-Dist: duckdb-engine >=0.7.0 ; extra == 'sql'
281
+ Requires-Dist: wheel >=0.34.2 ; extra == 'sql'
282
+ Requires-Dist: setuptools >=63.3.0 ; extra == 'sql'
283
+ Requires-Dist: PyYAML >=5.3.1 ; extra == 'sql'
284
+ Requires-Dist: pip >=22.0.4 ; extra == 'sql'
285
+ Requires-Dist: update-checker >=0.18.0 ; extra == 'sql'
286
+ Requires-Dist: semver >=3.0.0-dev4 ; extra == 'sql'
287
+ Requires-Dist: pathspec >=0.9.0 ; extra == 'sql'
288
+ Requires-Dist: python-dateutil >=2.7.5 ; extra == 'sql'
289
+ Requires-Dist: requests >=2.23.0 ; extra == 'sql'
290
+ Requires-Dist: binaryornot >=0.4.4 ; extra == 'sql'
291
+ Requires-Dist: pyvim >=3.0.2 ; extra == 'sql'
292
+ Requires-Dist: aiofiles >=0.6.0 ; extra == 'sql'
293
+ Requires-Dist: packaging >=21.3.0 ; extra == 'sql'
294
+ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'sql'
295
+ Requires-Dist: more-itertools >=8.7.0 ; extra == 'sql'
296
+ Requires-Dist: daemoniker >=0.2.3 ; extra == 'sql'
297
+ Requires-Dist: psutil >=5.8.0 ; extra == 'sql'
298
+ Requires-Dist: watchgod >=0.7.0 ; extra == 'sql'
299
+ Requires-Dist: dill >=0.3.3 ; extra == 'sql'
300
+ Requires-Dist: virtualenv >=20.1.0 ; extra == 'sql'
301
+ Requires-Dist: rocketry >=2.5.1 ; extra == 'sql'
302
+ Provides-Extra: stack
303
+ Requires-Dist: docker-compose >=1.27.4 ; extra == 'stack'
304
+
305
+ <img src="https://meerschaum.io/assets/banner_1920x320.png" alt="Meerschaum banner"/>
306
+
307
+ | PyPI | GitHub | Info | Stats |
308
+ |---|---|---|---|
309
+ | ![PyPI]( https://img.shields.io/pypi/v/meerschaum?color=%2300cc66&label=Version ) | ![GitHub Repo stars](https://img.shields.io/github/stars/bmeares/Meerschaum?style=social) | ![License](https://img.shields.io/github/license/bmeares/Meerschaum?label=License) | ![Number of plugins]( https://img.shields.io/badge/dynamic/json?color=3098c1&label=Public%20Plugins&query=num_plugins&url=https%3A%2F%2Fapi.mrsm.io%2Finfo ) |
310
+ | ![PyPI - Python Version]( https://img.shields.io/pypi/pyversions/meerschaum?label=Python&logo=python&logoColor=%23ffffff ) | ![GitHub Sponsors](https://img.shields.io/github/sponsors/bmeares?color=eadf15&label=Sponsors) | [![meerschaum Tutorials](https://badges.openbase.com/python/tutorials/meerschaum.svg?token=2Yi8Oav9UZYWocO1ncwnIOnpUN5dTnUMWai7lAKTB+k=)](https://openbase.com/python/meerschaum?utm_source=embedded&amp;utm_medium=badge&amp;utm_campaign=rate-badge) | ![Number of registered users]( https://img.shields.io/badge/dynamic/json?color=3098c1&label=Registered%20Users&query=num_users&url=https%3A%2F%2Fapi.mrsm.io%2Finfo ) |
311
+
312
+ <p align="center">
313
+ <img src="https://meerschaum.io/files/images/demo.gif" alt="Meerschaum demo" height="450px">
314
+ </p>
315
+
316
+ ## What is Meerschaum?
317
+ Meerschaum is a tool for quickly synchronizing time-series data streams called **pipes**. With Meerschaum, you can have a data visualization stack running in minutes.
318
+
319
+ <p align="center">
320
+ <img src="https://meerschaum.io/assets/screenshots/weather_pipes.png"/>
321
+ </p>
322
+
323
+ ## Why Meerschaum?
324
+
325
+ Two words: *incremental updates*. Fetch the data you need, and Meerschaum will handle the rest.
326
+
327
+ If you've worked with time-series data, you know the headaches that come with ETL.
328
+ Data engineering often gets in analysts' way, and when work needs to get done, every minute spent on pipelining is time taken away from real analysis.
329
+
330
+ Rather than copy / pasting your ETL scripts, simply build pipes with Meerschaum! [Meerschaum gives you the tools to design your data streams how you like](https://towardsdatascience.com/easy-time-series-etl-for-data-scientists-with-meerschaum-5aade339b398) ― and don't worry — you can always incorporate Meerschaum into your existing systems!
331
+
332
+ ### Want to Learn More?
333
+
334
+ You can find a wealth of information at [meerschaum.io](https://meerschaum.io)!
335
+
336
+ Additionally, below are several articles published about Meerschaum:
337
+
338
+ - Interview featured in [*Console 100 - The Open Source Newsletter*](https://console.substack.com/p/console-100)
339
+ - [*A Data Scientist's Guide to Fetching COVID-19 Data in 2022*](https://towardsdatascience.com/a-data-scientists-guide-to-fetching-covid-19-data-in-2022-d952b4697) (Towards Data Science)
340
+ - [*Time-Series ETL with Meerschaum*](https://towardsdatascience.com/easy-time-series-etl-for-data-scientists-with-meerschaum-5aade339b398) (Towards Data Science)
341
+ - [*How I automatically extract my M1 Finance transactions*](https://bmeares.medium.com/how-i-automatically-extract-my-m1-finance-transactions-b43cef857bc7)
342
+
343
+ ## Installation
344
+
345
+ For a more thorough setup guide, visit the [Getting Started](https://meerschaum.io/get-started/) page at [meerschaum.io](https://meerschaum.io).
346
+
347
+ ### TL;DR
348
+
349
+ ```bash
350
+ pip install -U --user meerschaum
351
+ mrsm stack up -d db grafana
352
+ mrsm bootstrap pipes
353
+ ```
354
+
355
+ ## Usage
356
+
357
+ Please visit [meerschaum.io](https://meerschaum.io) for setup, usage, and troubleshooting information. You can find technical documentation at [docs.meerschaum.io](https://docs.meerschaum.io), and here is a complete list of the [Meerschaum actions](https://meerschaum.io/reference/actions/).
358
+
359
+ ### CLI
360
+ ```bash
361
+ ### Install the NOAA weather plugin.
362
+ mrsm install plugin noaa
363
+
364
+ ### Register a new pipe to the built-in SQLite DB.
365
+ ### You can instead run `bootstrap pipe` for a wizard.
366
+ ### Enter 'KATL' for Atlanta when prompted.
367
+ mrsm register pipe -c plugin:noaa -m weather -l atl -i sql:local
368
+
369
+ ### Pull data and create the table "plugin_noaa_weather_atl".
370
+ mrsm sync pipes -l atl -i sql:local
371
+ ```
372
+
373
+ ### Python API
374
+
375
+ ```python
376
+ import meerschaum as mrsm
377
+ pipe = mrsm.Pipe(
378
+ 'foo', 'bar', ### Connector and metric labels.
379
+ target = 'MyTableName!', ### Table name. Defaults to 'foo_bar'.
380
+ instance = 'sql:local', ### Built-in SQLite DB. Defaults to 'sql:main'.
381
+ columns = {
382
+ 'datetime': 'dt', ### Column for the datetime index.
383
+ 'id' : 'id', ### Column for the ID index (optional).
384
+ },
385
+ )
386
+ ### Pass a DataFrame to create the table and indices.
387
+ pipe.sync([{'dt': '2022-07-01', 'id': 1, 'val': 10}])
388
+
389
+ ### Duplicate rows are ignored.
390
+ pipe.sync([{'dt': '2022-07-01', 'id': 1, 'val': 10}])
391
+ assert len(pipe.get_data()) == 1
392
+
393
+ ### Rows with existing keys (datetime and/or id) are updated.
394
+ pipe.sync([{'dt': '2022-07-01', 'id': 1, 'val': 100}])
395
+ assert len(pipe.get_data()) == 1
396
+
397
+ ### Translates to this query for SQLite:
398
+ ###
399
+ ### SELECT *
400
+ ### FROM "MyTableName!"
401
+ ### WHERE "dt" >= datetime('2022-01-01', '0 minute')
402
+ ### AND "dt" < datetime('2023-01-01', '0 minute')
403
+ ### AND "id" IN ('1')
404
+ df = pipe.get_data(
405
+ begin = '2022-01-01',
406
+ end = '2023-01-01',
407
+ params = {'id': [1]},
408
+ )
409
+
410
+ ### Shape of the DataFrame:
411
+ ### dt id val
412
+ ### 0 2022-07-01 1 100
413
+
414
+ ### Drop the table and remove the pipe's metadata.
415
+ pipe.delete()
416
+ ```
417
+
418
+ ### Simple Plugin
419
+
420
+ ```python
421
+ # ~/.config/plugins/example.py
422
+
423
+ __version__ = '1.0.0'
424
+ required = ['requests']
425
+
426
+ def register(pipe, **kw):
427
+ return {
428
+ 'columns': {
429
+ 'datetime': 'dt',
430
+ 'id' : 'id',
431
+ },
432
+ }
433
+
434
+ def fetch(pipe, **kw):
435
+ import requests, datetime, random
436
+ response = requests.get('http://date.jsontest.com/')
437
+
438
+ ### The fetched JSON has the following shape:
439
+ ### {
440
+ ### "date": "07-01-2022",
441
+ ### "milliseconds_since_epoch": 1656718801566,
442
+ ### "time": "11:40:01 PM"
443
+ ### }
444
+ data = response.json()
445
+ timestamp = datetime.datetime.fromtimestamp(
446
+ int(str(data['milliseconds_since_epoch'])[:-3])
447
+ )
448
+
449
+ ### You may also return a Pandas DataFrame.
450
+ return [{
451
+ "dt" : timestamp,
452
+ "id" : random.randint(1, 4),
453
+ "value": random.uniform(1, 100),
454
+ }]
455
+ ```
456
+
457
+ ## Features
458
+
459
+ - 📊 **Built for Data Scientists and Analysts**
460
+ - Integrate with Pandas, Grafana and other popular [data analysis tools](https://meerschaum.io/reference/data-analysis-tools/).
461
+ - Persist your dataframes and always get the latest data.
462
+ - ⚡️ **Production-Ready, Batteries Included**
463
+ - [Synchronization engine](https://meerschaum.io/reference/pipes/syncing/) concurrently updates many time-series data streams.
464
+ - One-click deploy a [TimescaleDB and Grafana stack](https://meerschaum.io/reference/stack/) for prototyping.
465
+ - Serve data to your entire organization through the power of `uvicorn`, `gunicorn`, and `FastAPI`.
466
+ - 🔌 **Easily Expandable**
467
+ - Ingest any data source with a simple [plugin](https://meerschaum.io/reference/plugins/writing-plugins/). Just return a DataFrame, and Meerschaum handles the rest.
468
+ - [Add any function as a command](https://meerschaum.io/reference/plugins/types-of-plugins/#action-plugins) to the Meerschaum system.
469
+ - Include Meerschaum in your projects with its [easy-to-use Python API](https://docs.meerschaum.io).
470
+ - ✨ **Tailored for Your Experience**
471
+ - Rich CLI makes managing your data streams surprisingly enjoyable!
472
+ - Web dashboard for those who prefer a more graphical experience.
473
+ - Manage your database connections with [Meerschaum connectors](https://meerschaum.io/reference/connectors/).
474
+ - Utility commands with sensible syntax let you control many pipes with grace.
475
+ - 💼 **Portable from the Start**
476
+ - The environment variable `$MRSM_ROOT_DIR` lets you emulate multiple installations and group together your [instances](https://meerschaum.io/reference/connectors/#instances-and-repositories).
477
+ - No dependencies required; anything needed will be installed into a virtual environment.
478
+ - [Specify required packages for your plugins](https://meerschaum.io/reference/plugins/writing-plugins/), and users will get those packages in a virtual environment.
479
+
480
+ ## Support Meerschaum's Development
481
+
482
+ For consulting services and to support Meerschaum's development, please considering sponsoring me on [GitHub sponsors](https://github.com/sponsors/bmeares).
483
+
484
+ Additionally, you can always [buy me a coffee☕](https://www.buymeacoffee.com/bmeares)!
485
+
486
+ ### License
487
+
488
+ Copyright 2021 Bennett Meares
489
+
490
+ Licensed under the Apache License, Version 2.0 (the "License");
491
+ you may not use this file except in compliance with the License.
492
+ You may obtain a copy of the License at
493
+
494
+ http://www.apache.org/licenses/LICENSE-2.0
495
+
496
+ Unless required by applicable law or agreed to in writing, software
497
+ distributed under the License is distributed on an "AS IS" BASIS,
498
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
499
+ See the License for the specific language governing permissions and
500
+ limitations under the License.
@@ -4,7 +4,7 @@ meerschaum/_internal/__init__.py,sha256=ilC7utfKtin7GAvuN34fKyUQYfPyqH0Mm3MJF5iy
4
4
  meerschaum/_internal/entry.py,sha256=pcBUn5UebrB-Iw3TNbctPGNxYJiafA5nrFWE2ecQNHY,4625
5
5
  meerschaum/_internal/arguments/__init__.py,sha256=HFciFQgo2ZOT19Mo6CpLhPYlpLYh2sNn1C9Lo7NMADc,519
6
6
  meerschaum/_internal/arguments/_parse_arguments.py,sha256=qWdQv8IR-n9Xcc8-cXkjiWAkUeJw9k6dnbV8UiYwZNw,9741
7
- meerschaum/_internal/arguments/_parser.py,sha256=aI88HSa3cV07j3O81OuXTt7Odz2pQCQCxsbSkQc1tE8,12586
7
+ meerschaum/_internal/arguments/_parser.py,sha256=BLdor4mtZk0aha6_t9sPVRmsLTFGjDiLPkhF51AG5kY,12600
8
8
  meerschaum/_internal/docs/__init__.py,sha256=ZQYHWo6n0kfLLkyG36YXqTYvv2Pc7it5HZHMylT6cBA,126
9
9
  meerschaum/_internal/docs/index.py,sha256=FXeXnxB_P_E97Bwdh4T2RmHWaRqt7IKdNYOvFR9h9KM,7719
10
10
  meerschaum/_internal/gui/__init__.py,sha256=KF6Opae0aBOjIndMZ2txoPs7ozCXRlR-lcTsicLO7fc,1313
@@ -21,7 +21,7 @@ meerschaum/_internal/term/TermPageHandler.py,sha256=NWNNzZQuXAuqr-tr8oIs7nfX0ZPZ
21
21
  meerschaum/_internal/term/__init__.py,sha256=UpK2lcBwAMG0xkrMJ4MareBpdqNpF0tzK_LgG_TCWB8,1960
22
22
  meerschaum/_internal/term/tools.py,sha256=bpYexJBDCQXfzz6ESMvmpSHM1AIy4qWsrAHl95tSW2I,716
23
23
  meerschaum/actions/__init__.py,sha256=-Xr6pwUuUCyy--4Libtfwtxx_RBjW1OJt6kAdq2UBLs,8023
24
- meerschaum/actions/api.py,sha256=zF1yE_0AilADMdrZw-LPvKBYRxKa0X_VIvFKh7-3V90,12109
24
+ meerschaum/actions/api.py,sha256=WIAnK4VXnf-q2L_Bvi6QszSUuyMlzfBdO-6-G2bkduc,12187
25
25
  meerschaum/actions/bootstrap.py,sha256=StA6CkWBt-FEl26MyAGC7Q8SPVSHrfB3Uf56HrmnZoM,14529
26
26
  meerschaum/actions/clear.py,sha256=IdHy1tafcoPUSLSxExnSzroIdQPOTPIs_wMVpiMvi-0,4857
27
27
  meerschaum/actions/copy.py,sha256=dieg0qn7UviQY718nwGhDU2dVr0hNbAb-2J04pxcl5I,6259
@@ -38,7 +38,7 @@ meerschaum/actions/setup.py,sha256=LSma1nPCAJCV9u5A3BqZLBsXipjKwfpw4gP9roKygjk,3
38
38
  meerschaum/actions/sh.py,sha256=fLfTJaacKu4sjLTRqEzzYlT2WbbdZBEczsKb6F-qAek,2026
39
39
  meerschaum/actions/show.py,sha256=mH08dx6Z2iu-odpuq7oJGuCabM4aZ8GxD9mYssIMcAA,23468
40
40
  meerschaum/actions/sql.py,sha256=DZDc5qgiqlPgRJpAeBUVK-W-2FeVO0CuOQTEUybOcU0,4224
41
- meerschaum/actions/stack.py,sha256=dwBHO2UblmfwGI_gChhuIS0KHxWC2dMtDQa2WVisCqY,5903
41
+ meerschaum/actions/stack.py,sha256=bQSdMpXTtoE3BQeBhkSlXXYBJCp8PaDk3Wc7NKNGOb8,5792
42
42
  meerschaum/actions/start.py,sha256=Ez9zGHFYhgOq8_MvvDY9hz9IBit0hGRcmlq8UGbuzNw,18488
43
43
  meerschaum/actions/stop.py,sha256=7PqrKzmAxZ9X4HSAkeIbzaAg6KUSWylixybICfR9zuI,3948
44
44
  meerschaum/actions/sync.py,sha256=l6JpW6lg2FHT3dUhIHre-I-hJ6rApEZGUZgcSR15L6A,15339
@@ -52,7 +52,7 @@ meerschaum/api/_oauth2.py,sha256=eH5r2rWuDmMHJPuukG0hj1E-LqtcDf5-lzp1YShOQOo,961
52
52
  meerschaum/api/_websockets.py,sha256=A4TC6pxHmDAWx_pg9bvjroxYjEcTTRbtJBVDeg1W4u8,1432
53
53
  meerschaum/api/dash/__init__.py,sha256=3gLjaq3Vnn1IAwFFx-e6SQwbkc5KpAWoRQz70rdF4Bs,2238
54
54
  meerschaum/api/dash/actions.py,sha256=g0tOCmOYp9_bZ519bzjQTYN3wlw7UWSjYPwA-NQvi14,9788
55
- meerschaum/api/dash/components.py,sha256=VNQGTP-7teWcwMyBFgEvL5BJiceNVV06mzecDaI_Wd4,6272
55
+ meerschaum/api/dash/components.py,sha256=4t0ILlXHroRkXaoYga3NofgYNmEpcmdjEqyeHBlRbUc,6268
56
56
  meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-0XMo,843
57
57
  meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
58
58
  meerschaum/api/dash/jobs.py,sha256=6Md9KVezKbJXIVzHgS37wr6OUVPHvRA0SENZ15MnRA0,3544
@@ -109,51 +109,51 @@ meerschaum/api/routes/_actions.py,sha256=nPLJlhnl0kDjsjFiBmUub63fe1N1_4cVimmlxtI
109
109
  meerschaum/api/routes/_connectors.py,sha256=jxieg6F5DLBuUDb-Oq-WyU1HEogjCKWZIrwQCq3b0lg,1803
110
110
  meerschaum/api/routes/_index.py,sha256=QI6CBo6pI2Zi0a6fJHDjZfiLa9f4okb0BGe3A_JD0kM,578
111
111
  meerschaum/api/routes/_login.py,sha256=Xi4-1jowDkosbo8NvxIEMQ2U3A5e9oyn0lNe2v0KB_Q,1882
112
- meerschaum/api/routes/_misc.py,sha256=Hp8a_dLleGR0EiG02d52JsBqUDdY7wo2LqP15xGCaTY,1714
112
+ meerschaum/api/routes/_misc.py,sha256=05--9ZVFeaCgZrHER2kA3SYdK4TyfkEXOCjLvPbum-w,2469
113
113
  meerschaum/api/routes/_pipes.py,sha256=OuinD6XLLSDye76fe6ySvkDOS3ilXHnCcp1B5xY3giY,21169
114
114
  meerschaum/api/routes/_plugins.py,sha256=R3LVZZrZ7fHTzzFqMqEiWndWk9rh8yk78kn2xP27Wdk,6151
115
115
  meerschaum/api/routes/_users.py,sha256=SfAkZFKrKnGjpzj8SFIKzPemzQJOH3oB72h19EaUvcQ,7204
116
116
  meerschaum/api/routes/_version.py,sha256=2t-nw_9IxCVZCNEar0LOwmut2zsClRVHjiOOUx16cu0,825
117
117
  meerschaum/api/routes/_webterm.py,sha256=LhYySOwk3YkfoK7PEB8KAW-XjQuu8vkKtsvx2F6zAGE,4473
118
118
  meerschaum/api/tables/__init__.py,sha256=yDPiUA01EEc_YgkjKT7jAl93xGPNpVRAh8EYIhVuInY,615
119
- meerschaum/config/__init__.py,sha256=Bkc88C22iEiTt3UFfkCpajb_6QUhBeT-gZ4xlzMyNcc,11629
119
+ meerschaum/config/__init__.py,sha256=MrsDaLvF98biffvuEEfAzrHPzyA9HtfF_8whKtcLkak,11569
120
120
  meerschaum/config/_default.py,sha256=dh9UFfd_jh_MwYyGni9QOWuiGtQ-26Xapo5z-wiSJzA,5135
121
- meerschaum/config/_edit.py,sha256=G0scaR1rYV40BN0FjHYPtgBED9BSWt_G5bE94eNMTok,8807
121
+ meerschaum/config/_edit.py,sha256=z7gBr5YGYkUbwkUsZwd9xncmxttkdxcS9cVbgLo2zCA,8679
122
122
  meerschaum/config/_environment.py,sha256=PNo0rgiUnp0XnplC1ID-d97AKw4gc0Cc4g-jr126gwg,4507
123
123
  meerschaum/config/_formatting.py,sha256=_k695TiK5ljWDR1F2HymhjvngJ9GuYoQ5p5vyCo6rj4,5556
124
124
  meerschaum/config/_jobs.py,sha256=xBkx64w--_KBmRo6zNbCcWinOjkoDESSeYZHLylxErE,647
125
125
  meerschaum/config/_patch.py,sha256=oA5jHIZwg3eH6-Z8qvabPhTU3DgN91uvyqpm5UL8DuY,1508
126
126
  meerschaum/config/_paths.py,sha256=JvNeYlk7cOy56ZLM_baC0d7_w5Wkc_34JAl1Fkck-L8,6648
127
127
  meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6wLs,1220
128
- meerschaum/config/_read_config.py,sha256=4GzNM0iRysuE9cY2wU_HZlTCs0pvJ9SgF7BCuOCif9k,14567
128
+ meerschaum/config/_read_config.py,sha256=d2oBR-5vKHuRmOaaRqxK-HPJNAuieR2DS8S0u1tqorg,14532
129
129
  meerschaum/config/_shell.py,sha256=k6PH0BEr2imhgURLYlR5p6s5gXfYpWoyZSV29U-SsXk,3589
130
- meerschaum/config/_sync.py,sha256=vPdr6XBYM3k8xLyWbWSXpFh6pNIsbchIkJDw-gKZjgU,4968
131
- meerschaum/config/_version.py,sha256=divAMHV9mSB-ajMTBft-LCkahZMyK7ZdxiQ3mw0B0to,71
130
+ meerschaum/config/_sync.py,sha256=Q-sz5YcjL3CJS2Dyw4rVRQsz9th9GWa9o5F9D0Jrmn8,4120
131
+ meerschaum/config/_version.py,sha256=rF48xaT57j3K6oF-U6QY6bsJBqPsF8NI_rmkzBhCWJU,71
132
132
  meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
- meerschaum/config/stack/__init__.py,sha256=yqHhAqq9OwfPAiFEgTwhd_Lu8TRRKNw3AUiS612STnk,8604
133
+ meerschaum/config/stack/__init__.py,sha256=nPI-w39jFnVQRHDmT-btCo26TjLlum-g8MsmEQrZ8OM,8996
134
134
  meerschaum/config/stack/grafana/__init__.py,sha256=wzuoch_AK49lcn7lH2qTSJ_PPbSagF4lcweeipz_XiE,2010
135
135
  meerschaum/config/stack/mosquitto/__init__.py,sha256=-OwOjq8KiBoSH_pmgCAAF3Dp3CRD4KgAEdimZSadROs,186
136
136
  meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
- meerschaum/config/static/__init__.py,sha256=EbkGAX_6PYMG20ZkVqaZbKcckQjGVOeiq4TSm8dbvfs,3776
138
+ meerschaum/config/static/__init__.py,sha256=U-m7UMZK9f9lGQSEq_JTnCbWCnImICd0K2MY2HAPOD4,3980
139
139
  meerschaum/connectors/Connector.py,sha256=cJKinmk7eWZwCBvtX4H9r66macTZOY1qjxR7JUEmDmg,6381
140
140
  meerschaum/connectors/__init__.py,sha256=8YChOc24mtcz4QnentdEaSm9Wh9H2b5EJlyDaiodHbY,12064
141
- meerschaum/connectors/parse.py,sha256=QuYTEfTsXJWmbzF11jSK64eXmvVZojr2ceo3Y8akTaY,4048
141
+ meerschaum/connectors/parse.py,sha256=gidA2jvOLTvEeL5hM9JjcUwkMRBadUhd4IfA5Jy1tgg,4044
142
142
  meerschaum/connectors/poll.py,sha256=gIY9TvFBqMvMNQvR0O2No7koLLz2PjfExBr_Dsosgpg,7363
143
143
  meerschaum/connectors/api/APIConnector.py,sha256=JmAg7TU0akEiDMXuoGdFLL5jRhV4whl6WcM1nmGQbTY,4055
144
144
  meerschaum/connectors/api/__init__.py,sha256=JwKrGtuE5aOd2VnsRwudFBYyBf5IxczOwPVdNvCUgSQ,205
145
- meerschaum/connectors/api/_actions.py,sha256=FENSd48rFocLP0MiHvbFnfalPIdvvcN7gCPRqY9Zwy8,2759
145
+ meerschaum/connectors/api/_actions.py,sha256=YtfW6GlHct_azF8DjvXpAgNpnQnVF9kYITcfz7C0g9Q,2755
146
146
  meerschaum/connectors/api/_delete.py,sha256=2OXR6I-SWIH4uwK4D0x3_dCVZltRPb-9mqlZCU9Jor0,945
147
147
  meerschaum/connectors/api/_fetch.py,sha256=aA7jB9hgvxv7du44giUJXo50M-VCAmTkq918DmWtX4M,2056
148
148
  meerschaum/connectors/api/_get.py,sha256=6O-2YzKeeYYkV5GO4vE2Zek5MVcOW_KLkI10WNvEbwo,1572
149
- meerschaum/connectors/api/_login.py,sha256=H2kDjW4tqpaU9bkmxUQf-DvS7CjH7qyjlQLXjgMMI6I,2054
150
- meerschaum/connectors/api/_misc.py,sha256=qD8MWQhm88RhaYnnFW0r1lT9joPSR8VwuMeIyK7yUtA,1185
149
+ meerschaum/connectors/api/_login.py,sha256=5GsD-B214vr5EYfM3XrTUs1sTFApxZA-9dNxq8oNSyg,2050
150
+ meerschaum/connectors/api/_misc.py,sha256=SIAiob8LjlCsvodKbAhYdrk_7HAKAv-lWkCHBoj30qI,1093
151
151
  meerschaum/connectors/api/_patch.py,sha256=2i4X7E3ZUQXEqwwP3YUC9ik37HSS1NLKcN1k76kKPO0,933
152
152
  meerschaum/connectors/api/_pipes.py,sha256=N7_ejXYngqOJmT-AIMxsSpPM_hW3CADJYX_AucRh8-c,19986
153
- meerschaum/connectors/api/_plugins.py,sha256=oOUDtrR8AZh1riBGQls3yMUPihs1cBM7dOQN56Hzu0I,5227
153
+ meerschaum/connectors/api/_plugins.py,sha256=0qGXF_dFFHoetxM4aP9FHzyUVx7SWgvYgbCoFk7gQgk,5163
154
154
  meerschaum/connectors/api/_post.py,sha256=uB6IS2HhStM70ZbeEwmpC0ysHGfJcuP4Q5DEWkq1ngU,922
155
155
  meerschaum/connectors/api/_uri.py,sha256=h4Gj63f0q2V-TNMd8aAkQZMIj_-pA6uGacg_RNEJILI,1489
156
- meerschaum/connectors/api/_users.py,sha256=hIHSs44iMF6pX9BnDgbcfRX6yx_ToqOHPp99ysDU5Oo,5303
156
+ meerschaum/connectors/api/_users.py,sha256=kzb7ENgXwQ19OJYKOuuWzx2rwVuUZCly9dTnyvVuT2Q,5275
157
157
  meerschaum/connectors/plugin/PluginConnector.py,sha256=aQ1QaB7MordCFimZqoGLb0R12PfDUN_nWks2J5mzeAs,2084
158
158
  meerschaum/connectors/plugin/__init__.py,sha256=pwF7TGY4WNz2_HaVdmK4rPQ9ZwTOEuPHgzOqsGcoXJw,198
159
159
  meerschaum/connectors/sql/SQLConnector.py,sha256=-euOM9_XoVye0T3sV656DpF8ogl9hKxBeOxUGuxAqwY,9067
@@ -165,7 +165,7 @@ meerschaum/connectors/sql/_pipes.py,sha256=L-P0R9K8UOCv-IlfReb6KSB0QXrzlS0LgdDbX
165
165
  meerschaum/connectors/sql/_plugins.py,sha256=KAJo8LQMuuXf7nKJzm-pqiFRhWx34LKfF8PiAHPGH6M,8126
166
166
  meerschaum/connectors/sql/_sql.py,sha256=7xih81QAXhoPzdlwTCMfA9NnWPpnLxpHfzYeWYl9dDM,26997
167
167
  meerschaum/connectors/sql/_uri.py,sha256=qCdCpw6IEVfLGw3E008ChlpdUYwpmadrM79MkGKwqtw,3312
168
- meerschaum/connectors/sql/_users.py,sha256=bx_J60CycKZC8ZSuJYhaVfK2z9UB7f20wRvRoKyatYU,10095
168
+ meerschaum/connectors/sql/_users.py,sha256=_d12bx2OPgZbKPaFt8sFuxo9wUS3iELB0urwfBFkrpY,10105
169
169
  meerschaum/connectors/sql/tools.py,sha256=jz8huOaRCwGlYdtGfAqAh7SoK8uydYBrasKQba9FT38,187
170
170
  meerschaum/connectors/sql/tables/__init__.py,sha256=ZfwNDXI5ZeBr33mBq8-XDHv4-RaoituBmIhEnItvscA,6489
171
171
  meerschaum/connectors/sql/tables/types.py,sha256=Jc_MTHIBM-KHpQt__Lckp39CeOo7tGOiAk5faDx-znY,1573
@@ -184,7 +184,7 @@ meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2
184
184
  meerschaum/core/Pipe/_show.py,sha256=nG50y8eBT9TVuKkRgAKtNDNIxysJvMNxfu__lkL1F9k,1352
185
185
  meerschaum/core/Pipe/_sync.py,sha256=FAh7IbDW1fIsZNgOLzwWW3RUFVFmAeNPVJAahXELjiU,26496
186
186
  meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_uSJJDc,137
187
- meerschaum/core/User/_User.py,sha256=IjnMRccUmIER_bUtxy6jlXlch8r9sddMrWWnLeejGno,2362
187
+ meerschaum/core/User/_User.py,sha256=waVdpH4SFZSXNYBgX5KFQ8csbCSxRLI5T2efAzVONks,2448
188
188
  meerschaum/core/User/__init__.py,sha256=EiL0rYdtNeu2HqXFLurJcyomjyw3UTFdAR8rgb_vlbU,161
189
189
  meerschaum/plugins/_Plugin.py,sha256=Vzu5I01sjM9r_pbI13qYZXw2BxByi0ZPbWXy2O0rdgk,33813
190
190
  meerschaum/plugins/__init__.py,sha256=ffoZ3kOK-mS2Aa7MZ6I7rfYosYTnscsCJMA8JqaAmtI,18398
@@ -215,13 +215,13 @@ meerschaum/utils/formatting/_shell.py,sha256=ox75O7VHDAiwzSvdMSJZhXLadvAqYJVeihU
215
215
  meerschaum/utils/packages/__init__.py,sha256=7aBYiXAIMzu8VAhSVHtkJb-Oias6oIeq4rdzy8UBEeI,53718
216
216
  meerschaum/utils/packages/_packages.py,sha256=EHNw4N04_xgNosRxCxJY30t55S40Uyo-3ddmyPMmyQs,8106
217
217
  meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
218
- meerschaum/utils/venv/_Venv.py,sha256=oKuSNYsFfsKQhrsV5TViPekRHvjUXyJ-hChMPqSxnlw,3479
219
- meerschaum/utils/venv/__init__.py,sha256=DzyBp2tvTp5gl1qp52iTHh6hCDT8VkpiV1_ghXpg6ak,22150
220
- meerschaum-1.7.1.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
221
- meerschaum-1.7.1.dist-info/METADATA,sha256=PaBKI3ZZI950zjTpPBZUJCkycYk5agh0HffscCdgNak,24599
222
- meerschaum-1.7.1.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
223
- meerschaum-1.7.1.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
224
- meerschaum-1.7.1.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
225
- meerschaum-1.7.1.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
226
- meerschaum-1.7.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
227
- meerschaum-1.7.1.dist-info/RECORD,,
218
+ meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
219
+ meerschaum/utils/venv/__init__.py,sha256=kPgXtjJkqhl5pbpOoVS6uXh8BRzViHjPqqHnT0r_eRY,22288
220
+ meerschaum-1.7.3.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
221
+ meerschaum-1.7.3.dist-info/METADATA,sha256=dJn3kXgeuzwDgtWgaQP2lw744vhjgZ7_pwOxDh7bEjE,24146
222
+ meerschaum-1.7.3.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
223
+ meerschaum-1.7.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
224
+ meerschaum-1.7.3.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
225
+ meerschaum-1.7.3.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
226
+ meerschaum-1.7.3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
227
+ meerschaum-1.7.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5