Simple, robust Redis configuration for Python
Project description
redisconfig
Simple, robust Redis configuration for Python
Installation
pip install redisconfig
Basic Usage
>>> import redisconfig
>>> config = redisconfig.RedisConfig()
RedisConfig(host='127.0.0.1', port=6379, db=0, ssl=False, password=None)
>>> config.host
'127.0.0.1'
>>> config.url()
'redis://127.0.0.1:6379/0'
>>> config.connection()
Redis<ConnectionPool<Connection<host=127.0.0.1,port=6379,db=0>>>
REDIS_URL Environment Variable
In many cases the Redis connection URL is stored in the REDIS_URL environment variable. redisconfig will use that value as a default for several operations, such as the module-level config() and connection() methods. With an environment variable of REDIS_URL=rediss://noop:badpassword@10.0.0.1/2
:
>>> redisconfig.config()
RedisConfig(host='10.0.0.1', port=6379, db=2, ssl=True, password='badpassword')
>>> redisconfig.connection()
Redis<ConnectionPool<SSLConnection<host=10.0.0.1,port=6379,db=2>>>
Update Configuration Values
You can update values directly like config.db = 5
but sometimes you want to change values without changing the underlying configuration. The url() and replace() methods on RedisConfig allow you to make new urls or configs without changing the original values.
Create a new URL:
>>> config = redisconfig.RedisConfig()
>>> config.url()
'redis://127.0.0.1:6379/0'
>>> config.url(db=2)
'redis://127.0.0.1:6379/2'
Create a new RedisConfig instance:
>>> config.replace(db='10.0.0.1')
RedisConfig(host='10.0.0.1', port=6379, db=0, ssl=False, password=None)
Developing
The following things are needed to use this repository:
Once you have the prerequisites installed and have cloned the repository you can ready your development environment with poetry install -E dev
. You should see output similar to:
$ poetry install -E dev
Creating virtualenv redisconfig in /tmp/redisconfig/.venv
Installing dependencies from lock file
...
Installing the current project: redisconfig (0.1.1)
Testing
poetry run pytest
Changelog
0.1.1
- Fix typing-extensions import on Python >=3.8
0.1.0
- Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for redisconfig-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bfce2b77d4876ae9c732bb4b6875a18f601b91a7babc821def89d1468bc9fe2 |
|
MD5 | 71b00db5792b6ec2467b4332e86aaf1f |
|
BLAKE2b-256 | a3b818de312a7ef40ed5abc04bad522865beeebaca9af8e314aca8cd76c28637 |