| Server IP : 198.38.94.13 / Your IP : 216.73.217.33 Web Server : Apache System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : revivere ( 1140) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/saltstack/salt/lib/python3.10/site-packages/zmq/ |
Upload File : |
"""Python bindings for 0MQ"""
# Copyright (C) PyZMQ Developers
# Distributed under the terms of the Modified BSD License.
from __future__ import annotations
import os
import sys
from contextlib import contextmanager
@contextmanager
def _libs_on_path():
"""context manager for libs directory on $PATH
Works around mysterious issue where os.add_dll_directory
does not resolve imports (conda-forge Python >= 3.8)
"""
if not sys.platform.startswith("win"):
yield
return
libs_dir = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
os.pardir,
"pyzmq.libs",
)
)
if not os.path.exists(libs_dir):
# no bundled libs
yield
return
path_before = os.environ.get("PATH")
try:
os.environ["PATH"] = os.pathsep.join([path_before or "", libs_dir])
yield
finally:
if path_before is None:
os.environ.pop("PATH")
else:
os.environ["PATH"] = path_before
# zmq top-level imports
# workaround for Windows
with _libs_on_path():
from zmq import backend
from . import constants # noqa
from .constants import * # noqa
from zmq.backend import * # noqa
from zmq import sugar
from zmq.sugar import * # noqa
def get_includes():
"""Return a list of directories to include for linking against pyzmq with cython."""
from os.path import abspath, dirname, exists, join, pardir
base = dirname(__file__)
parent = abspath(join(base, pardir))
includes = [parent] + [join(parent, base, subdir) for subdir in ('utils',)]
if exists(join(parent, base, 'include')):
includes.append(join(parent, base, 'include'))
return includes
def get_library_dirs():
"""Return a list of directories used to link against pyzmq's bundled libzmq."""
from os.path import abspath, dirname, join, pardir
base = dirname(__file__)
parent = abspath(join(base, pardir))
return [join(parent, base)]
COPY_THRESHOLD = 65536
# zmq.DRAFT_API represents _both_ the current runtime-loaded libzmq
# and pyzmq were built with drafts,
# which is required for pyzmq draft support
DRAFT_API: bool = backend.has('draft') and backend.PYZMQ_DRAFT_API
__all__ = (
[
'get_includes',
'COPY_THRESHOLD',
'DRAFT_API',
]
+ constants.__all__
+ sugar.__all__
+ backend.__all__
)