nats.py
Python3 client for NATS
File Explorer
Download Latest Version (.zip)- config.yml
- defect.yml
- proposal.yml
- check.yml
- claude.yml
- test.yml
- basics_publish.py
- basics_subscribe.py
- getting_started_publish.py
- getting_started_subscribe.py
- jetstream_basic.py
- learn_core_nats_publish_subscribe_publish.py
- learn_core_nats_publish_subscribe_subscribe.py
- learn_core_nats_queue_groups_queue_subscribe.py
- learn_core_nats_request_reply_replies.py
- learn_core_nats_request_reply_request.py
- learn_core_nats_request_reply_respond.py
- learn_core_nats_scatter_gather_gather.py
- learn_core_nats_scatter_gather_provider.py
- learn_core_nats_subjects_and_wildcards_wildcard_multi.py
- learn_core_nats_subjects_and_wildcards_wildcard_single.py
- learn_jetstream_acknowledgment_nak_with_delay.py
- learn_jetstream_acknowledgment_term_poison.py
- learn_jetstream_acknowledgment_watch_max_deliveries.py
- learn_jetstream_advanced_publishing_async.py
- learn_jetstream_advanced_publishing_atomic.py
- learn_jetstream_filtering_create_filtered.py
- learn_jetstream_filtering_filter_matches_nothing.py
- learn_jetstream_get_direct_by_sequence.py
- learn_jetstream_get_direct_direct_read.py
- learn_jetstream_get_direct_enable.py
- learn_jetstream_get_direct_last_for_subject.py
- learn_jetstream_message_ttl_publish_with_ttl.py
- learn_jetstream_message_ttl_ttl_on_disabled_stream.py
- learn_jetstream_mirrors_and_sources_create_mirror.py
- learn_jetstream_mirrors_and_sources_create_source.py
- learn_jetstream_mirrors_and_sources_mirror_lag.py
- learn_jetstream_ordered_consumer_read.py
- learn_jetstream_publishing_confirm_stored.py
- learn_jetstream_publishing_dedup.py
- learn_jetstream_publishing_pub_ack.py
- learn_jetstream_publishing_sync.py
- learn_jetstream_pull_consumers_consume_continuous.py
- learn_jetstream_pull_consumers_empty_fetch.py
- learn_jetstream_pull_consumers_fetch_batch.py
- learn_jetstream_reading_back_create.py
- learn_jetstream_reading_back_read.py
- learn_jetstream_retention_policies_retention_switch_rejected.py
- learn_jetstream_retention_policies_work_queue_create.py
- learn_jetstream_retention_policies_workqueue_overlap.py
- learn_jetstream_shaping_the_stream_discard_new.py
- learn_jetstream_shaping_the_stream_per_subject_limit.py
- learn_jetstream_shaping_the_stream_set_limits.py
- learn_jetstream_subject_mapping_republish.py
- learn_jetstream_subject_mapping_transform.py
- learn_jetstream_worker_pool_max_pending.py
- learn_jetstream_worker_pool_redelivery_count.py
- learn_jetstream_worker_pool_worker.py
- learn_jetstream_your_first_consumer_create.py
- learn_jetstream_your_first_consumer_double_ack.py
- learn_jetstream_your_first_consumer_next.py
- learn_jetstream_your_first_consumer_pull_and_ack.py
- learn_jetstream_your_first_stream_create.py
- learn_jetstream_your_first_stream_info.py
- queue_groups_basic.py
- queue_groups_dynamic_scaling.py
- queue_groups_mixed_subscribers.py
- queue_groups_request_reply.py
- README.md
- request_reply_basic.py
- request_reply_calculator.py
- request_reply_headers.py
- request_reply_multiple_responders.py
- request_reply_no_responders.py
- request_reply_timeout.py
- subjects_monitoring.py
- subjects_multi_wildcard.py
- subjects_single_wildcard.py
- inbox_perf.py
- latency_perf.py
- parser_perf.py
- pub_perf.py
- pub_sub_perf.py
- sub_perf.py
- __init__.py
- args.py
- service.py
- __main__.py
- __main__.py
- __main__.py
- __init__.py
- advanced.py
- basic.py
- client.py
- clustered.py
- component.py
- connect.py
- context-manager.py
- drain-sub.py
- example.py
- graceful_shutdown.py
- jetstream.py
- kv.py
- publish.py
- service.py
- simple.py
- subscribe.py
- tls.py
- wildcard.py
- generate_certs.sh
- install_nats.sh
- test.sh
- __init__.py
- client.py
- errors.py
- msg.py
- subscription.py
- transport.py
- __init__.py
- api.py
- client.py
- errors.py
- kv.py
- manager.py
- object_store.py
- __init__.py
- request.py
- service.py
- __init__.py
- command.py
- parser.py
- __init__.py
- errors.py
- nuid.py
- py.typed
- ca.key
- ca.pem
- client-cert.pem
- client-key.pem
- server-cert.pem
- server-key.pem
- Dockerfile
- js-limits.conf
- no_auth_user.conf
- tls_handshake_first.conf
- ws.conf
- ws_tls.conf
- bad-user.creds
- bad-user2.creds
- bar-user.creds
- foo-user.creds
- foo-user.jwt
- foo-user.nk
- nkeys_server.conf
- op.jwt
- resolver_preload.conf
- ws.conf
- ws_tls.conf
- __init__.py
- test_client.py
- test_client_async_await.py
- test_client_nkeys.py
- test_client_v2.py
- test_client_websocket.py
- test_compatibility.py
- test_custom_headers_websocket.py
- test_js.py
- test_micro_service.py
- test_nuid.py
- test_parser.py
- utils.py
- CHANGELOG.md
- LICENSE
- pyproject.toml
- README.md
- __init__.py
- bench_client.py
- bench_protocol.py
- nats-echo.py
- nats-pub.py
- nats-qsub.py
- nats-req.py
- nats-rply.py
- nats-sub.py
- __init__.py
- command.py
- message.py
- types.py
- __init__.py
- connection.py
- errors.py
- message.py
- subscription.py
- ca.key
- ca.pem
- client-cert.pem
- client-key.pem
- server-cert.pem
- server-key.pem
- nkeys_server.conf
- resolver_preload.conf
- server_auth_jwt.conf
- server_auth_nkey.conf
- server_auth_token.conf
- server_auth_token_alt.conf
- server_auth_user_pass.conf
- server_max_payload.conf
- server_ping.conf
- server_tls_handshake_first.conf
- server_tls_upgrade.conf
- server_tls_verify.conf
- server_websocket.conf
- server_websocket_compression.conf
- server_websocket_tls.conf
- bad-user.creds
- foo-user.creds
- foo-user.jwt
- foo-user.nk
- user.nk
- __init__.py
- conftest.py
- test_client.py
- test_connection.py
- test_examples.py
- test_message.py
- test_protocol.py
- test_subscription.py
- test_tls.py
- test_websocket.py
- bench.py
- CHANGELOG.md
- MIGRATION.md
- pyproject.toml
- README.md
- ordered_fetch.py
- ordered_messages.py
- account_info_response.json
- account_purge_response.json
- consumer_configuration.json
- consumer_create_request.json
- consumer_create_response.json
- consumer_delete_response.json
- consumer_getnext_request.json
- consumer_info_response.json
- consumer_leader_stepdown_request.json
- consumer_leader_stepdown_response.json
- consumer_list_request.json
- consumer_list_response.json
- consumer_names_request.json
- consumer_names_response.json
- consumer_pause_request.json
- consumer_pause_response.json
- consumer_reset_request.json
- consumer_reset_response.json
- consumer_unpin_request.json
- consumer_unpin_response.json
- definitions.json
- meta_leader_stepdown_request.json
- meta_leader_stepdown_response.json
- meta_server_remove_request.json
- meta_server_remove_response.json
- pub_ack_response.json
- stream_configuration.json
- stream_create_request.json
- stream_create_response.json
- stream_delete_response.json
- stream_info_request.json
- stream_info_response.json
- stream_leader_stepdown_request.json
- stream_leader_stepdown_response.json
- stream_list_request.json
- stream_list_response.json
- stream_msg_delete_request.json
- stream_msg_delete_response.json
- stream_msg_get_request.json
- stream_msg_get_response.json
- stream_names_request.json
- stream_names_response.json
- stream_purge_request.json
- stream_purge_response.json
- stream_remove_peer_request.json
- stream_remove_peer_response.json
- stream_restore_request.json
- stream_restore_response.json
- stream_snapshot_request.json
- stream_snapshot_response.json
- stream_template_configuration.json
- stream_template_create_request.json
- stream_template_create_response.json
- stream_template_delete_response.json
- stream_template_info_response.json
- stream_template_names_request.json
- stream_template_names_response.json
- stream_update_request.json
- stream_update_response.json
- __init__.py
- client.py
- types.py
- __init__.py
- ordered.py
- pull.py
- __init__.py
- errors.py
- headers.py
- message.py
- stream.py
- util.py
- conftest.py
- test_api.py
- test_consumer.py
- test_jetstream.py
- test_message.py
- test_ordered_consumer.py
- test_stream.py
- fetch_schemas.py
- generate_types.py
- CHANGELOG.md
- MIGRATION.md
- pyproject.toml
- README.md
- __init__.py
- errors.py
- __init__.py
- conftest.py
- test_kv.py
- CHANGELOG.md
- pyproject.toml
- README.md
- __init__.py
- invalid.conf
- jetstream.conf
- port.conf
- __init__.py
- conftest.py
- test_server.py
- .DS_Store
- pyproject.toml
- README.md
- .gitignore
- CLAUDE.md
- CODE-OF-CONDUCT.md
- CONTRIBUTING.md
- dependencies.md
- GOVERNANCE.md
- LICENSE
- MAINTAINERS.md
- Makefile
- pyproject.toml
- README.md
- uv.lock
๐ Installation Guide
1. Get the code
git clone https://github.com/nats-io/nats.py
Downloads the entire project code from GitHub to your computer.
cd nats.py
Moves into the project folder you just downloaded.
2. Official Install Script
Easy RecommendedPrerequisites
- Python 3 Python is required to use pip.
pip install nats-py[nkeys]
Installs the package published on PyPI directly โ no need to clone the source.
After installing, open a new terminal and run the program's version command (e.g. --version) to confirm it worked.
Pulled directly from this repo's README.
3. Python
EasyPrerequisites
-- pip install --upgrade certifi
Installs the Python libraries listed in requirements.txt (or similar).
pip install nats-py[nkeys]
Installs the package published on PyPI directly โ no need to clone the source.
If it runs without errors and prints output in the terminal, it worked.
Pulled directly from this repo's README.
4. Make
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
If it finishes without errors, it worked. Try running the generated executable directly.
// repository documentation
Was this content helpful?
(0 ratings)
