chaski 0.1a1__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.
- chaski-0.1a1/LICENSE +24 -0
- chaski-0.1a1/LICENSE.md +24 -0
- chaski-0.1a1/MANIFEST.in +7 -0
- chaski-0.1a1/PKG-INFO +73 -0
- chaski-0.1a1/README.md +49 -0
- chaski-0.1a1/chaski/__init__.py +1 -0
- chaski-0.1a1/chaski/node.py +1982 -0
- chaski-0.1a1/chaski/remote.py +330 -0
- chaski-0.1a1/chaski/streamer.py +197 -0
- chaski-0.1a1/chaski/utils/__init__.py +12 -0
- chaski-0.1a1/chaski/utils/auto.py +60 -0
- chaski-0.1a1/chaski/utils/viz.py +153 -0
- chaski-0.1a1/chaski.egg-info/PKG-INFO +73 -0
- chaski-0.1a1/chaski.egg-info/SOURCES.txt +17 -0
- chaski-0.1a1/chaski.egg-info/dependency_links.txt +1 -0
- chaski-0.1a1/chaski.egg-info/requires.txt +6 -0
- chaski-0.1a1/chaski.egg-info/top_level.txt +1 -0
- chaski-0.1a1/pyproject.toml +41 -0
- chaski-0.1a1/setup.cfg +4 -0
chaski-0.1a1/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
BSD 2-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024, DunderLab
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
16
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
17
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
19
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
20
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
21
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
22
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
23
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
24
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
chaski-0.1a1/LICENSE.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Simplified BSD License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024, DunderLab
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
Redistribution and use in source and binary forms, with or without
|
|
7
|
+
modification, are permitted provided that the following conditions are met:
|
|
8
|
+
|
|
9
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
10
|
+
list of conditions and the following disclaimer.
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
16
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
17
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
19
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
20
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
21
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
22
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
24
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
chaski-0.1a1/MANIFEST.in
ADDED
chaski-0.1a1/PKG-INFO
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: chaski
|
|
3
|
+
Version: 0.1a1
|
|
4
|
+
Summary: Chaski Confluence
|
|
5
|
+
Author-email: Yeison Cardona <yencardonaal@unal.edu.co>
|
|
6
|
+
Maintainer-email: Yeison Cardona <yencardonaal@unal.edu.co>
|
|
7
|
+
License: BSD-2-Clause
|
|
8
|
+
Project-URL: Download, https://github.com/dunderlab/python-chaski
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
License-File: LICENSE.md
|
|
20
|
+
Provides-Extra: dev
|
|
21
|
+
Requires-Dist: networkx; extra == "dev"
|
|
22
|
+
Requires-Dist: matplotlib; extra == "dev"
|
|
23
|
+
Provides-Extra: docs
|
|
24
|
+
|
|
25
|
+
# Chaski Confluent
|
|
26
|
+
|
|
27
|
+
Chaski Confluent is an advanced distributed node communication framework that utilizes TCP/IP
|
|
28
|
+
for inter-node connections, ensuring efficient message handling, serialization, discovery, and
|
|
29
|
+
pairing of nodes based on common subscription topics, thus facilitating dynamic and resilient
|
|
30
|
+
data exchange in complex network topologies.
|
|
31
|
+
|
|
32
|
+
## Main Features of Chaski Confluent
|
|
33
|
+
|
|
34
|
+
The Chaski Confluent framework provides various powerful features that make it suitable for managing distributed systems. Here are some of the key features:
|
|
35
|
+
|
|
36
|
+
**1. TCP and UDP Communication:**
|
|
37
|
+
Chaski Confluent supports both TCP and UDP protocols, allowing for reliable and timely message delivery between nodes. The framework ensures efficient data transfer irrespective of the underlying network conditions.
|
|
38
|
+
|
|
39
|
+
**2. Node Discovery and Pairing:**
|
|
40
|
+
Automatic discovery of nodes based on shared subscription topics is a crucial feature. Chaski Confluent facilitates the pairing of nodes with common interests, making it easy to build dynamic and scalable network topologies.
|
|
41
|
+
|
|
42
|
+
**3. Ping and Latency Management:**
|
|
43
|
+
The framework includes built-in mechanisms for measuring latency between nodes through ping operations. This helps in maintaining healthy connections and ensures that communication within the network is optimal.
|
|
44
|
+
|
|
45
|
+
**4. Subscription Management:**
|
|
46
|
+
Nodes can subscribe to specific topics, and messages are routed efficiently based on these subscriptions. This allows for effective communication and data exchange only with relevant nodes.
|
|
47
|
+
|
|
48
|
+
**5. Keep-alive and Disconnection Handling:**
|
|
49
|
+
Chaski Confluent ensures that connections between nodes remain active by implementing keep-alive checks. If a connection is lost, the framework handles reconnection attempts gracefully to maintain network integrity.
|
|
50
|
+
|
|
51
|
+
**6. Remote Method Invocation:**
|
|
52
|
+
The Chaski Remote class enables remote method invocation and interaction across distributed nodes. Nodes can communicate transparently, invoking methods and accessing attributes on remote objects as if they were local.
|
|
53
|
+
|
|
54
|
+
## Chaski Node
|
|
55
|
+
|
|
56
|
+
The Chaski Node is an essential component of the Chaski Confluent system. It is responsible for initiating and managing
|
|
57
|
+
network communication between distributed nodes. This class handles functions such as connection establishment,
|
|
58
|
+
message passing, node discovery, and pairing based on shared subscriptions.
|
|
59
|
+
|
|
60
|
+
## Chaski Streamer
|
|
61
|
+
|
|
62
|
+
The Chaski Streamer extends the functionality of Chaski Node by introducing asynchronous message streaming capabilities.
|
|
63
|
+
It sets up an internal message queue to manage incoming messages, allowing efficient and scalable message processing within a distributed environment.
|
|
64
|
+
The ChaskiStreamer can enter an asynchronous context, enabling the user to stream messages using the `async with` statement.
|
|
65
|
+
This allows for handling messages dynamically as they arrive, enhancing the responsiveness and flexibility of the system.
|
|
66
|
+
|
|
67
|
+
## Chaski Remote
|
|
68
|
+
|
|
69
|
+
The Chaski Remote class enhances the Chaski Node functionality by enabling remote method invocation and interaction
|
|
70
|
+
across distributed nodes. It equips nodes with the ability to communicate transparently, invoking methods and accessing
|
|
71
|
+
attributes on remote objects as if they were local. This is achieved by utilizing the Proxy class, which wraps around
|
|
72
|
+
the remote objects and provides a clean interface for method calls and attribute access.
|
|
73
|
+
|
chaski-0.1a1/README.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Chaski Confluent
|
|
2
|
+
|
|
3
|
+
Chaski Confluent is an advanced distributed node communication framework that utilizes TCP/IP
|
|
4
|
+
for inter-node connections, ensuring efficient message handling, serialization, discovery, and
|
|
5
|
+
pairing of nodes based on common subscription topics, thus facilitating dynamic and resilient
|
|
6
|
+
data exchange in complex network topologies.
|
|
7
|
+
|
|
8
|
+
## Main Features of Chaski Confluent
|
|
9
|
+
|
|
10
|
+
The Chaski Confluent framework provides various powerful features that make it suitable for managing distributed systems. Here are some of the key features:
|
|
11
|
+
|
|
12
|
+
**1. TCP and UDP Communication:**
|
|
13
|
+
Chaski Confluent supports both TCP and UDP protocols, allowing for reliable and timely message delivery between nodes. The framework ensures efficient data transfer irrespective of the underlying network conditions.
|
|
14
|
+
|
|
15
|
+
**2. Node Discovery and Pairing:**
|
|
16
|
+
Automatic discovery of nodes based on shared subscription topics is a crucial feature. Chaski Confluent facilitates the pairing of nodes with common interests, making it easy to build dynamic and scalable network topologies.
|
|
17
|
+
|
|
18
|
+
**3. Ping and Latency Management:**
|
|
19
|
+
The framework includes built-in mechanisms for measuring latency between nodes through ping operations. This helps in maintaining healthy connections and ensures that communication within the network is optimal.
|
|
20
|
+
|
|
21
|
+
**4. Subscription Management:**
|
|
22
|
+
Nodes can subscribe to specific topics, and messages are routed efficiently based on these subscriptions. This allows for effective communication and data exchange only with relevant nodes.
|
|
23
|
+
|
|
24
|
+
**5. Keep-alive and Disconnection Handling:**
|
|
25
|
+
Chaski Confluent ensures that connections between nodes remain active by implementing keep-alive checks. If a connection is lost, the framework handles reconnection attempts gracefully to maintain network integrity.
|
|
26
|
+
|
|
27
|
+
**6. Remote Method Invocation:**
|
|
28
|
+
The Chaski Remote class enables remote method invocation and interaction across distributed nodes. Nodes can communicate transparently, invoking methods and accessing attributes on remote objects as if they were local.
|
|
29
|
+
|
|
30
|
+
## Chaski Node
|
|
31
|
+
|
|
32
|
+
The Chaski Node is an essential component of the Chaski Confluent system. It is responsible for initiating and managing
|
|
33
|
+
network communication between distributed nodes. This class handles functions such as connection establishment,
|
|
34
|
+
message passing, node discovery, and pairing based on shared subscriptions.
|
|
35
|
+
|
|
36
|
+
## Chaski Streamer
|
|
37
|
+
|
|
38
|
+
The Chaski Streamer extends the functionality of Chaski Node by introducing asynchronous message streaming capabilities.
|
|
39
|
+
It sets up an internal message queue to manage incoming messages, allowing efficient and scalable message processing within a distributed environment.
|
|
40
|
+
The ChaskiStreamer can enter an asynchronous context, enabling the user to stream messages using the `async with` statement.
|
|
41
|
+
This allows for handling messages dynamically as they arrive, enhancing the responsiveness and flexibility of the system.
|
|
42
|
+
|
|
43
|
+
## Chaski Remote
|
|
44
|
+
|
|
45
|
+
The Chaski Remote class enhances the Chaski Node functionality by enabling remote method invocation and interaction
|
|
46
|
+
across distributed nodes. It equips nodes with the ability to communicate transparently, invoking methods and accessing
|
|
47
|
+
attributes on remote objects as if they were local. This is achieved by utilizing the Proxy class, which wraps around
|
|
48
|
+
the remote objects and provides a clean interface for method calls and attribute access.
|
|
49
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|