Skip to main content

NOMTP — Network-Oriented Media Transfer Protocol

Documentation Python Version License

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

nomtp-0.1.0.tar.gz (43.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nomtp-0.1.0-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

Details for the file nomtp-0.1.0.tar.gz.

File metadata

  • Download URL: nomtp-0.1.0.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nomtp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 20c28944f2da0b163c5f4db8b8eeae00328288c46dfb4e0753e7f4d65ccecf7f
MD5 0ad0aa5ae39807d32bfbec474740535a
BLAKE2b-256 1a45861dca588c5d63e07b24fe258a392066aa3e301442f509551c49bb8ec649

See more details on using hashes here.

Provenance

The following attestation bundles were made for nomtp-0.1.0.tar.gz:

Publisher: release.yml on TypeAbdullah/nomtp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nomtp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nomtp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nomtp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77c1a5c9d3b2c873c8bbeba128a60a1a70aa47484a567aa5bff19b4e0e674b9b
MD5 16537fa927d15e9eb370d8cc385eb507
BLAKE2b-256 7a11745f75fdf9764d4817c461774da5999df1cd513d120f3624fbd95497d470

See more details on using hashes here.

Provenance

The following attestation bundles were made for nomtp-0.1.0-py3-none-any.whl:

Publisher: release.yml on TypeAbdullah/nomtp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page