Cortex.Streams.Pulsar
3.1.2
dotnet add package Cortex.Streams.Pulsar --version 3.1.2
NuGet\Install-Package Cortex.Streams.Pulsar -Version 3.1.2
<PackageReference Include="Cortex.Streams.Pulsar" Version="3.1.2" />
<PackageVersion Include="Cortex.Streams.Pulsar" Version="3.1.2" />
<PackageReference Include="Cortex.Streams.Pulsar" />
paket add Cortex.Streams.Pulsar --version 3.1.2
#r "nuget: Cortex.Streams.Pulsar, 3.1.2"
#:package Cortex.Streams.Pulsar@3.1.2
#addin nuget:?package=Cortex.Streams.Pulsar&version=3.1.2
#tool nuget:?package=Cortex.Streams.Pulsar&version=3.1.2
Cortex.Streams.Pulsar π§
Cortex.Streams.Pulsar is a streaming connector for Apache Pulsar, designed to work seamlessly within the Cortex Data Framework. It enables real-time data ingestion and publication from/to Pulsar topics, now with full support for message keys alongside values.
π Features
- π Pulsar Source Operator: Consume messages (key + value) from Pulsar topics.
- π Pulsar Sink Operator: Publish messages to Pulsar topics with optional keys.
- π§© Key Support: Allows key-based partitioning and stream grouping.
- π¦ Seamless DSL Integration: Easily compose with other Cortex stream operations.
- β‘ Built for Scale: Backed by Pulsarβs distributed, high-throughput architecture.
π Getting Started
Install via NuGet
dotnet add package Cortex.Streams.Pulsar
β Pulsar Sink Operator
In Program.cs or Startup.cs:
using Cortex.Streams;
using Cortex.Streams.Pulsar;
var pulsarSink = new PulsarSinkOperator<string>("pulsar://localhost:6650", "persistent://public/default/input-topic");
var stream = StreamBuilder<string, string>
.CreateNewStream("PulsarIngester")
.Stream()
.Sink(pulsarSink)
.Build();
stream.Start();
stream.Emit("data1");
stream.Emit("data2");
stream.Emit("data3");
β Pulsar Source Operator
using Cortex.Streams;
using Cortex.Streams.Pulsar;
var pulsarSource = new PulsarSourceOperator<string>("pulsar://localhost:6650", "persistent://public/default/input-topic");
var stream = StreamBuilder<string, string>
.CreateNewStream("PulsarProcessor")
.Stream(pulsarSource)
.Map(message => message.ToUpper())
.Sink(processed => Console.WriteLine($"Processed: {processed}"))
.Build();
stream.Start();
π Key Use Cases
- Partition-aware processing using message keys
- Sessionization and user-based aggregations
- Scalable event ingestion pipelines
π§± Prerequisites
- .NET 6.0 SDK or later
- Apache Pulsar running locally or remotely
- Add Cortex.Streams base package
π¬ Contributing
We welcome contributions from the community! Whether it's reporting bugs, suggesting features, or submitting pull requests, your involvement helps improve Cortex for everyone.
π¬ How to Contribute
- Fork the Repository
- Create a Feature Branch
git checkout -b feature/YourFeature
- Commit Your Changes
git commit -m "Add your feature"
- Push to Your Fork
git push origin feature/YourFeature
- Open a Pull Request
Describe your changes and submit the pull request for review.
π License
This project is licensed under the MIT License.
π Sponsorship
Cortex is an open-source project maintained by BuilderSoft. Your support helps us continue developing and improving Cortex. Consider sponsoring us to contribute to the future of resilient streaming platforms.
How to Sponsor
- Financial Contributions: Support us through GitHub Sponsors or other preferred platforms.
- Corporate Sponsorship: If your organization is interested in sponsoring Cortex, please contact us directly.
Contact Us: cortex@buildersoft.io
Contact
We'd love to hear from you! Whether you have questions, feedback, or need support, feel free to reach out.
- Email: cortex@buildersoft.io
- Website: https://buildersoft.io
- GitHub Issues: Cortex Data Framework Issues
- Join our Discord Community:
Thank you for using Cortex Data Framework! We hope it empowers you to build scalable and efficient data processing pipelines effortlessly.
Built with β€οΈ by the Buildersoft team.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
-
net7.0
- Cortex.Streams (>= 3.1.2)
- DotPulsar (>= 4.3.1)
- Google.Protobuf (>= 3.31.1)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
- protobuf-net (>= 3.2.55)
-
net8.0
- Cortex.Streams (>= 3.1.2)
- DotPulsar (>= 4.3.1)
- Google.Protobuf (>= 3.31.1)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
- protobuf-net (>= 3.2.55)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.2 | 77 | 2/10/2026 |
| 3.1.1 | 93 | 1/30/2026 |
| 3.1.0 | 82 | 1/30/2026 |
| 2.2.0 | 86 | 1/24/2026 |
| 2.1.0 | 130 | 10/10/2025 |
| 1.7.0 | 528 | 7/24/2025 |
| 1.6.1 | 230 | 4/8/2025 |
| 1.6.0 | 153 | 4/5/2025 |
| 1.5.0 | 153 | 2/8/2025 |
| 1.4.0 | 162 | 1/18/2025 |
| 1.3.1 | 153 | 12/24/2024 |
| 1.3.0 | 144 | 12/24/2024 |
| 1.2.1 | 163 | 12/10/2024 |
| 1.2.0 | 151 | 12/9/2024 |
| 1.1.0 | 163 | 12/3/2024 |
| 1.0.1 | 166 | 12/3/2024 |
| 1.0.0 | 184 | 11/24/2024 |
Just as the Cortex in our brains handles complex processing efficiently, Cortex Data Framework brings brainpower to your data management!