• Stars
    star
    301
  • Rank 138,451 (Top 3 %)
  • Language
    F#
  • License
    MIT License
  • Created over 5 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Apache Pulsar native client for .NET (C#/F#/VB)

pulsar-client-dotnet

Pulsar.Client

.NET Core Windows .NET Core Ubuntu

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
    1. 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
    2. Run commands in /tests/IntegrationTests/commands.txt
    3. Change pulsarAddress in Common.fs to point your pulsar cluster
    4. Ensure public/default namespace with default settings
    5. Ensure public/retention namespace with time or storage size retention configured
  • Send a Pull Request

Maintaners

  • @Lanayx

More Repositories

1

Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
F#
2,019
star
2

FAKE

FAKE - F# Make
F#
1,279
star
3

awesome-fsharp

A curated list of awesome F# frameworks, libraries, software and resources.
1,194
star
4

Avalonia.FuncUI

Develop cross-plattform GUI Applications using F# and Avalonia!
F#
952
star
5

FSharpPlus

Extensions for F#
F#
845
star
6

FSharp.Data

F# Data: Library for Data Access
F#
813
star
7

fantomas

FSharp source code formatter
F#
772
star
8

FSharpx.Extras

Functional programming and other utilities from the original "fsharpx" project
F#
683
star
9

Rezoom.SQL

Statically typechecks a common SQL dialect and translates it to various RDBMS backends
F#
670
star
10

SQLProvider

A general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides.
F#
578
star
11

ProjectScaffold

A prototypical .NET solution (file system layout and tooling), recommended for F# projects
F#
517
star
12

FSharp.Formatting

F# tools for generating documentation (Markdown processor and F# code formatter)
F#
464
star
13

Argu

A declarative CLI argument parser for F#
F#
454
star
14

FsHttp

A lightweight F# HTTP library by @SchlenkR and @dawedawe
F#
445
star
15

IfSharp

F# for Jupyter Notebooks
Jupyter Notebook
442
star
16

FsUnit

FsUnit makes unit-testing with F# more enjoyable. It adds a special syntax to your favorite .NET testing framework.
F#
425
star
17

FSharp.Data.GraphQL

FSharp implementation of Facebook GraphQL query language.
F#
399
star
18

fsharp-companies

Community curated list of companies that use F#
385
star
19

fsharp-cheatsheet

This cheatsheet aims to succinctly cover the most important aspects of F# 6.0.
F#
328
star
20

zarchive-fsharpbinding

Archive of F# Language Bindings for Open Editors
Emacs Lisp
308
star
21

FSharpLint

Lint tool for F#
F#
303
star
22

FSharp.TypeProviders.SDK

The SDK for creating F# type providers
F#
298
star
23

FSharp.Control.Reactive

Extensions and wrappers for using Reactive Extensions (Rx) with F#.
F#
284
star
24

SwaggerProvider

F# generative Type Provider for Swagger
F#
264
star
25

FsReveal

FsReveal parses markdown and F# script file and generates reveal.js slides.
F#
258
star
26

FSharp.Data.Adaptive

On-demand adaptive/incremental data for F# https://fsprojects.github.io/FSharp.Data.Adaptive/
F#
249
star
27

FSharpx.Collections

FSharpx.Collections is a collection of datastructures for use with F# and C#.
F#
247
star
28

FSharp.Json

F# JSON Reflection based serialization library
F#
226
star
29

fsharp-language-server

F#
219
star
30

fsharp-ai-tools

TensorFlow API for F# + F# for AI Models eDSL
F#
213
star
31

FsLexYacc

Lexer and parser generators for F#
F#
207
star
32

FSharp.Data.SqlClient

A set of F# Type Providers for statically typed access to MS SQL database
F#
205
star
33

Fleece

Json mapper for F#
F#
199
star
34

ExcelFinancialFunctions

.NET Standard library providing the full set of financial functions from Excel.
F#
194
star
35

Chessie

Railway-oriented programming for .NET
F#
187
star
36

FsXaml

F# Tools for working with XAML Projects
F#
172
star
37

FSharp.UMX

F# units of measure for primitive non-numeric types
F#
162
star
38

FSharp.Control.AsyncSeq

Asynchronous sequences for F#
F#
161
star
39

Paket.VisualStudio

Manage your Paket (http://fsprojects.github.io/Paket/) dependencies from Visual Studio!
C#
147
star
40

ExcelProvider

This library is for the .NET platform implementing a Excel type provider.
F#
141
star
41

TickSpec

Lean .NET BDD framework with powerful F# integration
F#
134
star
42

SIMDArray

SIMD enhanced Array operations
F#
132
star
43

FsBlog

Blog aware, static site generation using F#.
CSS
132
star
44

FSharp.Configuration

The FSharp.Configuration project contains type providers for the configuration of .NET projects.
F#
114
star
45

FSharp.Interop.Dynamic

DLR interop for F# -- works like dynamic keyword in C#
F#
95
star
46

FSharpx.Async

Asynchronous programming utilities for F#
F#
94
star
47

FSharp.Control.TaskSeq

A computation expression and module for seamless working with IAsyncEnumerable<'T> as if it is just another sequence
F#
93
star
48

FSharp.Management

The FSharp.Management project contains various type providers for the management of the machine.
F#
91
star
49

AzureStorageTypeProvider

An F# Azure Type Provider which can be used to explore Blob, Table and Queue Azure Storage assets and easily apply CRUD operations on them.
F#
84
star
50

Foq

A unit testing framework for F#
F#
79
star
51

FSharp.Azure.Storage

F# API for using Microsoft Azure Table Storage service
F#
75
star
52

FSharp.ViewModule

Library providing MVVM and INotifyPropertyChanged support for F# projects
F#
74
star
53

FSharp.Text.RegexProvider

A type provider for regular expressions.
F#
74
star
54

Incremental.NET

A library for incremental computations. Based on janestreet/incremental (https://github.com/janestreet/incremental) for OCaml.
F#
72
star
55

FSharp.Core.Fluent

Fluent members for F# FSharp.Core functions
F#
71
star
56

Mechanic

F#
68
star
57

FSharp.Collections.ParallelSeq

Parallel (multi-core) sequence operations
F#
68
star
58

FSharp.Quotations.Evaluator

A quotations evaluator/compiler for F# based on LINQ expression tree compilation
F#
68
star
59

FSharp.Linq.ComposableQuery

Compositional Query Framework for F# Queries, based on "A Practical Theory of Language-Integrated Query"
F#
67
star
60

OpenAPITypeProvider

F# type provider for Open API specification
F#
65
star
61

fsharp-hashcollections

Library providing fast hash based immutable map and set
F#
60
star
62

FSharp.AWS.DynamoDB

F# wrapper API for AWS DynamoDB
F#
58
star
63

FSharp.Data.Toolbox

F# Data-based library for various data access APIs
F#
57
star
64

DynamoDb.SQL

SQL-like external DSL for querying and scanning Amazon DynamoDB
F#
54
star
65

FsRandom

A purely-functional random number generator framework designed for F#
F#
52
star
66

Z3Fs

Simple DSL to solve SMT problems using Z3 API in F#
F#
52
star
67

FSharp.Data.JsonSchema

F#
49
star
68

fantomas-for-vs

Visual Studio Formatter for F#
HTML
46
star
69

SyntacticVersioning

Helper tool to verify semantic version changes based on API surface area changes
F#
45
star
70

FSharp.Compatibility

Compatibility libraries for F#
F#
44
star
71

Interstellar

Cross-platform desktop apps in F# using web tech - https://www.nuget.org/packages/Interstellar.Core/
F#
43
star
72

FSharp.Interop.PythonProvider

Early experimental F# type provider for python
F#
42
star
73

FSharp.Compiler.PortaCode

The PortaCode F# code format and corresponding interpreter. Used by Fabulous and others.
F#
42
star
74

FSharp.CloudAgent

Allows running F# Agents in a distributed manner using Azure Service Bus.
F#
39
star
75

FSharp.Data.TypeProviders

F# Type Providers for SqlDataConnection, SqlEntityConnection, ODataService, WsdlService and EdmxFile using .NET Framework generators
F#
38
star
76

Roslyn.FSharp

Roslyn read-only API to work with F# code (via bridge to FSharp.Compiler.Service)
F#
37
star
77

FnuPlot

An F# wrapper for gnuplot charting library
F#
35
star
78

GraphProvider

A state machine type provider
F#
35
star
79

FSharp.Span.Utils

Makes Span/ReadOnlySpan easy to use from F#.
F#
34
star
80

fantomas-tools

Collection of tools used when developing for Fantomas
F#
34
star
81

fsharp-linting-for-vs

Visual Studio Linter for F#
C#
33
star
82

LocSta

An F# library for composing state-aware functions by @SchlenkR
JavaScript
33
star
83

FSharp.Data.Xsd

XML Type Provider with schema support
F#
32
star
84

zarchive-sublime-fsharp-package

F# development tools for SublimeText 3
Python
32
star
85

.github

The place to request for projects to be added or removed from the incubation space
28
star
86

zarchive-xamarin-monodevelop-fsharp-addin

(No longer Used) F# Editing Support In MonoDevelop and Xamarin Studio
F#
27
star
87

Zander

Regular expression for matrix information. I.e. parse structured blocks of information from csv or excel files (or similar 2d matrixes)
F#
27
star
88

FSharp.Compiler.CodeDom

An F# CodeDOM implementation (based on the old F# Power Pack)
F#
25
star
89

BioProviders

F# library for accessing and manipulating bioinformatic datasets.
F#
24
star
90

ReasoningEngine

Symbolic analysis of discrete dynamical systems
F#
24
star
91

FSharp.Data.WsdlProvider

An implementation of the WsdlProvider compatible with netfx and netcore
F#
24
star
92

FsMath3D

F# 3D Math Library for realtime applications
F#
22
star
93

S3Provider

Experimental type provider for Amazon S3
F#
22
star
94

FSharpPerf

A set of performance test scripts for the F# compiler.
F#
20
star
95

MarkerClustering

A component to cluster map markers.
F#
19
star
96

DynamicsCRMProvider

A type provider for Microsoft Dynamics CRM 2011.
F#
16
star
97

Amazon.SimpleWorkflow.Extensions

Extensions to AmazonSDK's SimpleWorkflow capabilities to make it more intuitive to use
F#
16
star
98

Canopy.Mobile

Canopy testing framework for mobile apps
F#
14
star
99

LSON

Lisp inspired serialization (intended for when you don't even want to take a dependency on JSON serializer)
F#
14
star
100

FSharp.Codecs.Redis

FSharp redis codecs based on Fleece patterns
F#
13
star