Skip to main content

A Python RDP client for automation - exposes screen capture and input transmission

Project description

Simple RDP

CI codecov Docs

A Python RDP client library designed for automation purposes. Unlike traditional RDP clients, Simple RDP does not provide an interactive session. Instead, it exposes screen capture and input transmission capabilities for building automation workflows.

[!CAUTION] Security Warning: No TLS Certificate Validation

This library does NOT validate TLS certificates when connecting to RDP servers. This means:

  • Connections are vulnerable to man-in-the-middle (MITM) attacks
  • Server identity is not verified
  • Do not use in production environments or over untrusted networks

This limitation is known and will be addressed in a future release. For now, only use this library in trusted network environments (e.g., local development, isolated lab networks).

Features

  • Screen Capture: Capture the remote desktop screen as PIL Images
  • Input Transmission: Send mouse movements, clicks, and keyboard input
  • NLA/CredSSP Authentication: Full support for Network Level Authentication
  • Automation-Focused: Built specifically for automation, not interactive use
  • Async Support: Built with asyncio for non-blocking operations

Requirements

  • Python 3.11+
  • Windows RDP server with NLA enabled

Installation

poetry install

Configuration

Create a .env file in the project root with your RDP connection settings:

cp .env.example .env
# Edit .env with your settings
RDP_HOST=192.168.1.100
RDP_USER=your_username
RDP_PASS=your_password

Usage

Basic Connection and Screenshot

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


async def main():
    async with RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
        width=1920,
        height=1080,
    ) as client:
        # Wait for screen to fully render
        await asyncio.sleep(2)
        
        # Capture and save screenshot
        await client.save_screenshot("desktop.png")
        
        # Or get PIL Image directly
        img = await client.screenshot()
        print(f"Captured: {img.size}")


if __name__ == "__main__":
    asyncio.run(main())

Sending Input

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


async def main():
    async with RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
    ) as client:
        await asyncio.sleep(2)
        
        # Mouse operations
        await client.mouse_move(100, 200)
        await client.mouse_click(100, 200)  # Left click
        await client.mouse_click(100, 200, button=2)  # Right click
        await client.mouse_click(100, 200, double_click=True)  # Double click
        await client.mouse_drag(100, 100, 300, 300)  # Drag from (100,100) to (300,300)
        
        # Keyboard operations
        await client.send_text("Hello, World!")  # Type text
        await client.send_key(0x1C)  # Send Enter key (scancode)
        await client.send_key("a")  # Send 'a' as unicode


if __name__ == "__main__":
    asyncio.run(main())

Video Streaming

import asyncio
import os
from dotenv import load_dotenv
from simple_rdp import RDPClient

load_dotenv()

async def main():
    async with RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
    ) as client:
        print("Streaming video...")
        
        # Consume real-time video chunks (fragmented MP4)
        while client.is_connected:
            chunk = await client.get_next_video_chunk(timeout=1.0)
            if chunk:
                # Send chunk.data to websocket, write to file, etc.
                pass

if __name__ == "__main__":
    asyncio.run(main())

Manual Connection Management

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


async def main():
    client = RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
        domain="MYDOMAIN",  # Optional domain
    )
    
    try:
        await client.connect()
        print(f"Connected: {client.width}x{client.height}")
        
        await asyncio.sleep(2)
        await client.save_screenshot("screenshot.png")
        
    finally:
        await client.disconnect()


if __name__ == "__main__":
    asyncio.run(main())

API Reference

RDPClient

Constructor

RDPClient(
    host: str,
    port: int = 3389,
    username: str | None = None,
    password: str | None = None,
    domain: str | None = None,
    width: int = 1920,
    height: int = 1080,
    color_depth: int = 32,
    show_wallpaper: bool = False,
    capture_fps: int = 30,
    record_to: str | None = None,
)

Properties

  • host - The RDP server hostname
  • port - The RDP server port
  • is_connected - Whether the client is connected
  • width - Desktop width in pixels
  • height - Desktop height in pixels
  • is_streaming - Whether video streaming is active
  • consumer_lag_chunks - Number of queued video chunks (back-pressure indicator)

Methods

  • connect() - Establish connection to the RDP server
  • disconnect() - Disconnect from the server
  • screenshot() - Capture the current screen as a PIL Image
  • save_screenshot(path) - Save a screenshot to a file
  • get_next_video_chunk(timeout) - Get the next video chunk for real-time streaming
  • get_pipeline_stats() - Get detailed latency statistics
  • transcode(input, output) - Static utility to convert .ts recordings to .mp4
  • send_key(key, is_press=True, is_release=True) - Send a keyboard key
  • send_text(text) - Type a text string
  • mouse_move(x, y) - Move the mouse to a position
  • mouse_click(x, y, button=1, double_click=False) - Click at a position
  • mouse_drag(x1, y1, x2, y2, button=1) - Drag from one position to another

Development

Setup

poetry install

# Optional: Install Rust RLE acceleration (100x faster)
cd rle-fast && maturin develop --release && cd ..

Running Tests

# Unit tests (no RDP connection needed)
poetry run pytest tests/ --ignore=tests/e2e

# E2E tests (requires RDP server)
cp .env.example .env  # Edit with your credentials
poetry run pytest tests/e2e/

# With coverage
poetry run pytest tests/ --ignore=tests/e2e --cov=src/simple_rdp

Linting and Type Checking

poetry run ruff check src/
poetry run mypy src/

Pre-commit Hooks

poetry run pre-commit install
poetry run pre-commit run --all-files

Project Structure

simple-rdp/
├── src/
│   └── simple_rdp/
│       ├── __init__.py      # Package exports
│       ├── client.py        # Main RDPClient class
│       ├── capabilities.py  # RDP capability sets
│       ├── credssp.py       # CredSSP/NLA authentication
│       ├── mcs.py           # MCS/T.125 layer
│       ├── pdu.py           # RDP PDU layer
│       ├── rle.py           # RLE bitmap decompression
│       ├── display.py       # Display class for video encoding
│       └── input.py         # Input handling utilities
├── tests/
│   ├── test_client.py       # Client unit tests
│   ├── test_screen.py       # Display unit tests
│   ├── test_input.py        # Input unit tests
│   └── e2e/                  # End-to-end tests (need real RDP)
│       ├── test_basic_connection.py
│       ├── test_video_recording.py
│       ├── test_performance.py
│       └── test_display.py
├── agents/
│   └── tools/
│       └── analyze_image.py  # AI image analysis tool
├── rle-fast/                 # Rust RLE acceleration (optional)
│   ├── Cargo.toml
│   ├── pyproject.toml
│   └── src/lib.rs
├── .env.example              # Environment template
├── pyproject.toml
└── README.md

Performance

The library includes optional Rust acceleration for RLE bitmap decompression:

Mode Screenshot FPS Event Loop Usage
Pure Python ~15 FPS ~50%
Rust + GIL release ~30 FPS ~10%

Install Rust acceleration with:

cd rle-fast && maturin develop --release

The library automatically uses Rust when available, falling back to pure Python.

Protocol Support

  • X.224 Connection Sequence
  • TLS/SSL encryption
  • CredSSP v6 (NLA authentication with NTLM)
  • MCS Connect/Channel Join
  • RDP capability exchange
  • Fast-Path output (bitmap updates)
  • Interleaved RLE bitmap decompression
  • Slow-path input (keyboard/mouse)

License

MIT

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

simple_rdp-0.8.6.tar.gz (573.4 kB view details)

Uploaded Source

Built Distributions

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

simple_rdp-0.8.6-cp314-cp314-win_amd64.whl (153.5 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (266.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (264.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.6-cp314-cp314-macosx_11_0_arm64.whl (247.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.6-cp314-cp314-macosx_10_12_x86_64.whl (255.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.6-cp313-cp313-win_amd64.whl (153.7 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (266.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (264.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.6-cp313-cp313-macosx_11_0_arm64.whl (247.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.6-cp313-cp313-macosx_10_12_x86_64.whl (255.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.6-cp312-cp312-win_amd64.whl (154.0 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (266.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (264.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.6-cp312-cp312-macosx_11_0_arm64.whl (247.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl (256.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.6-cp311-cp311-win_amd64.whl (155.8 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (267.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (265.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.6-cp311-cp311-macosx_11_0_arm64.whl (248.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl (256.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

Details for the file simple_rdp-0.8.6.tar.gz.

File metadata

  • Download URL: simple_rdp-0.8.6.tar.gz
  • Upload date:
  • Size: 573.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.8.6.tar.gz
Algorithm Hash digest
SHA256 aa03eeba5263112335d4573150f914733d96295a9c1fe231d7a7acf5a2750722
MD5 5d0faf484d7c11b012c64ad0ecb1c7ac
BLAKE2b-256 ccabeb5b706b6b6d47ecde7df8ea6fed4335f460c001db4efd82fb3e3f8283b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6.tar.gz:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 153.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.8.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3582e84fc4cf5979c7879ddbd298c2cc3076985b9b9871c1652e05948fd3e3c3
MD5 21e24b065cffd3e50060cf285cd39103
BLAKE2b-256 99f8770e82aee5a131c3d0524de7afd9ae60868320eca54d25bb95ec8e27d439

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp314-cp314-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6742012626eca8c15b349e266d036b2c716a5f04771b8ba3d54a996fd0caebb
MD5 165f8fb848c5258b671f1fac4857b63e
BLAKE2b-256 4c1be411efa201a81182f72a9deb68e3483f70b065d69c3d6b8f863ae9dbaacc

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f84a9f6077892f9308e2d1ec05050700708f1b2463aa3cb1a756d8af38cc3a27
MD5 67bdc5947266d95d328e2c6c4a843fb9
BLAKE2b-256 7c7c0f29fa50c7f61deab1459b51480139302d162000ec6e3c67fc4b9f7ce732

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7a9624c0d3c8fcf2af77ac97598d8032721f44850fd738aab85a72e26ba0762
MD5 904a73145a2976825ee24e9d0643f367
BLAKE2b-256 e005b7fcb4fe04f59a1017e49d4176b315ff539cedaf2a88790c10f800fcfb77

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2db77e9a71cc5efa70167fec461b53cf11c469eb762e89f18243e52f22a21c77
MD5 c6cf076736c508027cefdc927a2de099
BLAKE2b-256 19a22aa16085410f5c8b73647d509e5a75be0326473cf27104d19f92ddb37d70

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 153.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.8.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 efde0f5aa27a627df49cfa7e755d4c92bc06776f0089b316db8ae52e632f4c7d
MD5 86d362f2251923fe6946e6da298c8a2c
BLAKE2b-256 9027581f7c8af7d9ceb83e56c791a363403f8bdd68e755a6ee9296997544a60b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp313-cp313-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d021f8a08a4cb221798aa3aeffb89fd7084d6df38603786a5259d816a5c129bc
MD5 e0c0e904181aee5dc6eff10d6106f228
BLAKE2b-256 ae2fb94f99072631d13b37f8b3a3bbb20cf67792c611316dae67a1d78c34fe88

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b80757089ddd109790ac9a4b01a584f4920042e08855a4456c76485e641b3928
MD5 f81a78f4b26989736c4e34a23f41c370
BLAKE2b-256 66fc7a1c47357dd3f81022af3bd01ae81d72261fc14ab651d77f275f59186308

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 863e1ca708b3e77bc1e814b41024a432f55d873f9abfedc3c45fc69dc4b3d3e1
MD5 5a50893c4016a2bac2ba170eafce7d45
BLAKE2b-256 b607e07eea1c87e2f9d23ba7a1d52e368e5f40a44eb87ac8c7928c849313201d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0850fae7e153b847bb3220ece89b1971de024b75ce47017d341339098973262a
MD5 b039117b4243073f99825ea8c483f345
BLAKE2b-256 080332ce69b236bc79e5287fbb9f33dedafc476738df0df7c59ed29d6573321a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 154.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.8.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4a6045b6dd26daa88a9ef994ef52c64356715a642b443a97156a379a16f7db73
MD5 76d655e05cfbd5069c4489e7fda8d932
BLAKE2b-256 bf8074d109b4d2cf7c70a63fda31054f1796d88ce2f668f0a7f598f02387aff2

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp312-cp312-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a676bfff79e66096e9502f8ab22ada44376763046eadad72f4cd1130e55151fc
MD5 8e01b1967fd59241269d5ba7e0ce0aff
BLAKE2b-256 f5fa810f5c1b384ab13fd6a1123c96827b324f4157191343a8277e17ed4e70e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4f57c1eb016e5f54a21d8faec3f1c5936c7099bd930527783c9353a259acf1dc
MD5 06c545e191b7609f1ad04eeec6ff93be
BLAKE2b-256 3c6a3f71d195f76d023efdcef7daffb21efbfc961c61a40a336e67cf28c4773e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 816de0f7905da3088319a94566265513438348e08947cc167438479f0dd3d113
MD5 90484345087644e1ec5a572d5de23644
BLAKE2b-256 02eb9574d746af8ab644741975e58eb3eb2769fc4df404827256ce2b757b4169

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1647f883e5ebdc18cb1ac2c450b9d303f6747b6f49867e48f55c5c7a7fa33539
MD5 dc996452243dc6e8ecee6a3f7dc97496
BLAKE2b-256 b506e1c08ed282e68c354468851b640cac6e29469ffdc9047d0b55cf56bcee55

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 155.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.8.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3ae7ac3720ffc2eeca53d44c1faa525f8ddaeae605ab964c778ee69d8fb76f2b
MD5 8519e5c122bcf58a2a5032d7e1446cb5
BLAKE2b-256 dbdad03e63ca5b9949d99259075926bced48351c52422858d68cfa17b68dbfc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp311-cp311-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f684295817992d579e327572880625e8e5211606ccda5ddc2e2838a8d21f15e
MD5 f2af970094c823d55a8e93727d8d158e
BLAKE2b-256 135fe74dc4dc91d63266fb6220cdc3620d386dfb487342446c1ea4775376e2d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e4a8f3b8b1b7a98e31e044e7dd377e9e54a88489d456588237449b9d596756a0
MD5 88149be1c3e15754f8a69344024dc32d
BLAKE2b-256 6c42e96d44d690aca8b1f1b9c05f945f6fd130cbcce10772bf05742eecdf92ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd290281b718857683379a365501c89e7dbcd2695259bd75973e2ac29549d42f
MD5 aa4bab4c6fc755dd82964217fee6a81d
BLAKE2b-256 50b0ef474ade4fd77ad03c9d93c932af21a368ff8949cd6daea7c9e3fb0b17eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

File details

Details for the file simple_rdp-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 288efa70ec3344b851d4f42fe1d79419009e2c7e424c45c82423ab15554919ee
MD5 3033f3e4f02fa1eee892b6209b8f89ee
BLAKE2b-256 43acbc7e43baa2842cbe09939b5295f99be614def27d478dc1f1ba5c3c3faaab

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

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

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