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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for next_drop_lib-2.1.1.tar.gz
Algorithm Hash digest
SHA256 b991e13f91ebd8969ce951fd7c230b67a5488500a5e5641ba776de64fd5aeaa0
MD5 96162bd7ad782a7542ca3bd70112624b
BLAKE2b-256 5bd2e39e85d7c85819ad09ae77deb9503257a49c2bbc271fa0195c25db6cb5b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for next_drop_lib-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ee5b28ab55aeaa7325138086804dd97ac07976f55af584f8ba46f68b094069c
MD5 929658ffb50daf14a1fcf65404695045
BLAKE2b-256 db588de078d439a3ee8d9fbf9c89d248efa4cf0aad9f863fe6aa3bf9627b9faa

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