:stars: Purely functional Apache Pulsar client for Scala built on top of Fs2

neutron

CI Status MergifyStatus Maven Central Scala Steward badge Cats friendly

A pulsar is a celestial object, thought to be a rapidly rotating neutron star, that emits regular pulses of radio waves and other electromagnetic radiation at rates of up to one thousand pulses per second.

pulsar

Disclaimer

Neutron started out as a fork of the original Neutron developed at Chatroulette, which was a project gvolpe started when working at that company. The main motivation for the fork was to support Scala 3, as well as adding other more opinionated changes.

Furthermore, we believe in OSS and want to maintain an Apache Pulsar library compatible with the needs of the community, and not only of the needs of a single company.

Documentation

Check out the microsite.

Development

If you have sbt installed, you don't have to worry about anything. Simply run sbt +test command in the project root to run the tests.

If you are a nix user, make sure you enter a development shell by running nix develop on the project's root.

sbt +test

Remember to first start Pulsar and its configuration via the provided shell script.

./run.sh

Schemas

Working with schemas when using our Pulsar docker-compose configuration.

Get schema compatibility strategy:

$ docker-compose exec pulsar bin/pulsar-admin namespaces get-schema-compatibility-strategy public/default
FULL

Set schema compatibility strategy:

$ docker-compose exec pulsar bin/pulsar-admin namespaces set-schema-compatibility-strategy -c BACKWARD public/default