Name | bytewax-valkey JSON |
Version |
0.3.0
JSON |
| download |
home_page | None |
Summary | Valkey connectors for Bytewax |
upload_time | 2025-01-12 00:46:59 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | None |
keywords |
bytewax
valkey
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[][pypi-package]
# Bytewax Valkey
[Valkey][valkey] connectors for [Bytewax][bytewax].
This connector offers 3 sources and 2 sinks:
* `StreamSink` - writes [Valkey streams][valkey-streams] using `xadd`
* `StreamSource` - reads [Valkey streams][valkey-streams] using `xread`
* `PubSubSink` - writes [Valkey pubsub][valkey-pubsub] using `publish`
* `PubSubSource` - reads [Valkey pubsub][valkey-pubsub] using `subscribe`
* `PubSubPatternSource` - reads [Valkey pubsub][valkey-pubsub] using `psubscribe`
## Installation
This package is available via [PyPi][pypi-package] as
`bytewax-valkey` and can be installed via your package manager of choice.
## Usage
### Pub/Sub Source
```python
import os
from bytewax_valkey import PubSubSource
from bytewax.connectors.stdio import StdOutSink
import bytewax.operators as op
from bytewax.dataflow import Dataflow
VALKEY_URL = os.environ["VALKEY_URL"]
flow = Dataflow("valkey_example")
flow_input = op.input("input", flow, PubSubSource.from_url(VALKEY_URL, "example"))
op.output("output", flow_input, StdOutSink())
```
### Pub/Sub Pattern Source
```python
import os
from bytewax_valkey import PubSubPatternSource
from bytewax.connectors.stdio import StdOutSink
import bytewax.operators as op
from bytewax.dataflow import Dataflow
VALKEY_URL = os.environ["VALKEY_URL"]
flow = Dataflow("valkey_example")
flow_input = op.input("input", flow, PubSubPatternSource.from_url(VALKEY_URL, "example*"))
op.output("output", flow_input, StdOutSink())
```
### Pub/Sub Sink
```python
import os
from bytewax_valkey import PubSubSink
from bytewax.testing import TestingSource
import bytewax.operators as op
from bytewax.dataflow import Dataflow
VALKEY_URL = os.environ["VALKEY_URL"]
flow = Dataflow("valkey_example")
flow_input = op.input("input", flow, TestingSource([b"example message"]))
op.output("output", flow_input, PubSubSink.from_url(VALKEY_URL, "example"))
```
### Stream Source
```python
import os
from bytewax_valkey import StreamSource
from bytewax.connectors.stdio import StdOutSink
import bytewax.operators as op
from bytewax.dataflow import Dataflow
VALKEY_URL = os.environ["VALKEY_URL"]
flow = Dataflow("valkey_example")
flow_input = op.input("input", flow, StreamSource.from_url(VALKEY_URL, "example"))
op.output("output", flow_input, StdOutSink())
```
### Stream Sink
```python
import os
from bytewax_valkey import StreamSink
from bytewax.testing import TestingSource
import bytewax.operators as op
from bytewax.dataflow import Dataflow
VALKEY_URL = os.environ["VALKEY_URL"]
flow = Dataflow("valkey_example")
flow_input = op.input("input", flow, TestingSource([{"key": "value"}]))
op.output("output", flow_input, StreamSink.from_url(VALKEY_URL, "example"))
```
## License
Licensed under the [MIT License](./LICENSE).
[valkey]: https://valkey.io
[bytewax]: https://bytewax.io
[valkey-streams]: https://valkey.io/topics/streams-intro/
[valkey-pubsub]: https://valkey.io/topics/pubsub/
[pypi-package]: https://pypi.org/project/bytewax-valkey
Raw data
{
"_id": null,
"home_page": null,
"name": "bytewax-valkey",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "bytewax, valkey",
"author": null,
"author_email": "James Ward <james@notjam.es>",
"download_url": "https://files.pythonhosted.org/packages/ab/08/1610347d4071e36be58d84db0244de68827c688fb607689fff22a48bc9fb/bytewax_valkey-0.3.0.tar.gz",
"platform": null,
"description": "[][pypi-package]\n\n# Bytewax Valkey\n\n[Valkey][valkey] connectors for [Bytewax][bytewax].\n\nThis connector offers 3 sources and 2 sinks:\n\n* `StreamSink` - writes [Valkey streams][valkey-streams] using `xadd`\n* `StreamSource` - reads [Valkey streams][valkey-streams] using `xread`\n* `PubSubSink` - writes [Valkey pubsub][valkey-pubsub] using `publish`\n* `PubSubSource` - reads [Valkey pubsub][valkey-pubsub] using `subscribe`\n* `PubSubPatternSource` - reads [Valkey pubsub][valkey-pubsub] using `psubscribe`\n\n## Installation\n\nThis package is available via [PyPi][pypi-package] as\n`bytewax-valkey` and can be installed via your package manager of choice.\n\n## Usage\n\n### Pub/Sub Source\n\n```python\nimport os\n\nfrom bytewax_valkey import PubSubSource\nfrom bytewax.connectors.stdio import StdOutSink\n\nimport bytewax.operators as op\nfrom bytewax.dataflow import Dataflow\n\nVALKEY_URL = os.environ[\"VALKEY_URL\"]\n\nflow = Dataflow(\"valkey_example\")\nflow_input = op.input(\"input\", flow, PubSubSource.from_url(VALKEY_URL, \"example\"))\nop.output(\"output\", flow_input, StdOutSink())\n```\n\n### Pub/Sub Pattern Source\n\n```python\nimport os\n\nfrom bytewax_valkey import PubSubPatternSource\nfrom bytewax.connectors.stdio import StdOutSink\n\nimport bytewax.operators as op\nfrom bytewax.dataflow import Dataflow\n\nVALKEY_URL = os.environ[\"VALKEY_URL\"]\n\nflow = Dataflow(\"valkey_example\")\nflow_input = op.input(\"input\", flow, PubSubPatternSource.from_url(VALKEY_URL, \"example*\"))\nop.output(\"output\", flow_input, StdOutSink())\n```\n\n### Pub/Sub Sink\n\n```python\nimport os\n\nfrom bytewax_valkey import PubSubSink\nfrom bytewax.testing import TestingSource\n\nimport bytewax.operators as op\nfrom bytewax.dataflow import Dataflow\n\nVALKEY_URL = os.environ[\"VALKEY_URL\"]\n\nflow = Dataflow(\"valkey_example\")\nflow_input = op.input(\"input\", flow, TestingSource([b\"example message\"]))\nop.output(\"output\", flow_input, PubSubSink.from_url(VALKEY_URL, \"example\"))\n```\n\n### Stream Source\n\n```python\nimport os\n\nfrom bytewax_valkey import StreamSource\nfrom bytewax.connectors.stdio import StdOutSink\n\nimport bytewax.operators as op\nfrom bytewax.dataflow import Dataflow\n\nVALKEY_URL = os.environ[\"VALKEY_URL\"]\n\nflow = Dataflow(\"valkey_example\")\nflow_input = op.input(\"input\", flow, StreamSource.from_url(VALKEY_URL, \"example\"))\nop.output(\"output\", flow_input, StdOutSink())\n```\n\n### Stream Sink\n\n```python\nimport os\n\nfrom bytewax_valkey import StreamSink\nfrom bytewax.testing import TestingSource\n\nimport bytewax.operators as op\nfrom bytewax.dataflow import Dataflow\n\nVALKEY_URL = os.environ[\"VALKEY_URL\"]\n\nflow = Dataflow(\"valkey_example\")\nflow_input = op.input(\"input\", flow, TestingSource([{\"key\": \"value\"}]))\nop.output(\"output\", flow_input, StreamSink.from_url(VALKEY_URL, \"example\"))\n```\n\n## License\n\nLicensed under the [MIT License](./LICENSE).\n\n[valkey]: https://valkey.io\n[bytewax]: https://bytewax.io\n[valkey-streams]: https://valkey.io/topics/streams-intro/\n[valkey-pubsub]: https://valkey.io/topics/pubsub/\n[pypi-package]: https://pypi.org/project/bytewax-valkey",
"bugtrack_url": null,
"license": null,
"summary": "Valkey connectors for Bytewax",
"version": "0.3.0",
"project_urls": {
"Issues": "https://github.com/imnotjames/bytewax-valkey/issues",
"Repository": "https://github.com/imnotjames/bytewax-valkey.git"
},
"split_keywords": [
"bytewax",
" valkey"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e6af31056ef83736c03c2147eee2aa07ba35f604f70f97b3a71b3cbb579edc2b",
"md5": "617c3dae0456db4418d71aae3f34cfa7",
"sha256": "352f30fb3da844ad05ba0d53a5c5b6ce1bddfa7d8f64a63c2346feb1b1e14dd2"
},
"downloads": -1,
"filename": "bytewax_valkey-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "617c3dae0456db4418d71aae3f34cfa7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 7446,
"upload_time": "2025-01-12T00:46:57",
"upload_time_iso_8601": "2025-01-12T00:46:57.521360Z",
"url": "https://files.pythonhosted.org/packages/e6/af/31056ef83736c03c2147eee2aa07ba35f604f70f97b3a71b3cbb579edc2b/bytewax_valkey-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ab081610347d4071e36be58d84db0244de68827c688fb607689fff22a48bc9fb",
"md5": "786282aedd0c55c82f24bbd45fd4ee2a",
"sha256": "5c6f47b126e2c09590e6ad4e4cd8d3150e8422c785322009f45cc0c39859c821"
},
"downloads": -1,
"filename": "bytewax_valkey-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "786282aedd0c55c82f24bbd45fd4ee2a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 13005,
"upload_time": "2025-01-12T00:46:59",
"upload_time_iso_8601": "2025-01-12T00:46:59.676799Z",
"url": "https://files.pythonhosted.org/packages/ab/08/1610347d4071e36be58d84db0244de68827c688fb607689fff22a48bc9fb/bytewax_valkey-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-12 00:46:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "imnotjames",
"github_project": "bytewax-valkey",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "bytewax-valkey"
}