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.2.tar.gz (570.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.2-cp314-cp314-win_amd64.whl (150.5 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.2-cp314-cp314-macosx_11_0_arm64.whl (244.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.2-cp314-cp314-macosx_10_12_x86_64.whl (252.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.2-cp313-cp313-win_amd64.whl (150.7 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.2-cp313-cp313-macosx_11_0_arm64.whl (244.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.2-cp313-cp313-macosx_10_12_x86_64.whl (253.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.2-cp312-cp312-win_amd64.whl (151.0 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.2-cp312-cp312-macosx_11_0_arm64.whl (244.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl (253.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.2-cp311-cp311-win_amd64.whl (152.8 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.2-cp311-cp311-macosx_11_0_arm64.whl (245.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl (253.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.2.tar.gz
  • Upload date:
  • Size: 570.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.2.tar.gz
Algorithm Hash digest
SHA256 2606f00dbc1cb7e1309ee502507c9ef40abb0be26e1290f6e858b8b2d3178333
MD5 9c6e903d4fdab033060b98be9dcebce7
BLAKE2b-256 4d9b0363bb5f9ec7fdfc8a7c962c469cc38f2d7fbecfb81e53149a7c8b11d6ea

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 150.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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bee675c91566a4856dc8a42a648584fbe9ee0b752e9a336df204dbf1ae365cb1
MD5 cf46e4f61db793a7cd3ec63850d27f9d
BLAKE2b-256 196fb826ee32ce74c8127e32021302d95a894bf41025d80b8b9c5d1f36a5faa6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 154c275fcad465f088e9e0a5c5206847e2fa0a0fa74f48186293f45edca70210
MD5 b0a92f8b90ca6c0c7a1db9b3faadccd6
BLAKE2b-256 7a9896adeeef4e19d7a03baef65831372a3715f76c7afa2d7381e83d10ccef45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5bf4ef782ab694ffb5b14f9a69b2fc1f0ae2d575bded95a9ad5054fe454c2bf2
MD5 354dba085a29db2d23e7349c43f16950
BLAKE2b-256 6bd88814f390a12ccaf5fab79d0f374c8d483ee20224429d49fa63ea6df372d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7127f36a50926bbad5a83a316f81fa076c0064764765672824bd7ecbb97894a0
MD5 21b26ae2dee07323ea536d97c2f08f2d
BLAKE2b-256 7c76ffbd1763d0e98604e7e8e6c683882b7b7748bbe79e3710d625c46a14c11f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 60c032417b9be951347d7dd0bad971703f08dc652aff04a70bd1c4c928550097
MD5 847f101b0d18b1bab4530eb0513f3286
BLAKE2b-256 eb351863e039abcbcaff53ca303424c07514d396ce248861df204a78fada1304

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 150.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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ac8e32dd417df2c17ff47bf399a4e5880de419adbae9b8a223c2a667fd6b4588
MD5 8e1a0f0586767aca94d2ffbbd777cb1f
BLAKE2b-256 271fa3797daa65e7d6f039f6bfe789829b02e3a9fd7dbd5cdabbf519c0ce9087

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa25a40070a6bebc4ffefa5c5c2ad32a566beab70c8d4016986d0933fe260d7a
MD5 9d1892285992e87d1081bad0c119ca5c
BLAKE2b-256 857164d83d31ce958d152af90da6747758d57939ebd879540ed7cc0115467c3d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 faf571bd70c0249c4fdc9a4616b58ce52e76c815a1556207928b00f2e018cdc6
MD5 18bc6895b0bf3fe580f30476f2bf6656
BLAKE2b-256 cd677eb55272cb44e1eede49826236a22981e66de7c1d0ed5590c268dcc3e821

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77dbbd488f4ff30e64ca0af3c05fa4e9f0624fa87c8daac086b669f9157c373b
MD5 92d2aca1d80e5ec82d2398138071d2f4
BLAKE2b-256 36733e923ddaabcf955a35e6ac461a9096f44f5fc9e742e652a6ac18c8448b6a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f390c7c6606ca1a9b24b19260c351b0f234116c6164444f5ecf040b6e201499b
MD5 13b55881d42cb3a93e559c4d727d713a
BLAKE2b-256 794742df41a1b0a1cbc1b9d4211a9b516faa91750b4364a97bbaaa3cbefa40e1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 151.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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 da6f81af3996dc001528bb8366591487731884a2aeb5266ff2ae868fb34238c4
MD5 faf74587064818530b6896d13bb02f2e
BLAKE2b-256 1ed7c1cd51fb76da8449f21223c2050215692b6b5c78c9b8ea5d99c148a6929d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0492d238eda68dbcfddabdaa5e583199d49eb5fd65ab9c4977ea567376eb7708
MD5 add2be0cae171643dc3ee1162de2a0cf
BLAKE2b-256 9ef77103cfcc9c53d91c11c1555a8b1c653b985844c4ad224001fc2822f472f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6cd3a6a66fb0d2ce6effa56d6d0cb4dcde535f8c4049b1edefe2e181206a763a
MD5 1796d546a8d19b0193effffb7a42a3b4
BLAKE2b-256 f8b0f34c0a132a78bedf9b3bae46ff38861be33cccbd204fcc6e0283901d5df6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4189f073902f8903219c9141dbb1e63f10994c083170d2ebc8208ab45976d104
MD5 c1de9de53902fdad088d26aafe7bf6c5
BLAKE2b-256 e6278319968c4e199e3278796e56134251f09e0749f1e4532397b089e60033af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b70f4d80a177044951035aa669217e5b694f7a3c4266a94fdbbdc4e205fc6f5b
MD5 52248b3d9c33ad88e167053964416c3f
BLAKE2b-256 4422acca1e7ed8b2658967b475afd290d23625edeb66192f616fcf8d746c6f5b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 152.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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bac99a3aa93d70e7a634ae595cb8f819cd2a9499b5f735605aa96425b510b69f
MD5 270db9b333b5015c79442d48faf79f30
BLAKE2b-256 b248dcb949e9c67f29c9a52d5f119215ed948be4279d1c4b2597d1cdc31e2fb2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ed9c253693e3c99066058cc6ed1d82e1dda7b354bd4575679edb90aed5e16ca
MD5 4d50a2a97927f38179849f61509aecb2
BLAKE2b-256 2dd20b88742782006bf1e9ed9916a9efb0b6ae8e6a0dcc13b8768ce85a9bc90d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6354972d15fa912571cd53606683e8b36521a22e1db6b42272fef0c78571e97
MD5 15f15bb3449aabb02ef7052f4f27f5aa
BLAKE2b-256 c644c97d06ec98861054a42ba21c381687b3ff32fb93fcd49d8105170b4cb647

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82bf26945233fb0f15c523e14443731b968a8bf014c4d7335e49fb42cf2b11ff
MD5 8917b9d0965f4c1937b825c25d9dd333
BLAKE2b-256 04b9ab9ca28aa6bdd674dabb14d8ac816af50acb716183a8fdee6255af3fdbe6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 366dfaec77e640afda022583787459c384af6c145bbd8e278a59cc80bd99e227
MD5 59b61e065f847f06e1171ef2621834b1
BLAKE2b-256 558735f7d291a9571654638148b5c87664dc38b7b4410b559d062156841d17b5

See more details on using hashes here.

Provenance

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