redis-canal
Proxy redis stream from one to another through global queue service.
Motivation: Redis provided on the cloud is usually only available within a VPC and does not provide external access. We want to provide a way to synchronize messages across clouds without going through a VPN.
Supported queue service
- AWS SQS
- Google PubSub
Welcome to contribute more queue service, see adapter/impl for more details.
We also support the plugin system, the adapter can also be imported as a third-party library. See example for more details.
Install
pip install redis-canal[all] for all components.
Or use docker image
docker pull wh1isper/redis-canal
Usage
Use CLI
redis-canal stream-to-queueto start a daemon to consume redis stream and push to global queueredis-canal queue-to-streamto pull from global queue and push to redis stream
CLI args support envvar, which you can refer to envs.py.
TODO
- More adapter for Google PubSub, Kafka, etc
- Allows users to more easily configure the adapter(Now only support environment variables, within
Adapter)
Develop
Install pre-commit before commit
pip install pre-commit
pre-commit install
Install package locally
pip install -e .[test]
Run unit-test before PR
pytest -v tests
Develop sqs adapter
You need to configure your AWS account first. See AWS CLI docs for more details.
Make sure your account has sqs:* permission. Then you can run pytest -v tests/adapter/test_sqs_adapter.py to test it.
Metadata
Release files for redis-canal 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| redis_canal-0.2.0.tar.gz | 51.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redis_canal-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.8 kB
Release files / redis_canal-0.2.0.tar.gz
| Download URL | redis_canal-0.2.0.tar.gz |
|---|---|
| Size | 51.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b49c70c2df283e865487eda8f0b0c430c9c501833405e2eee703683da686bd3
|
|
BLAKE2b-256 checksum How to use checksums |
fc76e22b804bb2247baab957ad9eb0c3f633df20a634119f222b0244dcbec8ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Release files / redis_canal-0.2.0-py3-none-any.whl
| Download URL | redis_canal-0.2.0-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aeb16f6e72b400e9963ac6c1f5a03606dce86f4fb29d23abbe0e275b78f27394
|
|
BLAKE2b-256 checksum How to use checksums |
3049136a336246c38bd768b44d5e1e332513359a929e8a665248303b9be61300
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Security for redis-canal 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.