pyomnidrop 0.1.0__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.
@@ -0,0 +1,14 @@
1
+ /target
2
+ **/*.rs.bk
3
+
4
+ # Node / Next.js
5
+ website/node_modules/
6
+ website/.next/
7
+ website/out/
8
+ website/.pnpm-debug.log*
9
+
10
+ # OS / Editor
11
+ .DS_Store
12
+ Thumbs.db
13
+ *.swp
14
+ *.swo
@@ -0,0 +1,36 @@
1
+ Metadata-Version: 2.5
2
+ Name: pyomnidrop
3
+ Version: 0.1.0
4
+ Summary: Python client and CLI bindings for OmniDrop: Ultra-High-Throughput Multi-Path P2P Content-Defined Mesh File Fabric
5
+ Project-URL: Homepage, https://omnidrop.shahmdmahi.dpdns.org
6
+ Project-URL: Repository, https://github.com/shahmdmahi15/omnidrop
7
+ Author-email: "Shah Md. Mahi" <shahmdmahi15@gmail.com>
8
+ License: MIT
9
+ Keywords: blake3,fastcdc,file-transfer,mesh-networking,multipath,p2p
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Topic :: System :: Networking
15
+ Requires-Python: >=3.8
16
+ Description-Content-Type: text/markdown
17
+
18
+ # pyomnidrop
19
+
20
+ Official Python package for **OmniDrop** — Ultra-High-Throughput Multi-Path P2P Content-Defined Mesh File Fabric.
21
+
22
+ ## Quickstart
23
+
24
+ ```python
25
+ import pyomnidrop
26
+
27
+ # Verify version
28
+ print(pyomnidrop.__version__)
29
+
30
+ # Send a file or directory over local mesh
31
+ client = pyomnidrop.OmniDropClient()
32
+ client.send(path="./large_dataset.tar.gz", target="auto-discover")
33
+ ```
34
+
35
+ Author: Shah Md. Mahi (shahmdmahi15@gmail.com)
36
+ Website: https://omnidrop.shahmdmahi.dpdns.org
@@ -0,0 +1,19 @@
1
+ # pyomnidrop
2
+
3
+ Official Python package for **OmniDrop** — Ultra-High-Throughput Multi-Path P2P Content-Defined Mesh File Fabric.
4
+
5
+ ## Quickstart
6
+
7
+ ```python
8
+ import pyomnidrop
9
+
10
+ # Verify version
11
+ print(pyomnidrop.__version__)
12
+
13
+ # Send a file or directory over local mesh
14
+ client = pyomnidrop.OmniDropClient()
15
+ client.send(path="./large_dataset.tar.gz", target="auto-discover")
16
+ ```
17
+
18
+ Author: Shah Md. Mahi (shahmdmahi15@gmail.com)
19
+ Website: https://omnidrop.shahmdmahi.dpdns.org
@@ -0,0 +1,37 @@
1
+ """
2
+ pyomnidrop: Official Python client and CLI interface for OmniDrop.
3
+ Author: Shah Md. Mahi <shahmdmahi15@gmail.com>
4
+ Website: https://omnidrop.shahmdmahi.dpdns.org
5
+ """
6
+
7
+ import subprocess
8
+ import shutil
9
+ import sys
10
+ from typing import Optional, List
11
+
12
+ __version__ = "0.1.0"
13
+ __author__ = "Shah Md. Mahi"
14
+
15
+
16
+ class OmniDropClient:
17
+ """Client wrapper for interacting with the native OmniDrop high-speed mesh engine."""
18
+
19
+ def __init__(self, binary_path: Optional[str] = None):
20
+ self.binary_path = binary_path or shutil.which("omnidrop")
21
+
22
+ def send(self, path: str, target: str = "auto", extra_args: Optional[List[str]] = None) -> int:
23
+ """Send a file or directory over local mesh."""
24
+ cmd = [self.binary_path or "omnidrop", "send", path, "--target", target]
25
+ if extra_args:
26
+ cmd.extend(extra_args)
27
+ return subprocess.call(cmd)
28
+
29
+ def receive(self, output_dir: str = "./downloads", port: int = 4820) -> int:
30
+ """Listen for incoming peer streams and assemble files."""
31
+ cmd = [self.binary_path or "omnidrop", "receive", "--output", output_dir, "--port", str(port)]
32
+ return subprocess.call(cmd)
33
+
34
+ def bench(self, size_mb: int = 128) -> int:
35
+ """Run microbenchmarks measuring FastCDC chunking and BLAKE3 hashing speed."""
36
+ cmd = [self.binary_path or "omnidrop", "bench", "--size", str(size_mb)]
37
+ return subprocess.call(cmd)
@@ -0,0 +1,29 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "pyomnidrop"
7
+ version = "0.1.0"
8
+ description = "Python client and CLI bindings for OmniDrop: Ultra-High-Throughput Multi-Path P2P Content-Defined Mesh File Fabric"
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = { text = "MIT" }
12
+ authors = [
13
+ { name = "Shah Md. Mahi", email = "shahmdmahi15@gmail.com" }
14
+ ]
15
+ keywords = ["p2p", "file-transfer", "mesh-networking", "fastcdc", "blake3", "multipath"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python :: 3",
21
+ "Topic :: System :: Networking",
22
+ ]
23
+
24
+ [project.urls]
25
+ Homepage = "https://omnidrop.shahmdmahi.dpdns.org"
26
+ Repository = "https://github.com/shahmdmahi15/omnidrop"
27
+
28
+ [tool.hatch.build.targets.wheel]
29
+ packages = ["pyomnidrop"]