Skip to main content

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.1
  • REDIS_PORT,默认 6379
  • REDIS_DB,默认 0
  • REDIS_USERNAME
  • REDIS_PASSWORD
  • REDIS_DECODE_RESPONSES,默认 true
  • REDIS_MAX_CONNECTIONS,默认 100
  • REDIS_CONNECTION_POOL_TIMEOUT,默认 10
  • REDIS_SOCKET_TIMEOUT
  • REDIS_SOCKET_CONNECT_TIMEOUT

MongoDB 客户端支持以下环境变量:

  • MONGODB_URI,默认 mongodb://127.0.0.1:27017
  • MONGODB_DATABASE,默认 test-technical
  • MONGODB_COLLECTION_NAME
  • MONGODB_MAX_POOL_SIZE
  • MONGODB_MIN_POOL_SIZE
  • MONGODB_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.mdLICENSE 与依赖声明已同步。

开源协议

本项目使用 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

vbp_bid_common-0.1.4.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vbp_bid_common-0.1.4-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file vbp_bid_common-0.1.4.tar.gz.

File metadata

  • Download URL: vbp_bid_common-0.1.4.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for vbp_bid_common-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a2f8d947b8fd7a768ed3b6770428819b90515105230c816374d0fb043b8aff95
MD5 a5d241e94672ed7b6606e7608d5d583d
BLAKE2b-256 40d047ede1dd2bd54864de39134058b4b0336c1d3407d1bf123aafed7098b9ca

See more details on using hashes here.

File details

Details for the file vbp_bid_common-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: vbp_bid_common-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for vbp_bid_common-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6e80889e771ee413077b70c9f1ff6080359c35b7714b9c547b8be0af57f5b51a
MD5 db82e32e419a8f76ad5f2b1ea3c53444
BLAKE2b-256 26f07b60c0c353b8dde08446e13b604e92715290e908cbe9e3f5dc5c3c7118e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page