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())

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,
)

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

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
  • 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
│       ├── screen.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.3.0.tar.gz (425.2 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.3.0-cp314-cp314-win_amd64.whl (146.0 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (258.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (256.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.3.0-cp314-cp314-macosx_11_0_arm64.whl (240.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl (249.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.3.0-cp313-cp313-win_amd64.whl (146.2 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (259.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (256.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (240.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl (249.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.3.0-cp312-cp312-win_amd64.whl (146.5 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl (259.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

simple_rdp-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (259.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (257.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (241.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl (250.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.3.0-cp311-cp311-win_amd64.whl (148.0 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (259.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (257.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (241.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl (250.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.3.0.tar.gz
  • Upload date:
  • Size: 425.2 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.3.0.tar.gz
Algorithm Hash digest
SHA256 765e7c5a123ab227e7713347a010fde544036b47efd99f73dd600314c1ea452b
MD5 e7ad4aa5b21d829d3a643d9776ce1c69
BLAKE2b-256 babdcadf284f983f8ae5bdfa988c1d4f42d94357081b6ac85b5e7d52d91b71f0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 146.0 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.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 26887c69d2bbcd5b664721a71670bec1f3b7a0c3da2f9c9ae27a98f8fa6f9d99
MD5 a3ed984d12a07d3f046fa02e8eb6f6c9
BLAKE2b-256 4dbdaee30189ace67349eb8e99b8587f8e558e520f5ee283afdefb3f7f8cb42e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4ece848066bf2873db9d169504d8bfa8e8b1f24302cc040bd102cd2253c7a85
MD5 71182544d2daedf8736698ae2f9fe6c5
BLAKE2b-256 e17b22e6c556a0733805e0820824f3791412238bc0b67e4799db2152e0f3da78

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a0981706e0132ea3ed5543f96d0de225d421b1bbf98baf357e7b2b0f0eeb45de
MD5 7230b79241bceb568cd37d306e2650f7
BLAKE2b-256 72c7103d5a2546ba89c229db339a7e5f2dfd017ccae1a442a09e8170db6ada13

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb94520d95032c241fbc6122574c411bcc591a79021ec193bf1e6baa6b9bd118
MD5 37ff6ab979680e48646972d8308843c4
BLAKE2b-256 2280ff0a0d3d328e1ee35a8b3014bd78fcf0a40e371ee99fee9073d7fe81e9c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53349246f28136d1d16112fcca08b84f35e1b5f6f39e6d2e5f81447ee1749822
MD5 e103f2e62f78aa10bdcc7a62360711c9
BLAKE2b-256 d17e510b541369969c4faf8deb7132ec79dda1ae52d504279e6ce1ef4a8eb87a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 146.2 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.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 99360f81aa64372edc42e13a8065ef97be78f71fada815a8f9f501cc2b84123b
MD5 c77f508b76f4c5b780a0ed0dd48e5d98
BLAKE2b-256 ab9d616e3caf8a3804c96f1af5fe1d61ed925d44434dd0be2cb29a4ebdc20f8e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 599aa9b4de989f0b8bc166b7698c370550aa315ebce76b856c7edd637f5f5b03
MD5 877926ca03819748b6bdc0ba62f76493
BLAKE2b-256 6b7aa8ae975765382c9836f3c1da456a997c8a7d85077cfda75e2c119676fe74

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a9a4a85bfe98ab99e8b72195cbd51c334caaf894ba316178ecd00f2af4a0a16
MD5 28c99ce68e254d942f6689eebe375ffe
BLAKE2b-256 97543f4c5aae234ee02a621779593f23b41ba517cceac37daec36256bdc920b0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 563330e19b160668138174f3fd6dd323d5443e2e585524c6c1bbbce0d14163a1
MD5 703a23514c97fb0a295e470954b629e1
BLAKE2b-256 ae1719896396cec753efceb7a9b3b9c1cbbb7bb50ed9388383909bfe7ea8c503

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 366d3531287f469dc7e2642f915dcccf5ff01f000b879a83eb158ffb6425930c
MD5 35f566a9ef34d8d4d1bae41728934b9a
BLAKE2b-256 f1128b4c9874d9665b5d618ca833f279d23e91b9189b16de6cec2c2886b18380

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 146.5 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.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 06acf03a60252f3da9524d640977e1b7833769a2c6d6ee25dffb162c9edb9455
MD5 537bc8fcd38987428c821931bfd26675
BLAKE2b-256 bcf81f49c024dbbfa0cb81f90f302865f3cc43644cc4c4a05b0afd49329b97ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.3.0-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.3.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a4f1b7f56c1bcda60984a1f764187e84e6436ebb1d9325661042d96e654a277b
MD5 3f9330e3b0a228121f09583e1d857ff9
BLAKE2b-256 374d8d614a90925960959a2cda9ff0fbf4d5a02348ff74c094f5b522582fcf04

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6b14f29c915e116f5624019928c8ea8faaa5835c55da13b96dab731aad914cc
MD5 808346c63fbe72db7141b6048da62f71
BLAKE2b-256 0565420008b0f9a117a1114559917827c75b768a43dd26c666b4d082ddf3a2d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 246f556201799c732674e95630b5d6e128a1c534efe0bb69f36ff14c490d3a65
MD5 6f7e414b68b5c197a6dc3a43cc22780d
BLAKE2b-256 6ae86fd8603649c23a7e559c2d34768c72b92f890019e3074be45a44797d4840

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a92bf2bdb979238990a0baca242e3b314ae40c8025ebf812d678dfb1abb8252
MD5 db716263630f63d3be7c171e61a00c56
BLAKE2b-256 7bb2f047c42f90ac96d7cb8a96f1346fe0bea4cf452500cf36dfc0f1b5b95b10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 879504452f86238b6bab85e02361feffb44c5bd6e3f3e35b9cb390529415bf9f
MD5 289218fbfb8a956253846654724e9e88
BLAKE2b-256 68bafeae139acf2dfeb5bf0afcc581fda499fca172443019ea0b14fac471010e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 148.0 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.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cfdf958390be454127835ba1488ad46279cbcbe89afd3dd24fae1d9de72f0f2a
MD5 5a33140ab287a2364dcc998f84dd761e
BLAKE2b-256 209a9a055d6dab55685fa25a355da30a0eec3c0351b5c4de733061a551281ab4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4ada10087b5c42b328f5ba37d408637113cf9b17251b3d379fffe564a3b3575
MD5 4b948452328620b568fed062673d6be7
BLAKE2b-256 4e1d62707eaaed3c56d5efcb4a9ff1b60137461c27d8dda5274a9b8c440cbf76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0e5ae52509a4a559a424c7505d6cea7d626b140e444aa997f4a07f4a9fc91cf1
MD5 790ec3d4fa5c708f665c96b0de740b05
BLAKE2b-256 9631b9c95abbc82ac032d50a609fac7b4b5e7d10648d71848e7234c66050835c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d1689481388a717e9a4c83a5001cfd96077afa351aac9114afaf047d2e46ad7
MD5 e090b1fb4a83aa6c4cd686fcfb78af84
BLAKE2b-256 0977968ba4f1ce093f5cc8ee9ee867767b2da986ea998ef6713728eaccb3af7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3dcf2047ec2b9088743380675b1f34ea90070e961b68207614503dd334a6f559
MD5 733905a13a83caacaae21acf0818d662
BLAKE2b-256 d4c4a87988d0f44ed5ad75c04bb004bfa93f14841b40742135312d9d8ec4e86c

See more details on using hashes here.

Provenance

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