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.9.tar.gz (744.9 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.9-cp314-cp314-win_amd64.whl (161.1 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (273.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (271.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.9-cp314-cp314-macosx_11_0_arm64.whl (254.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.9-cp314-cp314-macosx_10_12_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.9-cp313-cp313-win_amd64.whl (161.3 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (273.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (272.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.9-cp313-cp313-macosx_11_0_arm64.whl (254.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.9-cp313-cp313-macosx_10_12_x86_64.whl (263.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.9-cp312-cp312-win_amd64.whl (161.6 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (274.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (272.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.9-cp312-cp312-macosx_11_0_arm64.whl (254.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.9-cp312-cp312-macosx_10_12_x86_64.whl (263.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.9-cp311-cp311-win_amd64.whl (163.4 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (274.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (273.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.9-cp311-cp311-macosx_11_0_arm64.whl (255.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.9-cp311-cp311-macosx_10_12_x86_64.whl (264.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.9.tar.gz
  • Upload date:
  • Size: 744.9 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.9.tar.gz
Algorithm Hash digest
SHA256 bd2e6ef31b851fe32053347f7c1633447df028222d94c0d8e83673a6fbd4495c
MD5 b84c11e28021f30e31f2f8950bdb95fb
BLAKE2b-256 a512e247bb049ebfe931ddfe705850121cf677a6c3880beac0eee11c0724d608

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.9-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 161.1 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.9-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d5aac952e48991b2ae59507d18f0fb50aac05e039ac3644a5ab0a1090a8ac7b8
MD5 d97abe97e152274d6717d71e25cb85c8
BLAKE2b-256 69be2a7888e00eb830445167de231d18f2f6a5d7244489e238e157621af7ff48

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 023a7b1202f173698d9621d6e43b019ee2d7bdb85b01e2b99f23a2739c350d9d
MD5 07d63d8cb7a242300ca0ca0f28ed3dcf
BLAKE2b-256 b2041ad2dc2f7ab8de5adfc16d9f3c1cfcb5649b5dab78fd158bf0cf2e65071f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 979b62c0e0ea589cbfa5554d3d3f2a6b35f27952d0205f6a9d4f86f2264960ad
MD5 e034d90aee7128381c21500fdff970a5
BLAKE2b-256 f0aaed6b8b625c45519e78a772750de7d0bd92503c3d086e3abc6fa7e3ea2e2b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 775a1241945abcb308e0a5a50424e0926563ffd9eb70ca1ef88e764587524966
MD5 b2bbfdb082106e3c048bc016fe63ff49
BLAKE2b-256 1c44c4347cd141da1df11efffc0c09dffab0a547d60e448e78922fb763172d2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa564f7f7e679fc3188d2874062a9cc7c05507f8c1845720ca3cdeeb8cae64cf
MD5 65514314bcce218b2b654b4e654b5197
BLAKE2b-256 f01b6044f081c5a40f59a41e1c2f1aa996d276c9a711af6488220e4afdb07307

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 161.3 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.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 acb867128214d35fcc3c167d58c3c36a167eb2ba275191e9bc4119ec02ea8129
MD5 adebe995773061caf16488b158c6d473
BLAKE2b-256 823c087f2f9efce069fb706a6e5fc19f45befde2b7e388c13f1ac91741df1bd4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a98d7d1e7e1409beea0ffd7e806cf6835fb2b42978817e1b5ce94840e7b1a4f
MD5 7d7525ca2037150ffab70b828f1f2490
BLAKE2b-256 28a0d8fcc5e218eab55ebfa230d5d12fa1b0a15874740de9898be8a2adcdadd1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8af51d09e06f9ce48559c539af594648aa257eff840e5a21a66e01942e400034
MD5 bd3ad300ab8e3556ada971d84d6f078b
BLAKE2b-256 32f7eb077a2dc09c8d35d10d709d4cd5d2e3769cb4cc24405b24d0627869d428

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96adc2393a30c3d346c57c6c16f96e692cc04e024ecebe9058c57eef71341249
MD5 9a411cb0818e555b91f23b4bb5726c28
BLAKE2b-256 ac3282de0671b221365b69337fe99617230ed279882e4706000645e1b69b23f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9f9e34928d61c31610671be9f9664512eafb1a88c65ad770c19a47fa2a4197dd
MD5 8d8837a116e4bb58f2517c23c9583ec9
BLAKE2b-256 f03658c5077f010021aadfcea12394773db97f9ddce3aa7d7de6622bc37f53aa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 161.6 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.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 507df9592a341616b6cfda09ab9aee240b93d43fd37969d0c0271a6d788dfa88
MD5 2a7284661b30b352bd69f5bf58033be0
BLAKE2b-256 dd736b6f5ffefce421119fc87af44a1358d7788f1392585d2405d45440dc7795

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd56b65005855cfca1a2ea4770d265e9af0aa5cb9d829301a3d9844ec057bb21
MD5 4467376a7d99c00d7451dd91487565da
BLAKE2b-256 4b10d7fa3f00566bb0bb50e6241ed49c25f87798450c366ad97d8374943ebc20

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1f70ae4f544f4d975b955cfc51a55a268b9fce10fb031ed150be4184d78f56f3
MD5 37b34491297faa1c2b102bd2e45abdf0
BLAKE2b-256 57c4796c8d6365eb87472371f7236a0b1d321f398c4baed6a3148ee82f0c3c89

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec2dc2c9225121979176aac6647602f2b3465f746b75c105ae77a10f2057702c
MD5 07cec0b4a83605639fcb2b97def5f040
BLAKE2b-256 798a2810d1831b3a370e5438e89478ccf1bd0fd608685037550aa312bf0a18ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 669b0921763cbaaf4ae9eabcf0661c1f780df5519227439b89b588152bbe6652
MD5 2c7878d11e4b3db007d3fad20741f567
BLAKE2b-256 1ca5506c02b0e43f07554ce804947b7a31f868b3e138e61671aafd88de124c84

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 163.4 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.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a6cf0ed600c6d0f3e7ff002e80a16626c26e52c0f9ba04ee91750c4931c58251
MD5 0b35b28504a45a0f73841ddd4983b78a
BLAKE2b-256 f191179a3dd6024e96d5ec0cff634e43e74103a2c988b4a74ed29dc9be0ba65f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e18301d594a7dce6c352e4711af1e9a09faab1ef07d3db17e8505592bddf9c58
MD5 7daf74869f0424167d95ef2618065820
BLAKE2b-256 183a487240379bd5c77c517a68d01f33334da4597f24e9e0cd8e24989f92f6d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 220d69ee95ead07dd48b4bb577c753e32a368153d53fca3b2fdc69232c2bf574
MD5 27a5afab6383a977ba6e912b0dad8b22
BLAKE2b-256 71da9c27bd056db6f2b61faa875e047eabcea9bb7c888cb8a55b457d1bc9b2b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21d4d86b4418bffa5bcb6a71b77cf06e530b77f6e75395eace669bbeb17c9f44
MD5 20e7cb1a894977c299718c4d05fc9d02
BLAKE2b-256 0549f741776dcd3c19ae0560a4e015c82ba1dbd50bc886e295e32bb08cd71999

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 28700150235a9d5efbef1f488a2fce614524648ecea84535068da36be67ec431
MD5 ddd6464e1c809ddace4276eacad38af7
BLAKE2b-256 0caf9449cf77f478e28a03688ca743d2529c39c2107da906d78f2d4d59722ad1

See more details on using hashes here.

Provenance

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