blob: cb440f61021f9a01cfeeaf3506615253f91ae36f [file]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html>
<head>
<title>pulsar</title>
<meta name="generator" content="pydoctor 25.4.0">
</meta>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1" />
<link rel="stylesheet" type="text/css" href="apidocs.css" />
<link rel="stylesheet" type="text/css" href="readthedocstheme.css" />
<link rel="stylesheet" type="text/css" href="extra.css" />
</head>
<body>
<nav class="navbar navbar-default mainnavbar">
<div class="container-fluid">
<div class="navbar-header">
<div class="navlinks">
<span class="navbar-brand">
_pulsar/pulsar <a href="index.html">API Documentation</a>
</span>
<a href="moduleIndex.html">
Modules
</a>
<a href="classIndex.html">
Classes
</a>
<a href="nameIndex.html">
Names
</a>
<div id="search-box-container">
<div class="input-group">
<input id="search-box" type="search" name="search-query" placeholder="Search..." aria-label="Search" minlength="2" class="form-control" autocomplete="off" />
<span class="input-group-btn">
<a style="display: none;" class="btn btn-default" id="search-clear-button" title="Clear" onclick="clearSearch()"><img src="fonts/x-circle.svg" alt="Clear" /></a>
<a class="btn btn-default" id="apidocs-help-button" title="Help" href="apidocs-help.html"><img src="fonts/info.svg" alt="Help" /></a>
</span>
</div>
</div>
</div>
<div id="search-results-container" style="display: none;">
<div id="search-buttons">
<span class="label label-default" id="search-docstrings-button">
<label class="checkbox-inline">
<input type="checkbox" id="toggle-search-in-docstrings-checkbox" value="false" onclick="toggleSearchInDocstrings()">
search in docstrings
</input>
</label>
</span>
</div>
<noscript>
<h1>Cannot search: JavaScript is not supported/enabled in your browser.</h1>
</noscript>
<div id="search-status"> </div>
<div class="warning" id="search-warn-box" style="display: none;">
<p class="rst-last"><span id="search-warn"></span></p>
</div>
<table id="search-results">
<!-- Filled dynamically by JS -->
</table>
<div style="margin-top: 10px;">
<p>For more information on the search, visit the <a href="apidocs-help.html#rst-search">help page</a>.</p>
</div>
</div>
</div>
</div>
<!-- Side navigation -->
<div class="sidebarcontainer">
<nav class="sidebar">
<div>
<div class="thingTitle">
<span>Package</span>
<code class="thisobject"><a href="pulsar.html" class="internal-link" title="This package">pulsar</a></code>
</div>
<div>
<div class="childrenKindTitle">Contents</div>
<ul><li><a class="rst-internal rst-reference" href="#rst-install-from-pypi" id="rst-toc-entry-1">Install from PyPI</a></li>
<li><a class="rst-internal rst-reference" href="#rst-install-from-source-code" id="rst-toc-entry-2">Install from source code</a></li>
</ul>
<div class="childrenKindTitle">Modules</div>
<ul>
<li class="">
<div class="itemName"><code><a href="pulsar.__about__.html" class="internal-link" title="pulsar.__about__">__about__</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.asyncio.html" class="internal-link" title="pulsar.asyncio">asyncio</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.exceptions.html" class="internal-link" title="pulsar.exceptions">exceptions</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.functions.html" class="internal-link" title="pulsar.functions">functions</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.schema.html" class="internal-link" title="pulsar.schema">schema</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.tableview.html" class="internal-link" title="pulsar.tableview">tableview</a></code>
</div>
</li>
</ul>
<div class="childrenKindTitle">Classes</div>
<ul>
<li class="">
<div class="itemName"><code><a href="pulsar.Authentication.html" class="internal-link" title="pulsar.Authentication"><wbr></wbr>Authentication</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.AuthenticationAthenz.html" class="internal-link" title="pulsar.AuthenticationAthenz"><wbr></wbr>Authentication<wbr></wbr>Athenz</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.AuthenticationBasic.html" class="internal-link" title="pulsar.AuthenticationBasic"><wbr></wbr>Authentication<wbr></wbr>Basic</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.AuthenticationOauth2.html" class="internal-link" title="pulsar.AuthenticationOauth2"><wbr></wbr>Authentication<wbr></wbr>Oauth2</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.AuthenticationTLS.html" class="internal-link" title="pulsar.AuthenticationTLS"><wbr></wbr>Authentication<wbr></wbr>TLS</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.AuthenticationToken.html" class="internal-link" title="pulsar.AuthenticationToken"><wbr></wbr>Authentication<wbr></wbr>Token</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.Client.html" class="internal-link" title="pulsar.Client"><wbr></wbr>Client</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.ConsoleLogger.html" class="internal-link" title="pulsar.ConsoleLogger"><wbr></wbr>Console<wbr></wbr>Logger</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.Consumer.html" class="internal-link" title="pulsar.Consumer"><wbr></wbr>Consumer</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.ConsumerBatchReceivePolicy.html" class="internal-link" title="pulsar.ConsumerBatchReceivePolicy"><wbr></wbr>Consumer<wbr></wbr>Batch<wbr></wbr>Receive<wbr></wbr>Policy</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.ConsumerDeadLetterPolicy.html" class="internal-link" title="pulsar.ConsumerDeadLetterPolicy"><wbr></wbr>Consumer<wbr></wbr>Dead<wbr></wbr>Letter<wbr></wbr>Policy</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.ConsumerKeySharedPolicy.html" class="internal-link" title="pulsar.ConsumerKeySharedPolicy"><wbr></wbr>Consumer<wbr></wbr>Key<wbr></wbr>Shared<wbr></wbr>Policy</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.CryptoKeyReader.html" class="internal-link" title="pulsar.CryptoKeyReader"><wbr></wbr>Crypto<wbr></wbr>Key<wbr></wbr>Reader</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.FileLogger.html" class="internal-link" title="pulsar.FileLogger"><wbr></wbr>File<wbr></wbr>Logger</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.Message.html" class="internal-link" title="pulsar.Message"><wbr></wbr>Message</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.MessageBatch.html" class="internal-link" title="pulsar.MessageBatch"><wbr></wbr>Message<wbr></wbr>Batch</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.MessageId.html" class="internal-link" title="pulsar.MessageId"><wbr></wbr>Message<wbr></wbr>Id</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.Producer.html" class="internal-link" title="pulsar.Producer"><wbr></wbr>Producer</a></code>
</div>
</li><li class="">
<div class="itemName"><code><a href="pulsar.Reader.html" class="internal-link" title="pulsar.Reader"><wbr></wbr>Reader</a></code>
</div>
</li>
</ul>
<div class="childrenKindTitle">Functions</div>
<ul>
<li class="private">
<div class="itemName"><code><a href="#_check_type" class="internal-link" title="pulsar._check_type">_check<wbr></wbr>_type</a></code>
</div>
</li><li class="private">
<div class="itemName"><code><a href="#_check_type_or_none" class="internal-link" title="pulsar._check_type_or_none">_check<wbr></wbr>_type<wbr></wbr>_or<wbr></wbr>_none</a></code>
</div>
</li><li class="private">
<div class="itemName"><code><a href="#_listener_wrapper" class="internal-link" title="pulsar._listener_wrapper">_listener<wbr></wbr>_wrapper</a></code>
</div>
</li><li class="private">
<div class="itemName"><code><a href="#_seek_arg_convert" class="internal-link" title="pulsar._seek_arg_convert">_seek<wbr></wbr>_arg<wbr></wbr>_convert</a></code>
</div>
</li>
</ul>
<div class="childrenKindTitle">Variables</div>
<ul>
<li class="private">
<div class="itemName"><code><a href="#_retype" class="internal-link" title="pulsar._retype">_retype</a></code>
</div>
</li>
</ul>
</div>
</div>
</nav>
<!-- No sidebar toggle for read the docs theme, the sidebar is always
visible when the screen is width enough.
-->
</div>
</nav>
<div class="container-fluid">
<div id="main" class="">
<div class="page-header">
<h1 class="package"><code><code><a href="pulsar.html" class="internal-link">pulsar</a></code></code></h1>
<div id="showPrivate">
<button class="btn btn-link" onclick="togglePrivate()">Toggle Private API</button>
</div>
</div>
<div class="categoryHeader">
package documentation
</div>
<div class="extrasDocstring">
<p></p>
</div>
<div class="moduleDocstring">
<div><p>The Pulsar Python client library is based on the existing C++ client library.
All the same features are exposed through the Python interface.</p>
<p>Currently, the supported Python versions are 3.7, 3.8, 3.9 and 3.10.</p>
<div class="rst-section" id="rst-install-from-pypi">
<h2 class="heading">Install from PyPI</h2>
<p>Download Python wheel binary files for macOS and Linux directly from
the PyPI archive:</p>
<pre class="py-doctest">
sudo pip install pulsar-client</pre></div>
<div class="rst-section" id="rst-install-from-source-code">
<h2 class="heading">Install from source code</h2>
<p>Read the instructions on <a class="rst-external rst-reference" href="https://github.com/apache/pulsar-client-python#install-the-python-wheel" target="_top">source code repository</a>.</p>
</div>
</div>
</div>
<div id="splitTables">
<table class="children sortable" id="id2">
<tr class="module">
<td>Module</td>
<td><code><a href="pulsar.__about__.html" class="internal-link" title="pulsar.__about__">__about__</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="module">
<td>Module</td>
<td><code><a href="pulsar.asyncio.html" class="internal-link" title="pulsar.asyncio">asyncio</a></code></td>
<td>The Pulsar Python client APIs that work with the asyncio module.</td>
</tr><tr class="module">
<td>Module</td>
<td><code><a href="pulsar.exceptions.html" class="internal-link" title="pulsar.exceptions">exceptions</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="package">
<td>Package</td>
<td><code><a href="pulsar.functions.html" class="internal-link" title="pulsar.functions">functions</a></code></td>
<td><span class="rst-undocumented">No package docstring; 3/3 modules documented</span></td>
</tr><tr class="package">
<td>Package</td>
<td><code><a href="pulsar.schema.html" class="internal-link" title="pulsar.schema">schema</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="module">
<td>Module</td>
<td><code><a href="pulsar.tableview.html" class="internal-link" title="pulsar.tableview">tableview</a></code></td>
<td>The TableView implementation.</td>
</tr>
</table>
<p class="fromInitPy">From <code>__init__.py</code>:</p><table class="children sortable" id="id3">
<tr class="class">
<td>Class</td>
<td><code><a href="pulsar.Authentication.html" class="internal-link" title="pulsar.Authentication"><wbr></wbr>Authentication</a></code></td>
<td>Authentication provider object. Used to load authentication from an external shared library.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.AuthenticationAthenz.html" class="internal-link" title="pulsar.AuthenticationAthenz"><wbr></wbr>Authentication<wbr></wbr>Athenz</a></code></td>
<td>Athenz Authentication implementation</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.AuthenticationBasic.html" class="internal-link" title="pulsar.AuthenticationBasic"><wbr></wbr>Authentication<wbr></wbr>Basic</a></code></td>
<td>Basic Authentication implementation</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.AuthenticationOauth2.html" class="internal-link" title="pulsar.AuthenticationOauth2"><wbr></wbr>Authentication<wbr></wbr>Oauth2</a></code></td>
<td>Oauth2 Authentication implementation</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.AuthenticationTLS.html" class="internal-link" title="pulsar.AuthenticationTLS"><wbr></wbr>Authentication<wbr></wbr>TLS</a></code></td>
<td>TLS Authentication implementation</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.AuthenticationToken.html" class="internal-link" title="pulsar.AuthenticationToken"><wbr></wbr>Authentication<wbr></wbr>Token</a></code></td>
<td>Token based authentication implementation</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.Client.html" class="internal-link" title="pulsar.Client"><wbr></wbr>Client</a></code></td>
<td>The Pulsar client. A single client instance can be used to create producers and consumers on multiple topics.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.ConsoleLogger.html" class="internal-link" title="pulsar.ConsoleLogger"><wbr></wbr>Console<wbr></wbr>Logger</a></code></td>
<td>Logger that writes on standard output</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.Consumer.html" class="internal-link" title="pulsar.Consumer"><wbr></wbr>Consumer</a></code></td>
<td>Pulsar consumer.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.ConsumerBatchReceivePolicy.html" class="internal-link" title="pulsar.ConsumerBatchReceivePolicy"><wbr></wbr>Consumer<wbr></wbr>Batch<wbr></wbr>Receive<wbr></wbr>Policy</a></code></td>
<td>Batch receive policy can limit the number and bytes of messages in a single batch, and can specify a timeout for waiting for enough messages for this batch.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.ConsumerDeadLetterPolicy.html" class="internal-link" title="pulsar.ConsumerDeadLetterPolicy"><wbr></wbr>Consumer<wbr></wbr>Dead<wbr></wbr>Letter<wbr></wbr>Policy</a></code></td>
<td>Configuration for the "dead letter queue" feature in consumer.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.ConsumerKeySharedPolicy.html" class="internal-link" title="pulsar.ConsumerKeySharedPolicy"><wbr></wbr>Consumer<wbr></wbr>Key<wbr></wbr>Shared<wbr></wbr>Policy</a></code></td>
<td>Consumer key shared policy is used to configure the consumer behaviour when the ConsumerType is KeyShared.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.CryptoKeyReader.html" class="internal-link" title="pulsar.CryptoKeyReader"><wbr></wbr>Crypto<wbr></wbr>Key<wbr></wbr>Reader</a></code></td>
<td>Default crypto key reader implementation</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.FileLogger.html" class="internal-link" title="pulsar.FileLogger"><wbr></wbr>File<wbr></wbr>Logger</a></code></td>
<td>Logger that writes into a file</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.Message.html" class="internal-link" title="pulsar.Message"><wbr></wbr>Message</a></code></td>
<td>Message objects are returned by a consumer, either by calling <code><a href="pulsar.Consumer.html#receive" class="internal-link" title="pulsar.Consumer.receive">receive</a></code> or through a listener.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.MessageBatch.html" class="internal-link" title="pulsar.MessageBatch"><wbr></wbr>Message<wbr></wbr>Batch</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.MessageId.html" class="internal-link" title="pulsar.MessageId"><wbr></wbr>Message<wbr></wbr>Id</a></code></td>
<td>Represents a message id.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.Producer.html" class="internal-link" title="pulsar.Producer"><wbr></wbr>Producer</a></code></td>
<td>The Pulsar message producer, used to publish messages on a topic.</td>
</tr><tr class="class">
<td>Class</td>
<td><code><a href="pulsar.Reader.html" class="internal-link" title="pulsar.Reader"><wbr></wbr>Reader</a></code></td>
<td>Pulsar topic reader.</td>
</tr><tr class="function private">
<td>Function</td>
<td><code><a href="#_check_type" class="internal-link" title="pulsar._check_type">_check<wbr></wbr>_type</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="function private">
<td>Function</td>
<td><code><a href="#_check_type_or_none" class="internal-link" title="pulsar._check_type_or_none">_check<wbr></wbr>_type<wbr></wbr>_or<wbr></wbr>_none</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="function private">
<td>Function</td>
<td><code><a href="#_listener_wrapper" class="internal-link" title="pulsar._listener_wrapper">_listener<wbr></wbr>_wrapper</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="function private">
<td>Function</td>
<td><code><a href="#_seek_arg_convert" class="internal-link" title="pulsar._seek_arg_convert">_seek<wbr></wbr>_arg<wbr></wbr>_convert</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr><tr class="variable private">
<td>Variable</td>
<td><code><a href="#_retype" class="internal-link" title="pulsar._retype">_retype</a></code></td>
<td><span class="rst-undocumented">Undocumented</span></td>
</tr>
</table>
</div>
<div id="childList">
<div class="basefunction private">
<a name="pulsar._check_type">
</a>
<a name="_check_type">
</a>
<div class="functionHeader">
<span class="py-keyword">def</span>&#160;<span class="py-defname">_check_type</span><span class="function-signature">(<span class="rst-sig-param">var_type, </span><span class="rst-sig-param">var, </span><span class="rst-sig-param">name</span>):</span>
<a class="sourceLink" href="https://github.com/apache/pulsar-client-python/tree/v3.8.0/pulsar/__init__.py#L1966">
(source)
</a>
<a class="headerLink" href="#_check_type" title="pulsar._check_type">
</a>
</div>
<div class="docstring functionBody">
<div><p class="undocumented">Undocumented</p></div>
</div>
</div><div class="basefunction private">
<a name="pulsar._check_type_or_none">
</a>
<a name="_check_type_or_none">
</a>
<div class="functionHeader">
<span class="py-keyword">def</span>&#160;<span class="py-defname">_check_type_or_none</span><span class="function-signature">(<span class="rst-sig-param">var_type, </span><span class="rst-sig-param">var, </span><span class="rst-sig-param">name</span>):</span>
<a class="sourceLink" href="https://github.com/apache/pulsar-client-python/tree/v3.8.0/pulsar/__init__.py#L1972">
(source)
</a>
<a class="headerLink" href="#_check_type_or_none" title="pulsar._check_type_or_none">
</a>
</div>
<div class="docstring functionBody">
<div><p class="undocumented">Undocumented</p></div>
</div>
</div><div class="basefunction private">
<a name="pulsar._listener_wrapper">
</a>
<a name="_listener_wrapper">
</a>
<div class="functionHeader">
<span class="py-keyword">def</span>&#160;<span class="py-defname">_listener_wrapper</span><span class="function-signature">(<span class="rst-sig-param">listener, </span><span class="rst-sig-param">schema</span>):</span>
<a class="sourceLink" href="https://github.com/apache/pulsar-client-python/tree/v3.8.0/pulsar/__init__.py#L1978">
(source)
</a>
<a class="headerLink" href="#_listener_wrapper" title="pulsar._listener_wrapper">
</a>
</div>
<div class="docstring functionBody">
<div><p class="undocumented">Undocumented</p></div>
</div>
</div><div class="basefunction private">
<a name="pulsar._seek_arg_convert">
</a>
<a name="_seek_arg_convert">
</a>
<div class="functionHeader">
<span class="py-keyword">def</span>&#160;<span class="py-defname">_seek_arg_convert</span><span class="function-signature">(<span class="rst-sig-param">seek_arg</span>):</span>
<a class="sourceLink" href="https://github.com/apache/pulsar-client-python/tree/v3.8.0/pulsar/__init__.py#L1988">
(source)
</a>
<a class="headerLink" href="#_seek_arg_convert" title="pulsar._seek_arg_convert">
</a>
</div>
<div class="docstring functionBody">
<div><p class="undocumented">Undocumented</p></div>
</div>
</div><div class="basevariable private">
<a name="pulsar._retype">
</a>
<a name="_retype">
</a>
<div class="functionHeader">
<span class="py-defname">_retype</span> =
<a class="sourceLink" href="https://github.com/apache/pulsar-client-python/tree/v3.8.0/pulsar/__init__.py#L67">
(source)
</a>
<a class="headerLink" href="#_retype" title="pulsar._retype">
</a>
</div>
<div class="functionBody">
<div><p class="undocumented">Undocumented</p></div>
</div>
</div>
</div>
</div>
</div>
<footer class="navbar navbar-default">
<hr />
<div class="container-fluid">
<a href="index.html">API Documentation</a> for _pulsar/pulsar,
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
25.4.0 at 2025-07-19 14:22:25.
</div>
<script src="ajax.js" type="text/javascript"></script>
<script src="searchlib.js" type="text/javascript"></script>
<script src="search.js" type="text/javascript"></script>
</footer>
<script src="pydoctor.js" type="text/javascript"></script>
</body>
</html>