Pulsar.Client
3.12.0
dotnet add package Pulsar.Client --version 3.12.0
NuGet\Install-Package Pulsar.Client -Version 3.12.0
<PackageReference Include="Pulsar.Client" Version="3.12.0" />
<PackageVersion Include="Pulsar.Client" Version="3.12.0" />
<PackageReference Include="Pulsar.Client" />
paket add Pulsar.Client --version 3.12.0
#r "nuget: Pulsar.Client, 3.12.0"
#:package Pulsar.Client@3.12.0
#addin nuget:?package=Pulsar.Client&version=3.12.0
#tool nuget:?package=Pulsar.Client&version=3.12.0
pulsar-client-dotnet
Contributions and stars ★ are most welcome!
Pulsar.Client nuget | Pulsar.Client.Otel nuget
Supported pulsar cluster versions: 2.4+
Find examples of usage in /examples folder. We are trying to keep api similar to the Java client, so please take a look at it's documentation to understand possible options available. You can also join telegram chat https://t.me/pro_pulsar for further discussions.
Features list (based on Client Feature Matrix):
- Basic Producer/Consumer API
- Partitioned topics
- Batching
- Chunking
- Compression
- TLS
- Authentication (token, tls, oauth2)
- Reader API
- Proxy Support
- Effectively-Once
- Schema (All types, Multi-version)
- Consumer seek
- Multi-topics consumer
- Topics regex consumer
- Compacted topics
- User defined properties
- Reader hasMessageAvailable
- Hostname verification
- Multi Hosts Service Url
- Key_shared subscription
- Key based batcher
- Negative Acknowledge
- Delayed/scheduled messages
- Dead Letter Policy
- Interceptors
- Transactions
- Statistics
- End-to-end Encryption
- SubscriptionInitialPosition
- Cumulative Ack
- Batch-Index Ack
- SNI Routing
- Table view
Quick contributing guide
Common steps before building
- Fork and clone locally
- Install dotnet tools:
dotnet tool restore
- Restore packages:
dotnet restore
MacOS steps before building:
- Install Snappy:
brew install snappy
- Install Libzstd:
brew install zstd
Ubuntu steps before building:
- Install Snappy:
sudo apt-get install -y libsnappy-dev
- Install Libzstd:
sudo apt-get install -y libzstd-dev
Building and Testing
- Build the solution:
dotnet build
(dotnet core sdk required) This will install required tools and then you can use any IDE to build solution - Make your modifications
- Run unit tests:
cd tests/UnitTests
&&dotnet test
- (Optional) If changes are made in Client logic, run Integration tests. Before running do the following
- Install pulsar cluster:
- MacOS guide:
brew tap streamlio/homebrew-formulae
brew install streamlio/homebrew-formulae/pulsar
brew install streamlio/homebrew-formulae/bookkeeper
brew services start pulsar
brew services start bookkeeper
- Run commands in
/tests/IntegrationTests/commands.txt
- Change
pulsarAddress
in Common.fs to point your pulsar cluster - Ensure
advertisedAddress
in broker.conf to point your pulsar cluster - Ensure
public/default
namespace with default settings - Ensure
public/retention
namespace with time or storage size retention configured
- Install pulsar cluster:
- Send a Pull Request
Maintaners and support
- You can suppport me (@Lanayx) using Github sponsors so I continue maintaining this project well.
- If you want me to implement new (missing) features, this can be arranged on a paid basis using Github sponsors as well, please PM in Telegram
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Apache.Avro (>= 1.11.3)
- AvroSchemaGenerator (>= 2.9.2)
- FSharp.Core (>= 9.0.300)
- FSharp.UMX (>= 1.1.0)
- K4os.Compression.LZ4 (>= 1.3.6)
- Microsoft.Extensions.Caching.Memory (>= 8.0.1)
- Microsoft.Extensions.Logging (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.2)
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.0)
- NSec.Cryptography (>= 22.4.0)
- PemUtils (>= 3.0.0.82)
- Pipelines.Sockets.Unofficial (>= 2.2.8)
- protobuf-net (>= 3.2.30)
- protobuf-net.Reflection (>= 3.2.12)
- Snappier (>= 1.1.6)
- System.IO.Pipelines (>= 8.0.0)
- zlib.net-mutliplatform (>= 1.0.6)
- ZstdNet (>= 1.4.5)
NuGet packages (10)
Showing the top 5 NuGet packages that depend on Pulsar.Client:
Package | Downloads |
---|---|
Pulsar.Client.Otel
OpenTelemetry plugin for Pulsar.Client |
|
DotNetCore.CAP.Pulsar
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern. |
|
Zq.Utils.Core
.NET Standard2.0、.NET Standard2.1、.NET5、.NET6版本工具类 |
|
SnD.Sdk
SDK for Sneaks&Data OSS Projects |
|
RJ.Commons.Pulsar
Default Pulsar API for Aries project. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Pulsar.Client:
Repository | Stars |
---|---|
dotnetcore/CAP
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
|
|
LeonKou/NetPro
🌈An enhanced version with clean architecture of asp.netcore,efficiently manage startup,Support for netcore3.1/6.0
|
Version | Downloads | Last Updated |
---|---|---|
3.12.0 | 207 | 9/22/2025 |
3.11.0 | 332 | 9/18/2025 |
3.10.0 | 8,794 | 7/31/2025 |
3.9.6 | 423 | 7/29/2025 |
3.9.5 | 20,901 | 6/20/2025 |
3.9.4 | 8,584 | 5/28/2025 |
3.9.3 | 16,630 | 5/22/2025 |
3.9.2 | 35,588 | 4/14/2025 |
3.9.1 | 3,864 | 4/3/2025 |
3.9.0 | 2,659 | 3/26/2025 |
3.8.1 | 22,975 | 3/7/2025 |
3.8.0 | 1,654 | 3/5/2025 |
3.7.0 | 35,900 | 2/8/2025 |
3.6.2 | 116,630 | 12/9/2024 |
3.6.1 | 61,936 | 11/21/2024 |
3.6.0 | 147,005 | 8/8/2024 |
3.5.4 | 9,653 | 8/1/2024 |
3.5.3 | 2,652 | 7/31/2024 |
3.5.2 | 8,249 | 7/15/2024 |
3.5.1 | 9,723 | 6/19/2024 |
3.5.0 | 8,405 | 5/15/2024 |
3.4.0 | 4,472 | 4/19/2024 |
3.3.1 | 3,105 | 3/28/2024 |
3.3.0 | 38,181 | 2/12/2024 |
3.2.0 | 1,908 | 2/1/2024 |
3.1.0 | 23,324 | 11/19/2023 |
3.0.0 | 845 | 11/17/2023 |
3.0.0-beta.2 | 207 | 10/22/2023 |
3.0.0-beta.1 | 158 | 10/15/2023 |
2.21.0 | 110 | 9/23/2025 |
2.20.0 | 147 | 7/31/2025 |
2.19.0 | 363 | 5/19/2025 |
2.18.3 | 409 | 4/16/2025 |
2.18.2 | 271 | 4/3/2025 |
2.18.1 | 256 | 4/2/2025 |
2.18.0 | 388 | 3/27/2025 |
2.17.0 | 376 | 12/26/2024 |
2.16.0 | 13,974 | 4/29/2024 |
2.15.2 | 3,582 | 3/7/2024 |
2.15.1 | 948 | 2/12/2024 |
2.15.0 | 47,425 | 11/18/2023 |
2.14.0 | 1,145 | 11/14/2023 |
2.13.2 | 46,781 | 10/11/2023 |
2.13.1 | 3,493 | 9/29/2023 |
2.13.0 | 63,950 | 9/25/2023 |
2.12.7 | 21,272 | 8/9/2023 |
2.12.6 | 43,414 | 7/23/2023 |
2.12.4 | 4,840 | 7/17/2023 |
2.12.3 | 17,185 | 7/6/2023 |
2.12.2 | 112,233 | 3/31/2023 |
2.12.1 | 26,360 | 3/22/2023 |
2.12.0 | 11,082 | 1/29/2023 |
2.11.0 | 40,961 | 10/13/2022 |
2.10.4 | 47,391 | 10/7/2022 |
2.10.3 | 3,003 | 9/16/2022 |
2.10.2 | 53,702 | 6/22/2022 |
2.10.1 | 70,405 | 3/9/2022 |
2.10.0 | 44,079 | 2/23/2022 |
2.9.4 | 23,693 | 12/5/2021 |
2.9.3 | 3,597 | 11/26/2021 |
2.9.2 | 1,303 | 11/11/2021 |
2.9.1 | 30,480 | 10/14/2021 |
2.9.0 | 2,168 | 9/29/2021 |
2.8.1 | 5,507 | 9/9/2021 |
2.8.0 | 2,284 | 9/2/2021 |
2.7.2 | 10,282 | 8/26/2021 |
2.7.1 | 7,532 | 8/6/2021 |
2.7.0 | 7,341 | 7/20/2021 |
2.6.3 | 2,153 | 7/15/2021 |
2.6.2 | 2,063 | 7/9/2021 |
2.6.1 | 1,433 | 7/6/2021 |
2.6.0 | 6,775 | 7/5/2021 |
2.5.3 | 1,262 | 7/2/2021 |
2.5.2 | 1,380 | 6/30/2021 |
2.5.1 | 1,705 | 6/29/2021 |
2.5.0 | 1,344 | 6/27/2021 |
2.4.1 | 1,546 | 6/25/2021 |
2.4.0 | 2,711 | 6/14/2021 |
2.3.3 | 1,637 | 6/8/2021 |
2.3.1 | 2,860 | 5/11/2021 |
2.3.0 | 1,421 | 5/11/2021 |
2.2.0 | 2,288 | 4/22/2021 |
2.1.1 | 1,374 | 4/14/2021 |
2.1.0 | 4,713 | 3/16/2021 |
2.0.4 | 2,370 | 3/5/2021 |
2.0.3 | 1,380 | 3/5/2021 |
2.0.2 | 2,732 | 2/23/2021 |
2.0.1 | 9,387 | 2/17/2021 |
2.0.0 | 1,377 | 2/12/2021 |
1.8.5 | 9,473 | 2/10/2021 |
1.8.4 | 27,453 | 1/25/2021 |
1.8.3 | 2,437 | 1/6/2021 |
1.8.2 | 3,447 | 12/17/2020 |
1.8.1 | 4,505 | 12/15/2020 |
1.8.0 | 4,120 | 12/10/2020 |
1.7.8 | 115,077 | 5/17/2021 |
1.7.7 | 1,283 | 5/17/2021 |
1.7.6 | 1,358 | 5/17/2021 |
1.7.5 | 3,221 | 10/30/2020 |
1.7.4 | 6,880 | 10/19/2020 |
1.7.3 | 30,211 | 10/13/2020 |
1.7.2 | 1,858 | 10/2/2020 |
1.7.1 | 5,068 | 9/17/2020 |
1.7.0 | 1,692 | 9/14/2020 |
1.6.3 | 1,485 | 9/12/2020 |
1.6.2 | 1,600 | 9/3/2020 |
1.6.1 | 1,466 | 9/2/2020 |
1.6.0 | 1,598 | 8/30/2020 |
1.5.0 | 10,883 | 8/3/2020 |
1.4.3 | 2,569 | 7/9/2020 |
1.4.2 | 1,658 | 7/2/2020 |
1.4.1 | 1,368 | 6/29/2020 |
1.4.0 | 1,951 | 6/17/2020 |
1.3.0 | 1,581 | 6/14/2020 |
1.2.0 | 2,974 | 5/27/2020 |
1.1.1 | 1,480 | 5/22/2020 |
1.1.0 | 2,076 | 5/15/2020 |
1.0.1 | 1,443 | 5/14/2020 |
1.0.0 | 1,468 | 5/14/2020 |
0.18.4 | 1,993 | 4/21/2020 |
0.18.3 | 1,644 | 4/18/2020 |
0.18.2 | 3,361 | 4/8/2020 |
0.18.1 | 1,474 | 4/7/2020 |
0.18.0 | 1,676 | 4/1/2020 |
0.17.0 | 1,665 | 3/21/2020 |
0.16.0 | 1,520 | 3/19/2020 |
0.15.0 | 2,100 | 2/28/2020 |
0.14.1 | 1,499 | 2/25/2020 |
0.14.0 | 1,433 | 2/21/2020 |
0.13.1 | 1,454 | 2/19/2020 |
0.13.0 | 1,820 | 2/14/2020 |
0.12.0 | 2,168 | 12/31/2019 |
0.11.2 | 1,655 | 12/23/2019 |
0.11.1 | 1,566 | 12/20/2019 |
0.11.0 | 1,520 | 12/16/2019 |
0.10.0 | 1,605 | 11/17/2019 |
0.9.1 | 1,651 | 11/14/2019 |
0.9.0 | 1,589 | 11/12/2019 |
0.8.2 | 1,604 | 11/9/2019 |
0.8.1 | 1,594 | 11/4/2019 |
0.8.0 | 1,542 | 11/2/2019 |
0.7.0 | 1,558 | 10/25/2019 |
0.6.0 | 1,615 | 10/16/2019 |
0.5.0 | 1,557 | 10/15/2019 |
0.4.0 | 1,576 | 10/8/2019 |
0.3.0 | 1,553 | 10/7/2019 |
0.2.0 | 1,657 | 9/30/2019 |
0.1.5 | 1,413 | 9/13/2019 |
0.1.4 | 1,388 | 9/9/2019 |
0.1.3 | 1,346 | 9/9/2019 |
0.1.2 | 1,313 | 9/9/2019 |
0.1.1 | 1,416 | 9/6/2019 |
0.1.0 | 1,525 | 9/6/2019 |
Producer name attribute added to messages