Pulsar.Client 3.8.1
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-formulaebrew install streamlio/homebrew-formulae/pulsarbrew install streamlio/homebrew-formulae/bookkeeperbrew services start pulsarbrew services start bookkeeper
- Run commands in
/tests/IntegrationTests/commands.txt - Change
pulsarAddressin Common.fs to point your pulsar cluster - Ensure
advertisedAddressin broker.conf to point your pulsar cluster - Ensure
public/defaultnamespace with default settings - Ensure
public/retentionnamespace 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
No packages depend on Pulsar.Client.
Support authentication in HttpLookupService
.NET 8.0
- Apache.Avro (>= 1.11.3)
- AvroSchemaGenerator (>= 2.9.2)
- FSharp.Core (>= 8.0.401)
- 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)
- Snappier (>= 1.1.6)
- System.IO.Pipelines (>= 8.0.0)
- ZstdNet (>= 1.4.5)
- protobuf-net (>= 3.2.30)
- protobuf-net.Reflection (>= 3.2.12)
- zlib.net-mutliplatform (>= 1.0.6)
| Version | Downloads | Last updated |
|---|---|---|
| 3.15.1 | 0 | 04/18/2026 |
| 3.15.0 | 2 | 04/17/2026 |
| 3.14.1 | 2 | 04/17/2026 |
| 3.14.0 | 2 | 04/17/2026 |
| 3.13.5 | 2 | 04/17/2026 |
| 3.13.4 | 2 | 04/17/2026 |
| 3.13.3 | 2 | 04/17/2026 |
| 3.13.2 | 2 | 04/17/2026 |
| 3.13.1 | 2 | 04/17/2026 |
| 3.13.0 | 2 | 04/17/2026 |
| 3.12.1 | 2 | 04/17/2026 |
| 3.12.0 | 2 | 04/17/2026 |
| 3.11.0 | 2 | 04/17/2026 |
| 3.10.0 | 2 | 04/17/2026 |
| 3.9.6 | 1 | 04/18/2026 |
| 3.9.5 | 4 | 04/16/2026 |
| 3.9.4 | 2 | 04/17/2026 |
| 3.9.3 | 2 | 04/17/2026 |
| 3.9.2 | 2 | 04/17/2026 |
| 3.9.1 | 2 | 04/17/2026 |
| 3.9.0 | 2 | 04/17/2026 |
| 3.8.1 | 1 | 04/18/2026 |
| 3.8.0 | 2 | 04/17/2026 |
| 3.7.0 | 2 | 04/17/2026 |
| 3.6.2 | 2 | 04/17/2026 |
| 3.6.1 | 2 | 04/17/2026 |
| 3.6.0 | 2 | 04/17/2026 |
| 3.5.4 | 2 | 04/17/2026 |
| 3.5.3 | 2 | 04/17/2026 |
| 3.5.2 | 2 | 04/17/2026 |
| 3.5.1 | 2 | 04/17/2026 |
| 3.5.0 | 2 | 04/17/2026 |
| 3.4.0 | 2 | 04/17/2026 |
| 3.3.1 | 2 | 04/17/2026 |
| 3.3.0 | 2 | 04/17/2026 |
| 3.2.0 | 2 | 04/17/2026 |
| 3.1.0 | 2 | 04/17/2026 |
| 3.0.0 | 1 | 04/18/2026 |
| 3.0.0-beta.2 | 2 | 04/17/2026 |
| 3.0.0-beta.1 | 2 | 04/17/2026 |
| 2.22.0 | 2 | 04/17/2026 |
| 2.21.1 | 2 | 04/17/2026 |
| 2.21.0 | 2 | 04/17/2026 |
| 2.20.0 | 2 | 04/17/2026 |
| 2.19.0 | 2 | 04/17/2026 |
| 2.18.3 | 2 | 04/17/2026 |
| 2.18.2 | 2 | 04/17/2026 |
| 2.18.1 | 2 | 04/17/2026 |
| 2.18.0 | 2 | 04/17/2026 |
| 2.17.0 | 2 | 04/17/2026 |
| 2.16.0 | 2 | 04/17/2026 |
| 2.15.2 | 2 | 04/17/2026 |
| 2.15.1 | 2 | 04/17/2026 |
| 2.15.0 | 2 | 04/17/2026 |
| 2.14.0 | 2 | 04/17/2026 |
| 2.13.2 | 2 | 04/17/2026 |
| 2.13.1 | 2 | 04/17/2026 |
| 2.13.0 | 2 | 04/17/2026 |
| 2.12.7 | 2 | 04/17/2026 |
| 2.12.6 | 2 | 04/17/2026 |
| 2.12.4 | 2 | 04/17/2026 |
| 2.12.3 | 2 | 04/17/2026 |
| 2.12.2 | 2 | 04/17/2026 |
| 2.12.1 | 1 | 04/18/2026 |
| 2.12.0 | 2 | 04/17/2026 |
| 2.11.0 | 2 | 04/17/2026 |
| 2.10.4 | 2 | 04/17/2026 |
| 2.10.3 | 2 | 04/17/2026 |
| 2.10.2 | 2 | 04/17/2026 |
| 2.10.1 | 2 | 04/17/2026 |
| 2.10.0 | 2 | 04/17/2026 |
| 2.9.4 | 2 | 04/17/2026 |
| 2.9.3 | 2 | 04/17/2026 |
| 2.9.2 | 1 | 04/18/2026 |
| 2.9.1 | 2 | 04/17/2026 |
| 2.9.0 | 2 | 04/17/2026 |
| 2.8.1 | 2 | 04/17/2026 |
| 2.8.0 | 2 | 04/17/2026 |
| 2.7.2 | 1 | 04/18/2026 |
| 2.7.1 | 2 | 04/17/2026 |
| 2.7.0 | 2 | 04/17/2026 |
| 2.6.3 | 2 | 04/17/2026 |
| 2.6.2 | 1 | 04/18/2026 |
| 2.6.1 | 2 | 04/17/2026 |
| 2.6.0 | 2 | 04/17/2026 |
| 2.5.3 | 2 | 04/17/2026 |
| 2.5.2 | 1 | 04/18/2026 |
| 2.5.1 | 2 | 04/17/2026 |
| 2.5.0 | 2 | 04/17/2026 |
| 2.4.1 | 2 | 04/17/2026 |
| 2.4.0 | 2 | 04/17/2026 |
| 2.3.3 | 2 | 04/17/2026 |
| 2.3.1 | 2 | 04/17/2026 |
| 2.3.0 | 2 | 04/17/2026 |
| 2.2.0 | 2 | 04/17/2026 |
| 2.1.1 | 2 | 04/17/2026 |
| 2.1.0 | 2 | 04/17/2026 |
| 2.0.4 | 2 | 04/17/2026 |
| 2.0.3 | 2 | 04/17/2026 |
| 2.0.2 | 2 | 04/17/2026 |
| 2.0.1 | 2 | 04/17/2026 |
| 2.0.0 | 2 | 04/17/2026 |
| 1.8.5 | 2 | 04/17/2026 |
| 1.8.4 | 2 | 04/17/2026 |
| 1.8.3 | 2 | 04/17/2026 |
| 1.8.2 | 2 | 04/17/2026 |
| 1.8.1 | 2 | 04/17/2026 |
| 1.8.0 | 2 | 04/17/2026 |
| 1.7.8 | 2 | 04/17/2026 |
| 1.7.7 | 1 | 04/18/2026 |
| 1.7.6 | 2 | 04/17/2026 |
| 1.7.5 | 2 | 04/17/2026 |
| 1.7.4 | 2 | 04/17/2026 |
| 1.7.3 | 2 | 04/17/2026 |
| 1.7.2 | 2 | 04/17/2026 |
| 1.7.1 | 2 | 04/17/2026 |
| 1.7.0 | 1 | 04/18/2026 |
| 1.6.3 | 2 | 04/17/2026 |
| 1.6.2 | 2 | 04/17/2026 |
| 1.6.1 | 2 | 04/17/2026 |
| 1.6.0 | 2 | 04/17/2026 |
| 1.5.0 | 2 | 04/17/2026 |
| 1.4.3 | 1 | 04/18/2026 |
| 1.4.2 | 2 | 04/17/2026 |
| 1.4.1 | 2 | 04/17/2026 |
| 1.4.0 | 2 | 04/17/2026 |
| 1.3.0 | 2 | 04/17/2026 |
| 1.2.0 | 2 | 04/17/2026 |
| 1.1.1 | 2 | 04/17/2026 |
| 1.1.0 | 2 | 04/17/2026 |
| 1.0.1 | 2 | 04/17/2026 |
| 1.0.0 | 2 | 04/17/2026 |
| 0.18.4 | 2 | 04/17/2026 |
| 0.18.3 | 2 | 04/17/2026 |
| 0.18.2 | 2 | 04/17/2026 |
| 0.18.1 | 2 | 04/17/2026 |
| 0.18.0 | 2 | 04/17/2026 |
| 0.17.0 | 2 | 04/17/2026 |
| 0.16.0 | 2 | 04/17/2026 |
| 0.15.0 | 2 | 04/17/2026 |
| 0.14.1 | 2 | 04/17/2026 |
| 0.14.0 | 2 | 04/17/2026 |
| 0.13.1 | 2 | 04/17/2026 |
| 0.13.0 | 2 | 04/17/2026 |
| 0.12.0 | 2 | 04/17/2026 |
| 0.11.2 | 2 | 04/17/2026 |
| 0.11.1 | 2 | 04/17/2026 |
| 0.11.0 | 2 | 04/17/2026 |
| 0.10.0 | 2 | 04/17/2026 |
| 0.9.1 | 2 | 04/17/2026 |
| 0.9.0 | 2 | 04/17/2026 |
| 0.8.2 | 2 | 04/17/2026 |
| 0.8.1 | 2 | 04/17/2026 |
| 0.8.0 | 2 | 04/17/2026 |
| 0.7.0 | 1 | 04/18/2026 |
| 0.6.0 | 2 | 04/17/2026 |
| 0.5.0 | 2 | 04/17/2026 |
| 0.4.0 | 2 | 04/17/2026 |
| 0.3.0 | 2 | 04/17/2026 |
| 0.2.0 | 2 | 04/17/2026 |
| 0.1.5 | 2 | 04/17/2026 |
| 0.1.4 | 2 | 04/17/2026 |
| 0.1.3 | 1 | 04/18/2026 |
| 0.1.2 | 2 | 04/17/2026 |
| 0.1.1 | 2 | 04/17/2026 |
| 0.1.0 | 2 | 04/17/2026 |