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

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.3.2-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.2-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.2-cp314-cp314-macosx_11_0_arm64.whl (240.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.3.2-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.2-cp313-cp313-win_amd64.whl (146.2 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.3.2-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.2-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.2-cp313-cp313-macosx_11_0_arm64.whl (240.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.3.2-cp313-cp313-macosx_10_12_x86_64.whl (249.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.3.2-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.2-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.2-cp312-cp312-macosx_11_0_arm64.whl (241.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.3.2-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.2-cp311-cp311-win_amd64.whl (148.0 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (259.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.3.2-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.2-cp311-cp311-macosx_11_0_arm64.whl (240.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.3.2-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.2.tar.gz.

File metadata

  • Download URL: simple_rdp-0.3.2.tar.gz
  • Upload date:
  • Size: 428.1 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.2.tar.gz
Algorithm Hash digest
SHA256 585e0a9c8914e913387944ec490bfba1bbf20e38aff07855fa336e0d0741156b
MD5 29d5bd4c653562819bcfca4901fb5f74
BLAKE2b-256 c11941f17bc263b1a87911afdb804775b8ae57403a9b1dcc4ec5853989fb1a49

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.2-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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e2ff7312244cfbc2336511fcc4d96fda52fc9a40d83f3ca640ed9f101f544878
MD5 32f0a637a02b9886edc6847ca2a81397
BLAKE2b-256 f2f662e55ff062da7981ecab95ae5786049e33315635a3a262a7e62edb4c1813

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4526416745a7af1f08ccadc92939fc19760e4e8a5306f3efe474fdd3ebc75a15
MD5 8da567631ca8c6cd8da88b5ef856d8d7
BLAKE2b-256 61b514e0dc0caa6017a486512d168d047598a45e85e7afbeb49c96ab352a650c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b560e5e936e0b1b672c7cebffc7ace39a3a1448bc17780dac15e5681e387fd3c
MD5 e585ab4cbe0b07d8b4e8f1d298838e80
BLAKE2b-256 99de5217908801be5035156a0a1fd65828fd3ccaebe90b8788829c5800d67bc2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 331ac86fcb7fe8c7ba9f2cdcfaef121ad9113ccc3eb2627892f8b8c294479b74
MD5 37ea7ad8216880fc1431a1434bb0c712
BLAKE2b-256 3a82d4b094f11d66705bfcd1ebe7d3308780332420271cc06bb359d479b480a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 94067ab676689550f26c74c7373fccfb787bf89bf317ab15ca822a22844ca236
MD5 10ade03b3a81907045ac9e4028f68d55
BLAKE2b-256 eb0ec1f1dec1600e7bd43ba16f7e8b0d686e6f728a6daac314c1ccea9bb75157

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.2-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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0b6b5e3efcd6cd820a64c65272d728377851442228b8ced5cabafe5039c8a49f
MD5 026fb9edf5914a2c29c45a2d480be7e6
BLAKE2b-256 3f728275186b589403d7d95714af8fbb0d7643d25ebdd1229ec06eea3f7e87d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dfed483c0de80a932bb2a71a1a1e53c160c9c16d0eb8601f7858a36311ac228b
MD5 7409c945e30bc00f6512053527685922
BLAKE2b-256 db4c39c4b4f1f3f63215ee4d89b15263ecaaf129236cc18079b817727289aaf5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4d7020a7614b936df9325975350e7cee223a6a56c11e3ec31155e306f933102
MD5 d988f9da7ee4d0f6fd00179d6e3dbc6a
BLAKE2b-256 a9c99fdce20fdb19fd1fb46850ae471e8d607d3d91f7fb3c31566e028a06eb10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 492dd77b48db2a252ef83427ae9d6af9998219af73583c1fc3d93da94ce19393
MD5 2c254ab238615e55cdc02b297fa0bbd1
BLAKE2b-256 d0527611253425145f42b2a08e342bc57dc69dec73b17ae25b7fbd72f8b64574

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 383b2ce9469fc435f64a3179e3b481622a36fbe19625482e851cd474abaf0f6b
MD5 d54ad2b04da3a4d8ad3dc55985379761
BLAKE2b-256 663ef4f9e5c990783ed0f323258fe1db6663ff4e0c09b4d13ec7c257713c964f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.2-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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7db85bdd8b1eae72a38907d4e6c3f69fac7c5543a6315275deff9f19b467e910
MD5 61ce7d08277337faaf16fa1e3de16398
BLAKE2b-256 370a0801714e9138aabc8e84b29ebc720d500a4d20196a9d1782f9e73fb1fb07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0851d9fdab0d71689aa3676a351f50b1694db1f8353e0f2cf0ad7bcead45fc9d
MD5 0e9b94433711cc4f8f14220c1437693a
BLAKE2b-256 5d5b20893f2f7b5f7393f9fa9f773a8d6b5e1349eabc5ce270b8d9f316a962d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d5b5d67ef539a0d4af341e25bcfff3b57371ffbaa4d6489fa47f2f7bb2f0cfe5
MD5 c57cb771abe58ec62281ae5c257731b5
BLAKE2b-256 5ed5bc674ff664583c4f2023e61c7976f9304b0d34a2b97dd15565e88eecd8da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1453c276d30a64411754c130298d076219d27b690298b7d3fdf3252a9177ac3d
MD5 be774c4d68fa57e5be99924500fd3d09
BLAKE2b-256 d99012d3ebfc3dc89c1fa44f305de0d940b3c25ab850f93dff9faab676734f9b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 54af6d1f10fd39e38ccf3cfb7b867f329ce21702d5ce3098baeaaf5098fb5bbf
MD5 511a3519225065e27543e89304d7c4a7
BLAKE2b-256 db330da6f740b157e2134e71f4d701d9962d899990e3cc580cd91d76ea60fdb4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.3.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7f8e3b06762e5b0f16bc5fc1fa44814b30debb8be990bba35d643663fa4c4762
MD5 49d5015972b2608addcce062777c8958
BLAKE2b-256 1fd2603c90d3ae4506e1c5db8933b951b9d37460d4f0f0fa39970a941bab1dc1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6bb05ad74ae508200d92f829baa541b7ab92ee54a66d69dff35f34a58f25df51
MD5 e648caa61c69bf4aca636cdb726754e3
BLAKE2b-256 faba625eb5c1d2da3e8e3a2b3e001337128bb5d86aa3745bae974748629a0091

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2fc2fe348467e8a6f56d55430fc8b61aa5427d2d71be2a7e939859f47888f0e1
MD5 140b13799be9b811b33069d41050ed4b
BLAKE2b-256 2a9d1c375ef81f6100b9dcce302a312407a74c8c16901960cf76900cd4fa4411

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b03b902bf165590e5d366cd8e3f26759979dbdf77e924ab758526239c91b25c9
MD5 31904c18445b0d4fbd9b2fa7d3f38cfd
BLAKE2b-256 196c52d19bed9d2c3b055727f0b07ba817d883d2cce3ebf6b19fd32f3cad673c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.3.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e114a460161c3b0ff6f9b4b4dff4fc164725bffa4279db9129ea627b1b6322e4
MD5 b791a70d088248c4a55119d3327b4e78
BLAKE2b-256 da4e1f48b5110129e3c92f2f4a81a3b2ddd19a6936418eedc5e8498b390a27e9

See more details on using hashes here.

Provenance

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