Metadata-Version: 2.1
Name: meerschaum
Version: 0.4.12
Summary: Create and Manage Pipes with Meerschaum
Home-page: https://meerschaum.io
Author: Bennett Meares
Author-email: bennett.meares@gmail.com
Maintainer-email: bennett.meares@gmail.com
License: Apache Software License 2.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Programming Language :: SQL
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Database
Classifier: Natural Language :: English
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: wheel (>=0.34.2)
Requires-Dist: PyYAML (>=5.3.1)
Requires-Dist: virtualenv (>=20.1.0)
Provides-Extra: _required
Requires-Dist: pip (>=21.0.1) ; extra == '_required'
Requires-Dist: update-checker (>=0.18.0) ; extra == '_required'
Requires-Dist: semver (>=2.13.0) ; extra == '_required'
Requires-Dist: python-dateutil (>=2.7.5) ; extra == '_required'
Requires-Dist: requests (>=2.23.0) ; extra == '_required'
Requires-Dist: binaryornot (>=0.4.4) ; extra == '_required'
Requires-Dist: dill (>=0.3.3) ; extra == '_required'
Requires-Dist: pyvim (>=3.0.2) ; extra == '_required'
Requires-Dist: aiofiles (>=0.6.0) ; extra == '_required'
Requires-Dist: packaging (>=20.4) ; extra == '_required'
Requires-Dist: prompt-toolkit (>=3.0.11) ; extra == '_required'
Requires-Dist: more-itertools (>=8.7.0) ; extra == '_required'
Requires-Dist: daemoniker (>=0.2.3) ; extra == '_required'
Requires-Dist: psutil (>=5.8.0) ; extra == '_required'
Requires-Dist: watchgod (>=0.7) ; extra == '_required'
Requires-Dist: pygtail (>=0.11.1) ; extra == '_required'
Provides-Extra: api
Requires-Dist: uvicorn[standard] (>=0.13.4) ; extra == 'api'
Requires-Dist: websockets (>=8.1) ; extra == 'api'
Requires-Dist: fastapi (>=0.61.2) ; extra == 'api'
Requires-Dist: fastapi-jwt-auth (>=0.5.0) ; extra == 'api'
Requires-Dist: passlib (>=1.7.4) ; extra == 'api'
Requires-Dist: fastapi-login (>=1.7.2) ; extra == 'api'
Requires-Dist: python-multipart (>=0.0.5) ; extra == 'api'
Requires-Dist: numpy (>=1.18.5) ; extra == 'api'
Requires-Dist: pandas (>=1.1.4) ; extra == 'api'
Requires-Dist: joblib (>=0.17.0) ; extra == 'api'
Requires-Dist: sqlalchemy (>=1.4.17) ; extra == 'api'
Requires-Dist: sqlalchemy-utils (>=0.37.3) ; extra == 'api'
Requires-Dist: databases (>=0.4.0) ; extra == 'api'
Requires-Dist: aiosqlite (>=0.16.0) ; extra == 'api'
Requires-Dist: asyncpg (>=0.21.0) ; extra == 'api'
Requires-Dist: psycopg2-binary (>=2.8.6) ; extra == 'api'
Requires-Dist: PyMySQL (>=0.9) ; extra == 'api'
Requires-Dist: aiomysql (>=0.0.21) ; extra == 'api'
Requires-Dist: sqlalchemy-cockroachdb (>=1.3.2) ; extra == 'api'
Requires-Dist: duckdb (>=0.2.6) ; extra == 'api'
Requires-Dist: duckdb-engine (>=0.1.3) ; extra == 'api'
Requires-Dist: pip (>=21.0.1) ; extra == 'api'
Requires-Dist: update-checker (>=0.18.0) ; extra == 'api'
Requires-Dist: semver (>=2.13.0) ; extra == 'api'
Requires-Dist: python-dateutil (>=2.7.5) ; extra == 'api'
Requires-Dist: requests (>=2.23.0) ; extra == 'api'
Requires-Dist: binaryornot (>=0.4.4) ; extra == 'api'
Requires-Dist: dill (>=0.3.3) ; extra == 'api'
Requires-Dist: pyvim (>=3.0.2) ; extra == 'api'
Requires-Dist: aiofiles (>=0.6.0) ; extra == 'api'
Requires-Dist: packaging (>=20.4) ; extra == 'api'
Requires-Dist: prompt-toolkit (>=3.0.11) ; extra == 'api'
Requires-Dist: more-itertools (>=8.7.0) ; extra == 'api'
Requires-Dist: daemoniker (>=0.2.3) ; extra == 'api'
Requires-Dist: psutil (>=5.8.0) ; extra == 'api'
Requires-Dist: watchgod (>=0.7) ; extra == 'api'
Requires-Dist: pygtail (>=0.11.1) ; extra == 'api'
Requires-Dist: pprintpp (>=0.4.0) ; extra == 'api'
Requires-Dist: asciitree (>=0.3.3) ; extra == 'api'
Requires-Dist: typing-extensions (>=3.7.4.3) ; extra == 'api'
Requires-Dist: pygments (>=2.7.2) ; extra == 'api'
Requires-Dist: colorama (>=0.4.3) ; extra == 'api'
Requires-Dist: rich (>=10.12.0) ; extra == 'api'
Requires-Dist: more-termcolor (>=1.1.3) ; extra == 'api'
Requires-Dist: humanfriendly (>=10.0) ; extra == 'api'
Requires-Dist: dash (>=2.0.0) ; extra == 'api'
Requires-Dist: dash-bootstrap-components (>=1.0.1rc1) ; extra == 'api'
Requires-Dist: dash-ace (>=0.2.1) ; extra == 'api'
Requires-Dist: dash-extensions (>=0.0.51) ; extra == 'api'
Requires-Dist: dash-daq (>=0.5.0) ; extra == 'api'
Requires-Dist: ansi2html (>=1.6.0) ; extra == 'api'
Provides-Extra: build
Requires-Dist: cx-Freeze (>=6.5.1) ; extra == 'build'
Requires-Dist: pyinstaller (>=5.0.dev0) ; extra == 'build'
Provides-Extra: cli
Requires-Dist: pgcli (>=3.1.0) ; extra == 'cli'
Requires-Dist: mycli (>=1.23.2) ; extra == 'cli'
Requires-Dist: litecli (>=1.5.0) ; extra == 'cli'
Requires-Dist: mssql-cli (>=1.0.0) ; extra == 'cli'
Provides-Extra: dash
Requires-Dist: dash (>=2.0.0) ; extra == 'dash'
Requires-Dist: dash-bootstrap-components (>=1.0.1rc1) ; extra == 'dash'
Requires-Dist: dash-ace (>=0.2.1) ; extra == 'dash'
Requires-Dist: dash-extensions (>=0.0.51) ; extra == 'dash'
Requires-Dist: dash-daq (>=0.5.0) ; extra == 'dash'
Requires-Dist: ansi2html (>=1.6.0) ; extra == 'dash'
Provides-Extra: dev-tools
Requires-Dist: twine (>=3.2.0) ; extra == 'dev-tools'
Requires-Dist: tuna (>=0.5.3) ; extra == 'dev-tools'
Requires-Dist: snakeviz (>=2.1.0) ; extra == 'dev-tools'
Requires-Dist: mypy (>=0.812) ; extra == 'dev-tools'
Requires-Dist: pytest (>=6.2.2) ; extra == 'dev-tools'
Requires-Dist: heartrate (>=0.2.1) ; extra == 'dev-tools'
Requires-Dist: py-heat (>=0.0.6) ; extra == 'dev-tools'
Provides-Extra: docs
Requires-Dist: mkdocs (>=1.1.2) ; extra == 'docs'
Requires-Dist: pdoc3 (>=0.9.2) ; extra == 'docs'
Requires-Dist: mkdocs-material (>=6.2.5) ; extra == 'docs'
Requires-Dist: mkdocs-autolinks-plugin (>=0.2.0) ; extra == 'docs'
Requires-Dist: mkdocs-awesome-pages-plugin (>=2.5.0) ; extra == 'docs'
Requires-Dist: mkdocs-rss-plugin (>=0.16.1) ; extra == 'docs'
Provides-Extra: drivers
Requires-Dist: psycopg2-binary (>=2.8.6) ; extra == 'drivers'
Requires-Dist: PyMySQL (>=0.9) ; extra == 'drivers'
Requires-Dist: aiomysql (>=0.0.21) ; extra == 'drivers'
Requires-Dist: sqlalchemy-cockroachdb (>=1.3.2) ; extra == 'drivers'
Requires-Dist: duckdb (>=0.2.6) ; extra == 'drivers'
Requires-Dist: duckdb-engine (>=0.1.3) ; extra == 'drivers'
Provides-Extra: extras
Requires-Dist: cmd2 (>=1.4.0) ; extra == 'extras'
Requires-Dist: ruamel.yaml (>=0.16.12) ; extra == 'extras'
Requires-Dist: pandasgui (>=0.2.9) ; extra == 'extras'
Requires-Dist: modin[ray] (>=0.8.3) ; extra == 'extras'
Provides-Extra: formatting
Requires-Dist: pprintpp (>=0.4.0) ; extra == 'formatting'
Requires-Dist: asciitree (>=0.3.3) ; extra == 'formatting'
Requires-Dist: typing-extensions (>=3.7.4.3) ; extra == 'formatting'
Requires-Dist: pygments (>=2.7.2) ; extra == 'formatting'
Requires-Dist: colorama (>=0.4.3) ; extra == 'formatting'
Requires-Dist: rich (>=10.12.0) ; extra == 'formatting'
Requires-Dist: more-termcolor (>=1.1.3) ; extra == 'formatting'
Requires-Dist: humanfriendly (>=10.0) ; extra == 'formatting'
Provides-Extra: full
Requires-Dist: wheel (>=0.34.2) ; extra == 'full'
Requires-Dist: PyYAML (>=5.3.1) ; extra == 'full'
Requires-Dist: virtualenv (>=20.1.0) ; extra == 'full'
Requires-Dist: pprintpp (>=0.4.0) ; extra == 'full'
Requires-Dist: asciitree (>=0.3.3) ; extra == 'full'
Requires-Dist: typing-extensions (>=3.7.4.3) ; extra == 'full'
Requires-Dist: pygments (>=2.7.2) ; extra == 'full'
Requires-Dist: colorama (>=0.4.3) ; extra == 'full'
Requires-Dist: rich (>=10.12.0) ; extra == 'full'
Requires-Dist: more-termcolor (>=1.1.3) ; extra == 'full'
Requires-Dist: humanfriendly (>=10.0) ; extra == 'full'
Requires-Dist: pip (>=21.0.1) ; extra == 'full'
Requires-Dist: update-checker (>=0.18.0) ; extra == 'full'
Requires-Dist: semver (>=2.13.0) ; extra == 'full'
Requires-Dist: python-dateutil (>=2.7.5) ; extra == 'full'
Requires-Dist: requests (>=2.23.0) ; extra == 'full'
Requires-Dist: binaryornot (>=0.4.4) ; extra == 'full'
Requires-Dist: dill (>=0.3.3) ; extra == 'full'
Requires-Dist: pyvim (>=3.0.2) ; extra == 'full'
Requires-Dist: aiofiles (>=0.6.0) ; extra == 'full'
Requires-Dist: packaging (>=20.4) ; extra == 'full'
Requires-Dist: prompt-toolkit (>=3.0.11) ; extra == 'full'
Requires-Dist: more-itertools (>=8.7.0) ; extra == 'full'
Requires-Dist: daemoniker (>=0.2.3) ; extra == 'full'
Requires-Dist: psutil (>=5.8.0) ; extra == 'full'
Requires-Dist: watchgod (>=0.7) ; extra == 'full'
Requires-Dist: pygtail (>=0.11.1) ; extra == 'full'
Requires-Dist: paho-mqtt (>=1.5.1) ; extra == 'full'
Requires-Dist: psycopg2-binary (>=2.8.6) ; extra == 'full'
Requires-Dist: PyMySQL (>=0.9) ; extra == 'full'
Requires-Dist: aiomysql (>=0.0.21) ; extra == 'full'
Requires-Dist: sqlalchemy-cockroachdb (>=1.3.2) ; extra == 'full'
Requires-Dist: duckdb (>=0.2.6) ; extra == 'full'
Requires-Dist: duckdb-engine (>=0.1.3) ; extra == 'full'
Requires-Dist: docker (>=4.3.1) ; extra == 'full'
Requires-Dist: docker-compose (>=1.27.4) ; extra == 'full'
Requires-Dist: numpy (>=1.18.5) ; extra == 'full'
Requires-Dist: pandas (>=1.1.4) ; extra == 'full'
Requires-Dist: joblib (>=0.17.0) ; extra == 'full'
Requires-Dist: sqlalchemy (>=1.4.17) ; extra == 'full'
Requires-Dist: sqlalchemy-utils (>=0.37.3) ; extra == 'full'
Requires-Dist: databases (>=0.4.0) ; extra == 'full'
Requires-Dist: aiosqlite (>=0.16.0) ; extra == 'full'
Requires-Dist: asyncpg (>=0.21.0) ; extra == 'full'
Requires-Dist: dash (>=2.0.0) ; extra == 'full'
Requires-Dist: dash-bootstrap-components (>=1.0.1rc1) ; extra == 'full'
Requires-Dist: dash-ace (>=0.2.1) ; extra == 'full'
Requires-Dist: dash-extensions (>=0.0.51) ; extra == 'full'
Requires-Dist: dash-daq (>=0.5.0) ; extra == 'full'
Requires-Dist: ansi2html (>=1.6.0) ; extra == 'full'
Requires-Dist: uvicorn[standard] (>=0.13.4) ; extra == 'full'
Requires-Dist: websockets (>=8.1) ; extra == 'full'
Requires-Dist: fastapi (>=0.61.2) ; extra == 'full'
Requires-Dist: fastapi-jwt-auth (>=0.5.0) ; extra == 'full'
Requires-Dist: passlib (>=1.7.4) ; extra == 'full'
Requires-Dist: fastapi-login (>=1.7.2) ; extra == 'full'
Requires-Dist: python-multipart (>=0.0.5) ; extra == 'full'
Provides-Extra: iot
Requires-Dist: paho-mqtt (>=1.5.1) ; extra == 'iot'
Provides-Extra: minimal
Provides-Extra: portable
Requires-Dist: gnureadline (>=8.0.0) ; (platform_system != "Windows") and extra == 'portable'
Requires-Dist: pyreadline3 (>=3.3) ; (platform_system == "Windows") and extra == 'portable'
Provides-Extra: required
Requires-Dist: wheel (>=0.34.2) ; extra == 'required'
Requires-Dist: PyYAML (>=5.3.1) ; extra == 'required'
Requires-Dist: virtualenv (>=20.1.0) ; extra == 'required'
Provides-Extra: setup
Provides-Extra: sql
Requires-Dist: numpy (>=1.18.5) ; extra == 'sql'
Requires-Dist: pandas (>=1.1.4) ; extra == 'sql'
Requires-Dist: joblib (>=0.17.0) ; extra == 'sql'
Requires-Dist: sqlalchemy (>=1.4.17) ; extra == 'sql'
Requires-Dist: sqlalchemy-utils (>=0.37.3) ; extra == 'sql'
Requires-Dist: databases (>=0.4.0) ; extra == 'sql'
Requires-Dist: aiosqlite (>=0.16.0) ; extra == 'sql'
Requires-Dist: asyncpg (>=0.21.0) ; extra == 'sql'
Requires-Dist: psycopg2-binary (>=2.8.6) ; extra == 'sql'
Requires-Dist: PyMySQL (>=0.9) ; extra == 'sql'
Requires-Dist: aiomysql (>=0.0.21) ; extra == 'sql'
Requires-Dist: sqlalchemy-cockroachdb (>=1.3.2) ; extra == 'sql'
Requires-Dist: duckdb (>=0.2.6) ; extra == 'sql'
Requires-Dist: duckdb-engine (>=0.1.3) ; extra == 'sql'
Provides-Extra: stack
Requires-Dist: docker (>=4.3.1) ; extra == 'stack'
Requires-Dist: docker-compose (>=1.27.4) ; extra == 'stack'

<img src="https://meerschaum.io/assets/banner_1920x320.png" alt="Meerschaum banner">

| PyPI                                                         | GitHub                                                       | License                                                      |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ![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) | ![PyPI - License](https://img.shields.io/pypi/l/meerschaum?label=License) |
| ![PyPI - Python Version]( https://img.shields.io/pypi/pyversions/meerschaum?label=Python&logo=python&logoColor=%23ffffff ) | ![Lines of code]( https://img.shields.io/tokei/lines/github/bmeares/Meerschaum?label=Total%20Lines ) |                                                              |


# What is Meerschaum?
Meerschaum is a platform for quickly creating and managing time-series data streams called **pipes**. With Meerschaum, you can have a data visualization stack running in minutes.

The power of the Meerschaum system comes from projects like [pandas](https://pandas.pydata.org/), [sqlalchemy](https://www.sqlalchemy.org/), [fastapi](https://fastapi.tiangolo.com/), and more.

# Why Meerschaum?

If you've worked with time-series data, you know the headaches that come with ETL. Meerschaum is a system that makes consolidating and syncing data easy.

Meerschaum instead gives you better tools to define and sync your data streams. And don't worry — you can always incorporate Meerschaum into your existing scripts.

# Quick Start

For a more thorough setup guide, visit the [Getting Started](https://meerschaum.io/get-started/) page at [meerschaum.io](https://meerschaum.io).

## TL;DR

```bash
pip install -U --user meerschaum
mrsm stack up -d db grafana
mrsm bootstrap pipes
```

## Usage Documentation

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).

## Plugins

Here is the [list of community plugins](https://meerschaum.io/reference/plugins/list-of-plugins/).

For details on installing, using, and writing plugins, check out the [plugins documentation](https://meerschaum.io/reference/plugins/types-of-plugins) at [meerschaum.io](https://meerschaum.io).

# Support Meerschaum's Development

I'm a full-time graduate student, and I work on Meerschaum in my free time. If you enjoy Meerschaum and want to support its development, you can [buy me a beer (or coffee)](https://www.buymeacoffee.com/bmeares).


