NOMTP — Network-Oriented Media Transfer Protocol
NOMTP is a modern, high-throughput, resilient application-layer binary protocol specifically engineered for file, media, object, and streaming data transfer over secure TCP+TLS and QUIC transports.
Key Features
- Binary Wire Protocol: Fixed 32-byte header with zero JSON overhead, CRC16 header verification, and Big-Endian encoding.
- Native Resumability: Sparse transfer maps, chunk bitmaps, and disk journals enabling resume after network loss or server restart.
- Hierarchical Integrity Trees: Merkle tree hashing (CRC32C / SHA-256 / BLAKE3) for incremental and whole-file validation.
- Parallel Chunk Transfer: Multiplexed concurrent chunk streams over single or pooled connections.
- Content Addressing & Deduplication: Cryptographic content digests preventing duplicate payload retransmission.
- Adaptive Chunking & Compression: Dynamic chunk sizing with zstd/gzip auto-detection and smart media bypass.
- Storage Abstraction: Seamless integration with Local Filesystem, In-Memory, and Object Storage (S3 / R2 / MinIO).
- Security & Multi-Tenancy: TLS 1.3, token authentication, permission masks, token-bucket rate limiting, and quotas.
Installation
pip install nomtp
Quick Start
Start Server
nomtp server ./storage --port 9000 --token secret123
Upload a File
nomtp upload video.mp4 --host localhost --port 9000 --token secret123 --parallel 4
Download a File
nomtp download video.mp4 ./downloaded.mp4 --host localhost --port 9000 --token secret123
Python API
import asyncio
from nomtp import Client
async def main():
async with Client(host="localhost", port=9000, auth_token="secret123") as client:
# Upload with automatic chunking and resume support
result = await client.upload(
local_path="movie.mkv",
remote_path="videos/movie.mkv",
parallel=4,
resume=True
)
print(f"Uploaded {result.bytes_transferred} bytes (Transfer ID: {result.transfer_id})")
# Download
await client.download(
remote_path="videos/movie.mkv",
local_path="downloaded_movie.mkv",
parallel=4,
resume=True
)
if __name__ == "__main__":
asyncio.run(main())
Documentation
Comprehensive documentation, architecture guides, and protocol specifications are available at: https://nomtp.abdullah.dpdns.org
License
NOMTP is licensed under the Apache-2.0 License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nomtp-0.1.1.tar.gz.
File metadata
- Download URL: nomtp-0.1.1.tar.gz
- Upload date:
- Size: 48.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfd00e903c4061d8c5273606f5dde4ff8c941b8749fcb12562003e7692dbd395
|
|
| MD5 |
c3441a3558790b7ac9c439c0265a0ea0
|
|
| BLAKE2b-256 |
e80d77f7e496f07e5c821b5e1a72355ef6abb32213213969cd1ad98f12749b0f
|
Provenance
The following attestation bundles were made for nomtp-0.1.1.tar.gz:
Publisher:
release.yml on TypeAbdullah/nomtp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nomtp-0.1.1.tar.gz -
Subject digest:
bfd00e903c4061d8c5273606f5dde4ff8c941b8749fcb12562003e7692dbd395 - Sigstore transparency entry: 2651200888
- Sigstore integration time:
-
Permalink:
TypeAbdullah/nomtp@0b990f1c99f7d5aa03970d938dde3a37f8d2208d -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/TypeAbdullah
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0b990f1c99f7d5aa03970d938dde3a37f8d2208d -
Trigger Event:
push
-
Statement type:
File details
Details for the file nomtp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: nomtp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 38.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f672b3056e070846c8f927c28fbd426f26ff878992ae34dded81f7a53401b0a
|
|
| MD5 |
5c60504d68c2577f64a36e932e5b33aa
|
|
| BLAKE2b-256 |
717443deac6ba06e6932c21fa82399a2d2f35ca4949abaa2814202b5729d699e
|
Provenance
The following attestation bundles were made for nomtp-0.1.1-py3-none-any.whl:
Publisher:
release.yml on TypeAbdullah/nomtp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nomtp-0.1.1-py3-none-any.whl -
Subject digest:
3f672b3056e070846c8f927c28fbd426f26ff878992ae34dded81f7a53401b0a - Sigstore transparency entry: 2651200977
- Sigstore integration time:
-
Permalink:
TypeAbdullah/nomtp@0b990f1c99f7d5aa03970d938dde3a37f8d2208d -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/TypeAbdullah
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0b990f1c99f7d5aa03970d938dde3a37f8d2208d -
Trigger Event:
push
-
Statement type: