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.6.tar.gz (16.2 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.6-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vbp_bid_common-0.1.6.tar.gz
  • Upload date:
  • Size: 16.2 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.6.tar.gz
Algorithm Hash digest
SHA256 949454f46b649730c1fd906fe08ff075e0aa4491064048a5bf60a0e973a04339
MD5 d4cebb68e4ba8f4f2aa85f69e467d6be
BLAKE2b-256 fa48072d9a7d00ca816bb4641e577807a6027c2ae927fafd6ff6af9e493772d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vbp_bid_common-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 17.3 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 05d312ce415f3fb9f564999a4ac914db507dd21e506ff0f7c0664f45f99efee4
MD5 a6d554dd420f7ad84d2e5a790bfe9c70
BLAKE2b-256 43b24282bcc6edd4eb63be2d0fa24263ab28e5cdb2da7e6443436f6a8c359527

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