dayanara 0.1.3__tar.gz → 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dayanara-0.1.4/PKG-INFO +109 -0
- dayanara-0.1.4/README.md +96 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/pyproject.toml +1 -1
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/main.py +1 -1
- dayanara-0.1.4/src/dayanara.egg-info/PKG-INFO +109 -0
- dayanara-0.1.3/PKG-INFO +0 -68
- dayanara-0.1.3/README.md +0 -55
- dayanara-0.1.3/src/dayanara.egg-info/PKG-INFO +0 -68
- {dayanara-0.1.3 → dayanara-0.1.4}/LICENCE +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/setup.cfg +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/__init__.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/core.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/msg_types.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/network.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/olaf.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/peer.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/test/test.dayanara.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/test/test.network.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/test/test.olaf.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/test/test.peer.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara/test/test_core.py +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara.egg-info/SOURCES.txt +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara.egg-info/dependency_links.txt +0 -0
- {dayanara-0.1.3 → dayanara-0.1.4}/src/dayanara.egg-info/top_level.txt +0 -0
dayanara-0.1.4/PKG-INFO
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dayanara
|
|
3
|
+
Version: 0.1.4
|
|
4
|
+
Summary: A lightweight peer-to-peer networking protocol implementation in Python with bootstrap server support for peer discovery and room-based connections.
|
|
5
|
+
Author: Olaf Pedersen
|
|
6
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Requires-Python: >=3.8
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENCE
|
|
12
|
+
Dynamic: license-file
|
|
13
|
+
|
|
14
|
+
# Dayanara
|
|
15
|
+
A minimal peer-to-peer networking protocol that lets you build distributed applications with just a few lines of code. Designed to be simple and lightweight, Dayanara handles peer discovery, room management, and message routing so you can focus on building your application. No heavy frameworks, no complex configurations—just straightforward P2P networking with minimal dependencies.
|
|
16
|
+
|
|
17
|
+
## ⚠️ Security Warning
|
|
18
|
+
This is a minimal, raw implementation designed for rapid prototyping and trusted networks.
|
|
19
|
+
|
|
20
|
+
- **No encryption** - All traffic is plaintext
|
|
21
|
+
- **No authentication** - Anyone can join any room
|
|
22
|
+
- **UDP-based** - No guaranteed delivery
|
|
23
|
+
- **No NAT traversal** - Requires public IPs or local network
|
|
24
|
+
- **Raw protocol** - You must implement your own security and encryption layer
|
|
25
|
+
|
|
26
|
+
This tool provides the foundation. Security, encryption, and production-hardening are your responsibility.
|
|
27
|
+
Recommended for: Development, local networks, VPNs, educational projects, and rapid prototyping.
|
|
28
|
+
|
|
29
|
+
## Bootstrap Server
|
|
30
|
+
By default, Dayanara uses a hardcoded public bootstrap server - just start coding, no setup needed.
|
|
31
|
+
|
|
32
|
+
Want to run your own bootstrap? The complete server implementation is available at: [bootstrap_p2p repository](https://github.com/pederseo-dev/bootstrap_p2p)
|
|
33
|
+
|
|
34
|
+
Deploy it, then configure your clients:
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
# Custom bootstrap (optional)
|
|
38
|
+
d = Dayanara(bootstraps=[['your-server.com', 5000]])
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## API
|
|
42
|
+
|
|
43
|
+
#### Dayanara(bootstraps=None, debug=False)
|
|
44
|
+
|
|
45
|
+
Create a new Dayanara instance.
|
|
46
|
+
|
|
47
|
+
* `bootstraps`: list of bootstrap servers (optional)
|
|
48
|
+
* `debug`: enable debug output (default: False)
|
|
49
|
+
|
|
50
|
+
#### join(room: str)
|
|
51
|
+
|
|
52
|
+
Join a room and start peer discovery.
|
|
53
|
+
|
|
54
|
+
#### send(data)
|
|
55
|
+
|
|
56
|
+
Send data to all connected peers.
|
|
57
|
+
|
|
58
|
+
#### receive()
|
|
59
|
+
|
|
60
|
+
Block until a message is received and return it.
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pip install dayanara
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## P2P chat example
|
|
69
|
+
```python
|
|
70
|
+
import threading
|
|
71
|
+
import sys
|
|
72
|
+
from dayanara import Dayanara
|
|
73
|
+
|
|
74
|
+
room = input("room name: ")
|
|
75
|
+
|
|
76
|
+
d = Dayanara()
|
|
77
|
+
|
|
78
|
+
d.join(room)
|
|
79
|
+
|
|
80
|
+
# receive loop
|
|
81
|
+
def receiv_msg():
|
|
82
|
+
while True:
|
|
83
|
+
msg = d.receive()
|
|
84
|
+
if msg:
|
|
85
|
+
print(f'Incoming message: {msg}')
|
|
86
|
+
|
|
87
|
+
threading.Thread(target=receiv_msg, daemon=True).start()
|
|
88
|
+
|
|
89
|
+
# send loop
|
|
90
|
+
try:
|
|
91
|
+
while True:
|
|
92
|
+
message = input('message:')
|
|
93
|
+
if message:
|
|
94
|
+
d.send(message)
|
|
95
|
+
except KeyboardInterrupt:
|
|
96
|
+
sys.exit(0)
|
|
97
|
+
```
|
|
98
|
+
## Use Cases
|
|
99
|
+
|
|
100
|
+
- Game lobbies
|
|
101
|
+
- Chat rooms
|
|
102
|
+
- IoT discovery
|
|
103
|
+
- File sharing (local networks)
|
|
104
|
+
- Educational P2P projects
|
|
105
|
+
- Hackathon prototypes
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT
|
dayanara-0.1.4/README.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Dayanara
|
|
2
|
+
A minimal peer-to-peer networking protocol that lets you build distributed applications with just a few lines of code. Designed to be simple and lightweight, Dayanara handles peer discovery, room management, and message routing so you can focus on building your application. No heavy frameworks, no complex configurations—just straightforward P2P networking with minimal dependencies.
|
|
3
|
+
|
|
4
|
+
## ⚠️ Security Warning
|
|
5
|
+
This is a minimal, raw implementation designed for rapid prototyping and trusted networks.
|
|
6
|
+
|
|
7
|
+
- **No encryption** - All traffic is plaintext
|
|
8
|
+
- **No authentication** - Anyone can join any room
|
|
9
|
+
- **UDP-based** - No guaranteed delivery
|
|
10
|
+
- **No NAT traversal** - Requires public IPs or local network
|
|
11
|
+
- **Raw protocol** - You must implement your own security and encryption layer
|
|
12
|
+
|
|
13
|
+
This tool provides the foundation. Security, encryption, and production-hardening are your responsibility.
|
|
14
|
+
Recommended for: Development, local networks, VPNs, educational projects, and rapid prototyping.
|
|
15
|
+
|
|
16
|
+
## Bootstrap Server
|
|
17
|
+
By default, Dayanara uses a hardcoded public bootstrap server - just start coding, no setup needed.
|
|
18
|
+
|
|
19
|
+
Want to run your own bootstrap? The complete server implementation is available at: [bootstrap_p2p repository](https://github.com/pederseo-dev/bootstrap_p2p)
|
|
20
|
+
|
|
21
|
+
Deploy it, then configure your clients:
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
# Custom bootstrap (optional)
|
|
25
|
+
d = Dayanara(bootstraps=[['your-server.com', 5000]])
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## API
|
|
29
|
+
|
|
30
|
+
#### Dayanara(bootstraps=None, debug=False)
|
|
31
|
+
|
|
32
|
+
Create a new Dayanara instance.
|
|
33
|
+
|
|
34
|
+
* `bootstraps`: list of bootstrap servers (optional)
|
|
35
|
+
* `debug`: enable debug output (default: False)
|
|
36
|
+
|
|
37
|
+
#### join(room: str)
|
|
38
|
+
|
|
39
|
+
Join a room and start peer discovery.
|
|
40
|
+
|
|
41
|
+
#### send(data)
|
|
42
|
+
|
|
43
|
+
Send data to all connected peers.
|
|
44
|
+
|
|
45
|
+
#### receive()
|
|
46
|
+
|
|
47
|
+
Block until a message is received and return it.
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install dayanara
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## P2P chat example
|
|
56
|
+
```python
|
|
57
|
+
import threading
|
|
58
|
+
import sys
|
|
59
|
+
from dayanara import Dayanara
|
|
60
|
+
|
|
61
|
+
room = input("room name: ")
|
|
62
|
+
|
|
63
|
+
d = Dayanara()
|
|
64
|
+
|
|
65
|
+
d.join(room)
|
|
66
|
+
|
|
67
|
+
# receive loop
|
|
68
|
+
def receiv_msg():
|
|
69
|
+
while True:
|
|
70
|
+
msg = d.receive()
|
|
71
|
+
if msg:
|
|
72
|
+
print(f'Incoming message: {msg}')
|
|
73
|
+
|
|
74
|
+
threading.Thread(target=receiv_msg, daemon=True).start()
|
|
75
|
+
|
|
76
|
+
# send loop
|
|
77
|
+
try:
|
|
78
|
+
while True:
|
|
79
|
+
message = input('message:')
|
|
80
|
+
if message:
|
|
81
|
+
d.send(message)
|
|
82
|
+
except KeyboardInterrupt:
|
|
83
|
+
sys.exit(0)
|
|
84
|
+
```
|
|
85
|
+
## Use Cases
|
|
86
|
+
|
|
87
|
+
- Game lobbies
|
|
88
|
+
- Chat rooms
|
|
89
|
+
- IoT discovery
|
|
90
|
+
- File sharing (local networks)
|
|
91
|
+
- Educational P2P projects
|
|
92
|
+
- Hackathon prototypes
|
|
93
|
+
|
|
94
|
+
## License
|
|
95
|
+
|
|
96
|
+
MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dayanara"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.4"
|
|
8
8
|
description = "A lightweight peer-to-peer networking protocol implementation in Python with bootstrap server support for peer discovery and room-based connections."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -4,7 +4,7 @@ import threading
|
|
|
4
4
|
import time
|
|
5
5
|
|
|
6
6
|
class Dayanara(Core):
|
|
7
|
-
def __init__(self, bootstraps=[['
|
|
7
|
+
def __init__(self, bootstraps=[['104.248.67.112',12345]], debug=False):
|
|
8
8
|
super().__init__(bootstraps, debug)
|
|
9
9
|
|
|
10
10
|
def join(self, room):
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dayanara
|
|
3
|
+
Version: 0.1.4
|
|
4
|
+
Summary: A lightweight peer-to-peer networking protocol implementation in Python with bootstrap server support for peer discovery and room-based connections.
|
|
5
|
+
Author: Olaf Pedersen
|
|
6
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Requires-Python: >=3.8
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENCE
|
|
12
|
+
Dynamic: license-file
|
|
13
|
+
|
|
14
|
+
# Dayanara
|
|
15
|
+
A minimal peer-to-peer networking protocol that lets you build distributed applications with just a few lines of code. Designed to be simple and lightweight, Dayanara handles peer discovery, room management, and message routing so you can focus on building your application. No heavy frameworks, no complex configurations—just straightforward P2P networking with minimal dependencies.
|
|
16
|
+
|
|
17
|
+
## ⚠️ Security Warning
|
|
18
|
+
This is a minimal, raw implementation designed for rapid prototyping and trusted networks.
|
|
19
|
+
|
|
20
|
+
- **No encryption** - All traffic is plaintext
|
|
21
|
+
- **No authentication** - Anyone can join any room
|
|
22
|
+
- **UDP-based** - No guaranteed delivery
|
|
23
|
+
- **No NAT traversal** - Requires public IPs or local network
|
|
24
|
+
- **Raw protocol** - You must implement your own security and encryption layer
|
|
25
|
+
|
|
26
|
+
This tool provides the foundation. Security, encryption, and production-hardening are your responsibility.
|
|
27
|
+
Recommended for: Development, local networks, VPNs, educational projects, and rapid prototyping.
|
|
28
|
+
|
|
29
|
+
## Bootstrap Server
|
|
30
|
+
By default, Dayanara uses a hardcoded public bootstrap server - just start coding, no setup needed.
|
|
31
|
+
|
|
32
|
+
Want to run your own bootstrap? The complete server implementation is available at: [bootstrap_p2p repository](https://github.com/pederseo-dev/bootstrap_p2p)
|
|
33
|
+
|
|
34
|
+
Deploy it, then configure your clients:
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
# Custom bootstrap (optional)
|
|
38
|
+
d = Dayanara(bootstraps=[['your-server.com', 5000]])
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## API
|
|
42
|
+
|
|
43
|
+
#### Dayanara(bootstraps=None, debug=False)
|
|
44
|
+
|
|
45
|
+
Create a new Dayanara instance.
|
|
46
|
+
|
|
47
|
+
* `bootstraps`: list of bootstrap servers (optional)
|
|
48
|
+
* `debug`: enable debug output (default: False)
|
|
49
|
+
|
|
50
|
+
#### join(room: str)
|
|
51
|
+
|
|
52
|
+
Join a room and start peer discovery.
|
|
53
|
+
|
|
54
|
+
#### send(data)
|
|
55
|
+
|
|
56
|
+
Send data to all connected peers.
|
|
57
|
+
|
|
58
|
+
#### receive()
|
|
59
|
+
|
|
60
|
+
Block until a message is received and return it.
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pip install dayanara
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## P2P chat example
|
|
69
|
+
```python
|
|
70
|
+
import threading
|
|
71
|
+
import sys
|
|
72
|
+
from dayanara import Dayanara
|
|
73
|
+
|
|
74
|
+
room = input("room name: ")
|
|
75
|
+
|
|
76
|
+
d = Dayanara()
|
|
77
|
+
|
|
78
|
+
d.join(room)
|
|
79
|
+
|
|
80
|
+
# receive loop
|
|
81
|
+
def receiv_msg():
|
|
82
|
+
while True:
|
|
83
|
+
msg = d.receive()
|
|
84
|
+
if msg:
|
|
85
|
+
print(f'Incoming message: {msg}')
|
|
86
|
+
|
|
87
|
+
threading.Thread(target=receiv_msg, daemon=True).start()
|
|
88
|
+
|
|
89
|
+
# send loop
|
|
90
|
+
try:
|
|
91
|
+
while True:
|
|
92
|
+
message = input('message:')
|
|
93
|
+
if message:
|
|
94
|
+
d.send(message)
|
|
95
|
+
except KeyboardInterrupt:
|
|
96
|
+
sys.exit(0)
|
|
97
|
+
```
|
|
98
|
+
## Use Cases
|
|
99
|
+
|
|
100
|
+
- Game lobbies
|
|
101
|
+
- Chat rooms
|
|
102
|
+
- IoT discovery
|
|
103
|
+
- File sharing (local networks)
|
|
104
|
+
- Educational P2P projects
|
|
105
|
+
- Hackathon prototypes
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT
|
dayanara-0.1.3/PKG-INFO
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: dayanara
|
|
3
|
-
Version: 0.1.3
|
|
4
|
-
Summary: A lightweight peer-to-peer networking protocol implementation in Python with bootstrap server support for peer discovery and room-based connections.
|
|
5
|
-
Author: Olaf Pedersen
|
|
6
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Operating System :: OS Independent
|
|
9
|
-
Requires-Python: >=3.8
|
|
10
|
-
Description-Content-Type: text/markdown
|
|
11
|
-
License-File: LICENCE
|
|
12
|
-
Dynamic: license-file
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# Dayanara
|
|
16
|
-
|
|
17
|
-
Dayanara is a lightweight peer-to-peer networking library for Python that allows
|
|
18
|
-
peers to discover each other using bootstrap servers and communicate inside rooms.
|
|
19
|
-
|
|
20
|
-
## Installation
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
pip install dayanara
|
|
24
|
-
````
|
|
25
|
-
|
|
26
|
-
## Basic usage
|
|
27
|
-
|
|
28
|
-
```python
|
|
29
|
-
from dayanara import Dayanara
|
|
30
|
-
|
|
31
|
-
d = Dayanara()
|
|
32
|
-
d.join("room1")
|
|
33
|
-
|
|
34
|
-
d.send("Hola")
|
|
35
|
-
msg = d.receive()
|
|
36
|
-
print(msg)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## API
|
|
40
|
-
|
|
41
|
-
### Dayanara
|
|
42
|
-
|
|
43
|
-
#### Dayanara(bootstraps=None, debug=False)
|
|
44
|
-
|
|
45
|
-
Create a new Dayanara instance.
|
|
46
|
-
|
|
47
|
-
* `bootstraps`: list of bootstrap servers (optional)
|
|
48
|
-
* `debug`: enable debug output (default: False)
|
|
49
|
-
|
|
50
|
-
#### join(room: str)
|
|
51
|
-
|
|
52
|
-
Join a room and start peer discovery.
|
|
53
|
-
|
|
54
|
-
#### send(data)
|
|
55
|
-
|
|
56
|
-
Send data to all connected peers.
|
|
57
|
-
|
|
58
|
-
#### receive()
|
|
59
|
-
|
|
60
|
-
Block until a message is received and return it.
|
|
61
|
-
|
|
62
|
-
#### peers_list()
|
|
63
|
-
|
|
64
|
-
Return the list of known peers.
|
|
65
|
-
|
|
66
|
-
## License
|
|
67
|
-
|
|
68
|
-
MIT
|
dayanara-0.1.3/README.md
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# Dayanara
|
|
3
|
-
|
|
4
|
-
Dayanara is a lightweight peer-to-peer networking library for Python that allows
|
|
5
|
-
peers to discover each other using bootstrap servers and communicate inside rooms.
|
|
6
|
-
|
|
7
|
-
## Installation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
pip install dayanara
|
|
11
|
-
````
|
|
12
|
-
|
|
13
|
-
## Basic usage
|
|
14
|
-
|
|
15
|
-
```python
|
|
16
|
-
from dayanara import Dayanara
|
|
17
|
-
|
|
18
|
-
d = Dayanara()
|
|
19
|
-
d.join("room1")
|
|
20
|
-
|
|
21
|
-
d.send("Hola")
|
|
22
|
-
msg = d.receive()
|
|
23
|
-
print(msg)
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## API
|
|
27
|
-
|
|
28
|
-
### Dayanara
|
|
29
|
-
|
|
30
|
-
#### Dayanara(bootstraps=None, debug=False)
|
|
31
|
-
|
|
32
|
-
Create a new Dayanara instance.
|
|
33
|
-
|
|
34
|
-
* `bootstraps`: list of bootstrap servers (optional)
|
|
35
|
-
* `debug`: enable debug output (default: False)
|
|
36
|
-
|
|
37
|
-
#### join(room: str)
|
|
38
|
-
|
|
39
|
-
Join a room and start peer discovery.
|
|
40
|
-
|
|
41
|
-
#### send(data)
|
|
42
|
-
|
|
43
|
-
Send data to all connected peers.
|
|
44
|
-
|
|
45
|
-
#### receive()
|
|
46
|
-
|
|
47
|
-
Block until a message is received and return it.
|
|
48
|
-
|
|
49
|
-
#### peers_list()
|
|
50
|
-
|
|
51
|
-
Return the list of known peers.
|
|
52
|
-
|
|
53
|
-
## License
|
|
54
|
-
|
|
55
|
-
MIT
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: dayanara
|
|
3
|
-
Version: 0.1.3
|
|
4
|
-
Summary: A lightweight peer-to-peer networking protocol implementation in Python with bootstrap server support for peer discovery and room-based connections.
|
|
5
|
-
Author: Olaf Pedersen
|
|
6
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Operating System :: OS Independent
|
|
9
|
-
Requires-Python: >=3.8
|
|
10
|
-
Description-Content-Type: text/markdown
|
|
11
|
-
License-File: LICENCE
|
|
12
|
-
Dynamic: license-file
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# Dayanara
|
|
16
|
-
|
|
17
|
-
Dayanara is a lightweight peer-to-peer networking library for Python that allows
|
|
18
|
-
peers to discover each other using bootstrap servers and communicate inside rooms.
|
|
19
|
-
|
|
20
|
-
## Installation
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
pip install dayanara
|
|
24
|
-
````
|
|
25
|
-
|
|
26
|
-
## Basic usage
|
|
27
|
-
|
|
28
|
-
```python
|
|
29
|
-
from dayanara import Dayanara
|
|
30
|
-
|
|
31
|
-
d = Dayanara()
|
|
32
|
-
d.join("room1")
|
|
33
|
-
|
|
34
|
-
d.send("Hola")
|
|
35
|
-
msg = d.receive()
|
|
36
|
-
print(msg)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## API
|
|
40
|
-
|
|
41
|
-
### Dayanara
|
|
42
|
-
|
|
43
|
-
#### Dayanara(bootstraps=None, debug=False)
|
|
44
|
-
|
|
45
|
-
Create a new Dayanara instance.
|
|
46
|
-
|
|
47
|
-
* `bootstraps`: list of bootstrap servers (optional)
|
|
48
|
-
* `debug`: enable debug output (default: False)
|
|
49
|
-
|
|
50
|
-
#### join(room: str)
|
|
51
|
-
|
|
52
|
-
Join a room and start peer discovery.
|
|
53
|
-
|
|
54
|
-
#### send(data)
|
|
55
|
-
|
|
56
|
-
Send data to all connected peers.
|
|
57
|
-
|
|
58
|
-
#### receive()
|
|
59
|
-
|
|
60
|
-
Block until a message is received and return it.
|
|
61
|
-
|
|
62
|
-
#### peers_list()
|
|
63
|
-
|
|
64
|
-
Return the list of known peers.
|
|
65
|
-
|
|
66
|
-
## License
|
|
67
|
-
|
|
68
|
-
MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|