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.1.tar.gz (48.7 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.1-py3-none-any.whl (38.6 kB view details)

Uploaded Python 3

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

Hashes for nomtp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bfd00e903c4061d8c5273606f5dde4ff8c941b8749fcb12562003e7692dbd395
MD5 c3441a3558790b7ac9c439c0265a0ea0
BLAKE2b-256 e80d77f7e496f07e5c821b5e1a72355ef6abb32213213969cd1ad98f12749b0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nomtp-0.1.1.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.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

Hashes for nomtp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f672b3056e070846c8f927c28fbd426f26ff878992ae34dded81f7a53401b0a
MD5 5c60504d68c2577f64a36e932e5b33aa
BLAKE2b-256 717443deac6ba06e6932c21fa82399a2d2f35ca4949abaa2814202b5729d699e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nomtp-0.1.1-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

This release

0.1.1 This release

2 files

0.1.0

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