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.5.tar.gz (571.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.5-cp314-cp314-win_amd64.whl (151.6 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.5-cp314-cp314-macosx_11_0_arm64.whl (245.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.5-cp314-cp314-macosx_10_12_x86_64.whl (254.0 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.5-cp313-cp313-win_amd64.whl (151.8 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.5-cp313-cp313-macosx_11_0_arm64.whl (245.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.5-cp313-cp313-macosx_10_12_x86_64.whl (254.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.5-cp312-cp312-win_amd64.whl (152.1 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.5-cp312-cp312-macosx_11_0_arm64.whl (245.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.5-cp312-cp312-macosx_10_12_x86_64.whl (254.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.5-cp311-cp311-win_amd64.whl (153.9 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (263.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.5-cp311-cp311-macosx_11_0_arm64.whl (246.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.5-cp311-cp311-macosx_10_12_x86_64.whl (254.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.5.tar.gz
  • Upload date:
  • Size: 571.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.5.tar.gz
Algorithm Hash digest
SHA256 d174d48cce2952035cd33b180fac1e78fd29a458d2cb2b115b77bd49f5ae406e
MD5 8b122e6e6e444c5b854ea0c5a558bcb5
BLAKE2b-256 146ec4c3d1c4384ee9aa1dc6eb1be60420c06e5bf9e40b111821305d52fe6050

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5.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.5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 151.6 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.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 890a0be1f99b19520ad8967f14c835d191204bb83bebd78dabea215f2c5ad63a
MD5 bbcd5ae1d515f7f44c57adcc8a6c71ff
BLAKE2b-256 6023d1b1499795f74b3565ed1ffee6979b491db533ce0dc5e9195532f88bb0c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be10323e588080b54693c8b1ab1c03707f6348a4be9606b065be2129295c447b
MD5 f78a586abfc23c3058f6f81951db2044
BLAKE2b-256 970118cbd5ae9cf115c6c86ae9e738b1169640d6fb432df411dbef461884037b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 67dad529fcf722d2da7f6ac2e9a441507bf009abf2b957745e8e75eb15ef5a40
MD5 43ff9413311e906338c6ab291a473e4b
BLAKE2b-256 a62e1656ca7ab46822d36e12dc2ec322b4ab5cb820875215c5fc9884c6b9ce08

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98824ca364fbd4c4f3a0764d8b3461f89cd9fa18771d41ddf738b5fbb9607148
MD5 563122df57d855bfb606fca3684cbdd7
BLAKE2b-256 19630cb59e26d40c3a71e4abaf1c96d26ae11b42089d7b8d29ff681ee5dff69f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b5f107521f15d8fa15998c418532be29ee0276c8bcc4ee81baa045aec1ba7ae2
MD5 d90d4b4b306e38b039677dd0270d4614
BLAKE2b-256 6b8db784b9736225d5aa4f382a7589f0ee79a6685e334c974f46b5d77c0ffa3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 151.8 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a2dda661b958f161bebb05d9ad67d364ac0b080f7e64965b5db1d95d4f3bcae7
MD5 6e09adaaf644121739297642b3d66a33
BLAKE2b-256 06776adf48514bed65f7fa40adcf7d1df915e6882494132c6910df48f02a4893

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63e9a7f012532d453994f4868cd3ef6056334d652783dd2b9c0b3b9a13daaadc
MD5 d135078611f99d53dc08ff9134fe5c69
BLAKE2b-256 c84366939a9f78694d7c83e4b872a45cf2cae2009737a5a5a33aeee1faeec047

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de421b23c8f7d76eb74bc08e010c16ed52178123e72dee8924527561dc3d085d
MD5 53fa82b032412ff7c718b8fc4742409c
BLAKE2b-256 42aff8cb927f814815c0018c1777f88a41face708f45333e93f49cb519d6ba3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26cf8ba753d3bbb391bed6f9558618969ae7d4cf783dcfe8b5e213906fb3a38a
MD5 fc29496378c6a5f7018184b295d9324b
BLAKE2b-256 6d7ca86e87327aeb5f067c0c799e1579a6efe0de7872ff001ee58066150eb8eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ce3753f713b785defcade5fe786fa0c93339ebbb5333d5c2fc45de0c66787596
MD5 bf007f046338426dffdfa47d02469542
BLAKE2b-256 0d6e83a3c051a5af78449ebcac598174c1d5718c84761d34cacaa5fab0249763

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 152.1 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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 00dd7b375150558995a8f3a4fb7c45a659d23f928e6358812f9874b0fe52371b
MD5 3f3dbab6a990e4cdda162575faf84fc3
BLAKE2b-256 b9c3c80fbfbefb5fe610376341a981f89ce33b9ed51961ac48ed2190c46d3138

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 80c8c04df1f63e28c5bda4d53fc41641a7047d4d3d5009902266a6a61ccb6cc5
MD5 52b5f526f06b70215d8373632f0bedad
BLAKE2b-256 37670989ff3d7037be3afb27e6a37fbe3d9eb3587b64a3f99b0678e0543a2b4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de9a7251e8830eadeb4a895d22b26c43ed98ffae6097ad57a02a4e662e4eeb99
MD5 3571aefeed53393a37a34cd273f5620a
BLAKE2b-256 564fdd1dd5e3873feda6187da0b97062c8972c7cba14667d473897cc11f46b0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 570330c538558a9bb277cb2e685c12774a08e47cf02e7f46bbffd2640152ee41
MD5 57f3f37c33b3ebd10787456fefd81cd5
BLAKE2b-256 cbd18090130a851f81343199b5c9546053e84d4cc38282b090835b431e318b1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 da066efc28f6e3cb1ba8905a46fa4cb7d6c13ba5d42e0dc4e0a1144aa19d3707
MD5 ecadb94f7376240b73f1a79665e4da3b
BLAKE2b-256 d09223155199b4472cb31180fb621be61b9f8a4ac7a4714391f50209455fa613

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 153.9 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d10f7a21f55438a19c2d96e375eaddcc9f0142f5f7f433974ef74884845d9749
MD5 5f1965f7fcb8a7192ef6064c066ad648
BLAKE2b-256 937a236e292a08287dbb2e6a9eaf11ac2c28139f4dedcb7176ec6b0adfada021

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b3ec0547310011251ab1ecd6060dd1b3da1f4bdc808bf5e76ac559682523501
MD5 b1ed22ff7894c9a97da04d6e1be07a81
BLAKE2b-256 5e7b7272c0f0fa341eb17315abb2ab1b2f2c0b4f6d913aae1b94fba6a0364d5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b53f2a00e62ca1c9638282568d8258bfed3e58d583cb5e8522212eea7d0e6cc
MD5 fa6e694e225d4e4a6e682136b59b3be7
BLAKE2b-256 5cf233a1909418f705aa3f4957f330e933ad1b1df2b1d82b68c1f4f198066dbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8b73b0b0150bb6b9506fa3d411468af7af5f6a90add321f6da0a7acec3cb7b83
MD5 0f2c3c0184715abc9faaeed564e51718
BLAKE2b-256 a3012c4c137d6e79c5ffe43b58483f1780f7a81403ef0e5916bcba08669a8c45

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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.5-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7f31b3da7b928d044a58a954358403be55c57cc3d34b478462b82da38608fc2b
MD5 03a4e091241007f18b44c64d8e44d730
BLAKE2b-256 91a4acf80bff5ab46cd59acb948e0531692678bc987983643b33acc811b9c85d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.5-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