Skip to main content

Simple Apollo Config Client for Python.

Project description

apopy: Simple Apollo Config Client for Python. PyPI

pip install apopy

Quick Start

[!NOTE]

  • 示例里的配置信息仅供测试使用,请勿用于生产环境。
  • 具体的配置可能会变动,仅用于说明使用方法,具体的访问方式见 https://www.apolloconfig.com/#/zh/README
from apopy import Client, NamespaceType

client = Client(
    config_server_url="http://81.68.181.139:8080",
    app_id="apollo-common",
    cluster_name="default",
    secret="5fdc723621054e0f945cb441561687eb",
    ip="192.168.1.4",
)

# 读取 Namespace 为 application 的配置(接口带缓存)
print(client.read_namespace_with_cache(namespace="application"))

# 读取 Namespace 为 application 的配置(接口无缓存)
print(
    client.read_namespace_without_cache(
        namespace="application", namespace_type=NamespaceType.PROPERTIES
    )
)

# 读取配置
print(client.get("test"))

配置轮训更新

Apopy 提供了内置的针对单独 namespace 配置轮训更新功能,可以通过以下方式实现:

[!WARNING]

Apopy 本身并没有配置单独的线程锁/进程锁,如果真的需要异步订阅更新, 请根据自己的需求在外层加上锁保护。

import time
import threading


def start_background_update(client: Client):

    def _update():
        while True:
            try:
                client.read_notification_and_update(
                    namespace="application", namespace_type=NamespaceType.PROPERTIES
                )
            except Exception:
                pass
            finally:
                time.sleep(3)

    t = threading.Thread(target=_update)
    t.start()


start_background_update(client)
while True:
    print(client.read_namespace_with_cache(namespace="application"))
    time.sleep(5)

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

apopy-0.1.6.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

apopy-0.1.6-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apopy-0.1.6.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.4.26

File hashes

Hashes for apopy-0.1.6.tar.gz
Algorithm Hash digest
SHA256 03af71a6e072f4ac239c42a63b8fdd026f557a152c8864317603ba7d991ab8a5
MD5 b1a949ade31ccc913082bcd6836ac31a
BLAKE2b-256 db0ca19fd2781b7734dcbca9875d22b9cc3af993ad348323063e8db2a2f3c40b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apopy-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.4.26

File hashes

Hashes for apopy-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b54cf931c60ed0d07dd15b3670d8fc32efdf992a09173d20e1509789085e58be
MD5 8a2604fa9b02c436ef23396dd432d185
BLAKE2b-256 1735b1c11ae2abdb5dfbdfe4dfaa9c70cc97bfd6a276ad8560fb1c3b66e7c7ca

See more details on using hashes here.

Supported by

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