Commit Graph

62 Commits

Author SHA1 Message Date
346a0a14db Pubsub example for py-libp2p (#515)
* Initial setup for pubsup

* Created node and trying to setup gossipsub

* Fix: Use pubsub object for publishing messages instead of gossipsub

* Correct help message for port argument.

* Fix: Used pubsub object instead of gossipsub object on Client side

* Fix: handle_new_peer method of pubsub is used to connect to new peers.

* used for host.connect to connect to peers

* Corrected script for connecting to other peers.

* message receiving function created

* message publishing function created

* Refactored the code for improved clarity and maintainability.

* fix: make publish loop input non-blocking to prevent event loop blocking

* refactored the code for better user experience while publishing message

* corrected the name of protocol

* Fix: Correct the implementation of the port argument

* Added pubsub initialization

* added logging

* pubsub instance is running

* Enhance publish loop with user prompts and error handling

* Connection monitoring added

* Add key pair generation and security options to pubsub host initialization

* Refactor pubsub logging and corrected gossipsub protocol id

* Started gossipsub service

* Add dynamic port assignment

* Refactor pubsub example for CI

* feat: monitor_peer_topics function added

* Noise protocol added

* refactor: default port set to none and some logging changes.

* refactor: Add graceful shutdown with termination events

- Replace infinite loops with termination events
- Add proper shutdown handling for all loops
- Implement clean resource cleanup on exit
- Add shutdown message for better user feedback
- Update signal handling for graceful termination

* Changed import path for factories file.
- to align import statement with changes from PR 543

* Added News Fragment

* Added pub-sub demo to the console_scripts section in setup.py

* Added pubsub example to Documentation

* Fix formatting and path in PubSub documentation example

* Added pubsub example in toctree

* Added tests for pubsub example

* updated the description of pubsub example

* corrected the name of pubsub docs file

* Remove unused imports and security options from pubsub example

* Update script usage instructions in pubsub example

* Enhanced compatibility for python 3.9

* Corrected console output
2025-04-06 14:38:14 -06:00
7793e322dc Add news fragment for test_simple_last_seen_cache fix 2025-04-06 14:17:15 -06:00
23e05177ef docs: add newsfragment on how to add examples 2025-04-02 03:13:20 -06:00
aec7995eba Compile release notes for v0.2.4 2025-03-27 15:53:34 -06:00
3bdbde57c7 feat: Add Windows compatibility using coincurve 2025-03-27 15:49:30 -06:00
f9b8ac9da1 Compile release notes for v0.2.3 2025-03-27 14:46:44 -06:00
4514e86ee4 move pubsub testing tools into tests/utils 2025-03-27 14:21:45 -06:00
604a447287 feat: add identify protocol example 2025-03-24 17:55:16 -06:00
df72979606 moved factories to tests 2025-03-24 07:59:35 -06:00
ddf68ee4e0 rebuild protobufs with protoc v30.1 2025-03-23 16:49:19 -06:00
b2a6294cfa feat(host): add get_live_peers() to track connection state 2025-03-23 15:01:18 -06:00
f6279c23ac added : demos to test ci 2025-03-23 14:46:24 -06:00
bf699351e1 improved newsfragment description 2025-03-17 09:27:13 -06:00
e5f3e88134 added : timed_cache sub-module 2025-03-17 09:27:13 -06:00
f392f47822 update the newsfragment 2025-03-16 07:02:53 -06:00
d1390c824c fixed: newsfragment 2025-03-16 07:02:53 -06:00
dc6de9b53a rufuse large RSA keys 2025-03-16 07:02:53 -06:00
7d324b129b add newsfragment 2025-03-13 19:59:04 -06:00
65bc17a739 update Feature Breakdown to more closely match official implementations list of features 2025-02-25 06:50:26 -07:00
0c4ea5064f fix: broken import in the examples after net_stream_interface rename 2025-02-25 06:37:09 -07:00
676d2d3148 fix: broken import in the examples after net_stream_interface rename 2025-02-25 06:37:09 -07:00
d0d92e9870 fix: broken import in the examples after net_stream_interface rename 2025-02-25 06:37:09 -07:00
0f0d51305c fix ci not running lint, bump pre-commit-hooks version 2025-02-24 19:46:46 -07:00
d7eab27564 refactored and moved all interfaces to abc.py (#504)
* refactored : host_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored : network_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored : notifee_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored : net_connection_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored: raw_connection_interface, secure_conn_interface and stream_muxer abc.py

* refactored: addrbook_interface

* refactored :peerdata_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :peermetadata_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :multiselect_client_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :multiselect_communicator_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :multiselect_muxer_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :interfaces

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :security_transport_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* refactored :listener_interface

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* moved all interfaces and typing files

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>

* fixed documentation and moved pubsub abc.py

Co-authored-by: Khwahish Patel <khwahish.p1@ahduni.edu.in>

* added exclude-members in custom_types docs

* added : newsfragment for moving all interfaces to libp2p.abc

---------

Co-authored-by: mystical-prog <jdgt.vd.0405@gmail.com>
Co-authored-by: Mystical <125946525+mystical-prog@users.noreply.github.com>
2025-02-21 16:01:45 -07:00
68f6a362fd Compile release notes for v0.2.2 2025-02-20 09:15:25 -07:00
e7a9ee78a8 rename typing.py to custom_types.py for clarity 2025-02-02 07:18:52 -07:00
8787613e91 run lint with pyupgrade at py39-plus 2025-01-25 15:48:39 -07:00
460db3dce8 merge template, fill vars, lint 2025-01-25 14:43:45 -07:00
a72dbaa58d set demos as console scripts, update chat instructions 2025-01-01 17:36:41 -07:00
bc90632f9d Add entry to the [release notes] 2025-01-01 16:43:44 -07:00
ba0d07ed66 Compile release notes for v0.2.1 2024-12-20 11:56:33 -07:00
f156668c1b fixed doc comments in pubsub.abc 2024-12-03 14:00:18 -07:00
edf5270425 added newsfragment for missing check in peerdata's add_addr function 2024-11-24 14:39:29 -07:00
72fcda0638 added newsfragment for get_connected_peers 2024-11-21 11:51:19 -07:00
9ba04d0b15 added newsfragment for missing check in pubsub push_msg 2024-11-15 15:16:19 +07:00
410e6d4549 added newsfragment for ping_service 2024-10-29 14:05:01 -06:00
62a0843b5f updated trio dependency in setup and added newsfragment 2024-10-29 08:07:10 -06:00
0be78be06a newsfragment 2024-10-28 14:54:25 -06:00
8488883705 Compile release notes for v0.2.0 2024-07-09 11:22:00 -06:00
125df142f6 bump protobufs dep to >= 5.27.2 and rebuild protobufs definitions with protoc 27.2 2024-07-04 17:04:06 -06:00
c5cc0ee969 run mypy locally, bump mypy to 1.10.0, fix new errors 2024-07-04 13:19:00 -06:00
0326e34870 open pynacl dep to bottom pin only, remove interop-only deps from install_requires 2024-05-27 12:40:23 -06:00
a3f8db3ecd async-exit-stack was for pre-py37, just import from contextlib now 2024-05-27 12:40:23 -06:00
d9b92635c1 drop async-service dep and copy relevant code into a local async_service
tool, updated for modern handling of ExceptionGroup
2024-05-27 12:14:36 -06:00
7de6cbaab0 display example code and usage instructions in docs 2024-05-19 13:34:13 -06:00
c770a05d23 rebuild protobufs adding ECC_P256 to KeyType 2024-04-27 12:17:54 -06:00
827d16b106 import asynccontextmanager from context lib and remove async_generator dep 2024-04-27 10:12:39 -06:00
eea065fb57 reorg test structure to match tox and CI jobs, drop bumpversion for bump-my-version and move config to pyproject.toml, fix docs building 2024-04-20 09:18:26 -06:00
6099b7c5db newsfragments 2024-03-02 12:05:27 -07:00
7099bbaaa4 Add pre commit (#103)
* add pre-commit

* run pre-commit

* skip lint on README.md as it breaks template filling
2023-10-04 13:32:07 -06:00