Cortex.Streams.Pulsar
2.2.0
dotnet add package Cortex.Streams.Pulsar --version 2.2.0
NuGet\Install-Package Cortex.Streams.Pulsar -Version 2.2.0
<PackageReference Include="Cortex.Streams.Pulsar" Version="2.2.0" />
<PackageVersion Include="Cortex.Streams.Pulsar" Version="2.2.0" />
<PackageReference Include="Cortex.Streams.Pulsar" />
paket add Cortex.Streams.Pulsar --version 2.2.0
#r "nuget: Cortex.Streams.Pulsar, 2.2.0"
#:package Cortex.Streams.Pulsar@2.2.0
#addin nuget:?package=Cortex.Streams.Pulsar&version=2.2.0
#tool nuget:?package=Cortex.Streams.Pulsar&version=2.2.0
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 (>= 2.2.0)
- DotPulsar (>= 4.3.1)
- Google.Protobuf (>= 3.31.1)
- Newtonsoft.Json (>= 13.0.3)
- protobuf-net (>= 3.2.55)
-
net8.0
- Cortex.Streams (>= 2.2.0)
- DotPulsar (>= 4.3.1)
- Google.Protobuf (>= 3.31.1)
- 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 |
|---|---|---|
| 2.2.0 | 32 | 1/24/2026 |
| 2.1.0 | 126 | 10/10/2025 |
| 1.7.0 | 525 | 7/24/2025 |
| 1.6.1 | 225 | 4/8/2025 |
| 1.6.0 | 146 | 4/5/2025 |
| 1.5.0 | 150 | 2/8/2025 |
| 1.4.0 | 157 | 1/18/2025 |
| 1.3.1 | 148 | 12/24/2024 |
| 1.3.0 | 139 | 12/24/2024 |
| 1.2.1 | 155 | 12/10/2024 |
| 1.2.0 | 148 | 12/9/2024 |
| 1.1.0 | 158 | 12/3/2024 |
| 1.0.1 | 163 | 12/3/2024 |
| 1.0.0 | 177 | 11/24/2024 |
Just as the Cortex in our brains handles complex processing efficiently, Cortex Data Framework brings brainpower to your data management!