Common async Redis and MongoDB clients for VBP bid services.
Project description
vbp-bid-common
vbp-bid-common 是 VBP Bid Copilot 的公共基础包,当前提供异步 Redis 与 MongoDB 客户端封装,便于多个服务复用同一套缓存、队列、分布式锁和基础 CRUD 能力。
安装
pip install vbp-bid-common
本地开发时可在仓库根目录执行:
pip install -e ./vbp-bid-common[dev]
使用示例
from vbp_bid_common import get_mongodb_client, get_redis_client
async def main() -> None:
redis_client = get_redis_client()
await redis_client.set("demo:key", "value", ex=60)
value = await redis_client.get("demo:key")
mongo_client = get_mongodb_client(default_collection="demo")
inserted_id = await mongo_client.insert_one({"value": value})
doc = await mongo_client.find_one({"_id": inserted_id})
也可以按模块导入:
from vbp_bid_common.services.mongodb import MongoDBClient
from vbp_bid_common.services.redis import RedisClient
环境变量
Redis 客户端支持以下环境变量:
REDIS_HOST,默认127.0.0.1REDIS_PORT,默认6379REDIS_DB,默认0REDIS_USERNAMEREDIS_PASSWORDREDIS_DECODE_RESPONSES,默认trueREDIS_MAX_CONNECTIONS,默认100REDIS_CONNECTION_POOL_TIMEOUT,默认10REDIS_SOCKET_TIMEOUTREDIS_SOCKET_CONNECT_TIMEOUT
MongoDB 客户端支持以下环境变量:
MONGODB_URI,默认mongodb://127.0.0.1:27017MONGODB_DATABASE,默认test-technicalMONGODB_COLLECTION_NAMEMONGODB_MAX_POOL_SIZEMONGODB_MIN_POOL_SIZEMONGODB_SERVER_SELECTION_TIMEOUT_MS
发布到 PyPI
首次发布前需要注册并配置 PyPI API Token:
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
python -m twine upload dist/*
发布测试包可先使用 TestPyPI:
python -m twine upload --repository testpypi dist/*
每次发布前请更新 pyproject.toml 中的 version,并确认 README.md、LICENSE 与依赖声明已同步。
开源协议
本项目使用 Apache License 2.0。详见 LICENSE。
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vbp_bid_common-0.1.8.tar.gz.
File metadata
- Download URL: vbp_bid_common-0.1.8.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06ee38cc0f4a82c83d2326d2e2cd81d26387ff2be486b54022dd0deaa11ff02d
|
|
| MD5 |
9982edbdf019bd614516219d8d531cfa
|
|
| BLAKE2b-256 |
84a2a020ca175bae9653090dbfdebf8ef6ae1dda8bf53635552475ddc6f37078
|
File details
Details for the file vbp_bid_common-0.1.8-py3-none-any.whl.
File metadata
- Download URL: vbp_bid_common-0.1.8-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
632b075123a84daa3d9dbbebe03d7692ce5abcd6a2b1c1dc35bd18553abdabe4
|
|
| MD5 |
e1aabfeea0d1f8bd734ff8e53ee9b8f9
|
|
| BLAKE2b-256 |
1a98569e7852cb7910ed0334b18479c93ef76b7c64976b0b301dffe99c28b363
|