Skip to main content

A high-speed data pipeline library

Project description

NextDrop

NextDrop is a high-speed data pipeline capable of transferring large files efficiently, with a peak transfer rate allowing for 3GB of data to be received in under 10 seconds, making it a standout system for rapid file transfers.

Speed in Peak transfer rate (Latest): 3GB /5sec

DiamondGotCat's Protocols

UltraDP: Most Fast File Transfer Protocol in My Projects

8 Gbps(1 GB/s) in My Wi-fi

NextDP(NextDrop): You can use Official Python Library

4.8 Gbps(0.6 GB/s) in My Wi-fi

USFTP: Built-in File integrity check function (SHA-256)

2 Gbps(0.25 GB/s) in My Wi-fi

Installation

To install NextDrop, ensure you have python33.7+ installed along with the required dependencies. Run the following command:

Library Version

pip3 install next-drop-lib

Command-Line Version Requiments (main.py)

pip3 install nercone-modern aiohttp tqdm zstandard

GUI Version Requiments (NextDrop.py)

pip3 install nercone-modern PyQt6 aiohttp tqdm zstandard

Usage

NextDrop operates in two modes: sending and receiving. Below are the details for each mode.

Library (Example)

import asyncio
from next_drop_lib import FileSender, FileReceiver, NextDropGeneral
import threading
import time

async def file_send_example():
    await FileSender("localhost", port=4321, file_path="./test.txt").send_file()

async def file_receive_example():
    await FileReceiver(port=4321, save_dir="./recived/").start_server()
    await asyncio.sleep(5)

def start_server():
    asyncio.run(file_receive_example())

if __name__ == '__main__':
    # Start the server in a separate thread
    threading.Thread(target=start_server).start()

    # Start the file sender
    asyncio.run(file_send_example())

CLI Sending Mode

To send a file, use the following command:

python3nextdrop.py send <target_ip> --port <port> <file_path> [--threads <num_threads>]
  • <target_ip>: IP address of the receiving server.
  • --port <port>: Port on which the receiver is listening (default is 4321).
  • <file_path>: Path to the file you want to send.
  • --threads <num_threads>: Number of threads to use (default is 1).

Example

python3nextdrop.py send 192.168.1.10 --port 4321 /path/to/file.zip --threads 4

CLI Receiving Mode

To start a receiver server, use the following command:

python3 nextdrop.py receive --port <port> <save_dir> [--compress]
  • --port <port>: Port to listen on for incoming file transfers (default is 4321).
  • <save_dir>: Directory where received files will be saved.

Example

python3 nextdrop.py receive --port 4321 /path/to/save --compress

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

next_drop_lib-2.1.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

next_drop_lib-2.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file next_drop_lib-2.1.0.tar.gz.

File metadata

  • Download URL: next_drop_lib-2.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.20

File hashes

Hashes for next_drop_lib-2.1.0.tar.gz
Algorithm Hash digest
SHA256 6da6dfb65023a23c5eca40c45c870002f8e120164471c152f93e97f309a9ee81
MD5 d47e50b1ae53ae6e7f6b15b32f178aad
BLAKE2b-256 78f2f2907776b07999657d2cffa37dda5dc181745c1c3abfec43137919fcec14

See more details on using hashes here.

File details

Details for the file next_drop_lib-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for next_drop_lib-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17d71f2ad728f9b6e050ed433edc0ca7221ea33eeb2f264fe5700bfe2a12b7f5
MD5 f7fe4946e340b872af4bf3a0df805966
BLAKE2b-256 93e2c80a53bff02595e64cbf7460de8717968c1aed6c235a36f67215882d2f2a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page