Member-only story
Part 1 of the series on Apache Pulsar focusing on development setup and testing using Python and Rust.

Overview
Apache Pulsar is a cloud-native, distributed messaging and streaming platform. In this article, I am going to focus on setting up a local development environment using Docker.
Client libraries for Apache Pulsar are available natively for Java, Go, Python, C++, Node.js, WebSocket, and C#. In this article, let’s try with Python and a 3rd party Rust library.
Pulsar and Pulsar Manager
Let’s get started by setting up Pulsar and Pulsar Manager.
Pulsar Manager is a web-based GUI management and monitoring tool that helps administrators and users manage and monitor tenants, namespaces, topics, subscriptions, brokers, clusters, and so on, and supports dynamic configuration of multiple environments.
docker-compose
Create the following docker-compose.yml
file.
Run the following commands to start the containers.
# mkdir -p data
# docker compose up

Password Setup for Pulsar Manager
Run the following commands to set up the password for Pulsar Manager.
Set up the CRSF token,
# CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)
Set up the admin user name to apachepulsar
.
# curl \
-H "X-XSRF-TOKEN: $CSRF_TOKEN" \
-H "Cookie: XSRF-TOKEN=$CSRF_TOKEN;" \
-H 'Content-Type: application/json' \
-X PUT http://localhost:7750/pulsar-manager/users/superuser \
-d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "username@test.org"}'