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.4.0.tar.gz (437.0 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.4.0-cp314-cp314-win_amd64.whl (147.2 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (260.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.4.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (257.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.4.0-cp314-cp314-macosx_11_0_arm64.whl (241.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl (250.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.4.0-cp313-cp313-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (260.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (258.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (242.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl (251.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.4.0-cp312-cp312-win_amd64.whl (147.7 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (260.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (258.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (242.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl (251.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.4.0-cp311-cp311-win_amd64.whl (149.3 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (260.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (258.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (242.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl (251.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.4.0.tar.gz
  • Upload date:
  • Size: 437.0 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.4.0.tar.gz
Algorithm Hash digest
SHA256 0cb14f3bf868a4e039c272832e7146a18e830a21a8c5a82e1b1a5b07b8f554b2
MD5 776acf59d8478952c20404769e1c170f
BLAKE2b-256 9e6c09393c8593bd99c8452262924a149bacf9003c22d5f4ead7dd0c4181fd03

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.4.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 147.2 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.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 32cacef787483c4f9eb8620f1b1ad83aefb5686b4f085f24c2fe3b4d8eff61d4
MD5 814bde8ad573567142354581a66fcc63
BLAKE2b-256 370f80af306849ce3d26eb989bf9a18167b4b1925d5f02e468a0f5b0dbc4cb68

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe1b77c188be0a4b71f16a7b1caac501d4eade2b3ab34dab505075705f008b5c
MD5 7439785618a1365c55c61233cd716301
BLAKE2b-256 1af1ba32a0eadaede4723330cc6d0b3b7d6fa7c3d64f21b3e269b07c7af92876

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bdea8584ebdae8a0222aa275cc6eb3b7ca0ff2fe2ecf5d441ddc1e3806d78137
MD5 0eb0db1e916425b8fc37f2003038e9d2
BLAKE2b-256 b04da6e8083121e628f737467ac874595120b50040c01295cc1a4c589546244f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ddd4b18b27b090d0f1110c4e89e7ad98df0fe6f0e5f27627949dde8aef79243
MD5 91aa0118599df43bf8bc76c3b1ce8a96
BLAKE2b-256 58496e8e04cadbefb292f8879af9e371cbad37a79ff4fde8930114eb16ff98c3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 503b84f9653a05c151d2c2781fe88b985a6466eca48fca023cb232ced1fedaa6
MD5 fbd538b5b0c34fdb69285245a0635f8f
BLAKE2b-256 aac99fa41d2ea410d26a53f30e81e0960716a686724b6cdb21435ee541f69a4e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 147.4 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.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0d5279e66a6808c00e79bb30b9a7772e8d4973a13ff3ef683ec9cf0644220e3b
MD5 e1c54b436430e422d6be6b9e55be69b1
BLAKE2b-256 10994120f2ff806cac5a751fecc7d5b36b4eb0c8f9dddcc0c03665264ff7a59b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 166a09353d46183edab576850f6d607dbb3476a749183da88cf862c1c6dee5da
MD5 a1095910d0a12894712d21dc1a26df3b
BLAKE2b-256 77df31885ca8c53df76cf2f3a402bedca0a2621f9673eb6cda264253b59d2080

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9451fbc1bed827561d783ba01febe9fbea01f3a6122af1f9b8337fa7a77cbf1e
MD5 312ed530705abf42a25303d8fd6bba55
BLAKE2b-256 39c3f17f3d99830b13acfbfb954d15ab5c79ff6e0ff4f002f85b12a0d7b4a834

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c718cc95cf80cc50535567bb1b20f1ec2d6af8648a3e0bf7a062ed9fa37da6d
MD5 55c2671ecc873add7da90b14339aa92c
BLAKE2b-256 c4716b7bb2cd6c816f8a7434b10a9ab6b903191880f679313cd9cf558d8109f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 122474dedea26df52b7c06a2bc1bf05bd1aff4bebfb2672dbbca78d6ffaef8a2
MD5 7c1d3a61a8367f066a29c06d5b08a32e
BLAKE2b-256 7cc08281a65a88a89308e882f1e0fbf54e8bfb1e909c9691da317fe7c97beacd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 147.7 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.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 72aa547a6c1417317d1f0957d498d6276824186f6d158b1754c4339c1a01ffb8
MD5 51e8d63f85a4cb3e5d5b76f0f35dcd96
BLAKE2b-256 cdd0fe5cb0b1c5902b8412658c69c9263c6c68a9c740500ea5ca891d17f692c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc851b492282dd7ea19ada7732482f8f59e566dee1d4eee2c25f4de23639da7f
MD5 01f3cb03ec78fafc73e62b0534822073
BLAKE2b-256 2146e2e252a575ea487b41cb8c2c6a20302780f8136543fefe119cf37e695621

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 55c3854cc1a6c65f31beac6e62b8d9058a7fea4ea6455e1da4dbb86753a7a77b
MD5 cd8adee9e9822b9f69265b2036ae262f
BLAKE2b-256 f0dc1b8c5749cb261e0b37fcc6583351c3f96c2aedf8eca8b2df3b147471977c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1943888df9525ec3b90e848866017268ac64952884db4de4d559bec62498e428
MD5 95a4e855592c1a0810080db283e255d2
BLAKE2b-256 0842075ed0d08c7fd146631ed5e7fb151784e3956d06e9e3346790f26d0e6591

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 64443eadde56c3b034950f4478e410fbfe7358d22f09b50a2420246026aafe28
MD5 2a487440dc61928aa741f63ab529e911
BLAKE2b-256 706eeb520e8d93f8d0fc0a17a3051ef018c1b206045c684e5ab976cf1457fd83

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 149.3 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.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 033e9b4076317886b1a127dc86c12f7399357902db3ff32f6bb2cbbe642f12fe
MD5 bdd278df1b287601e503d79a924d1a36
BLAKE2b-256 49ba3b77d803684309e339f558b699f14a46025ef1de7c339ed7f00f6a964ea8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc8e40ea07dc41fc0976c6a4cf374c37b5bc86889af7af18f3926eeac162035f
MD5 7b7d7dcd75bbdf9b5642122e0e1ba6a7
BLAKE2b-256 0ac94570c2a4dd50219fa8d8e6bc8072502351aaa6ad93dc44d15ea340d86b9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 241e62e892ea0640af0c1fd325c57f4b2261fbd9582d62ccc6fc8cd98286fb1f
MD5 6e1fec6c09bda653940de0153bf34c63
BLAKE2b-256 4976b7cf94a6105586da91e6a11ce9041294eddb46b5d5e247f50966f894ab3f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a45dc062455d78606d0a1a69a47a9eef245dd95aec73a48bfd6bf55e6abb3f7
MD5 606488ece8344e3d6c39900bbb524701
BLAKE2b-256 3f7ca0c9b4ca1e625396769cdf996ae3d68ba8663c029ac281195c9ffed04b7b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 547e2e64aedb6119268debc7902269990f2cb7fde4515b633d9f1ea1b48b247b
MD5 34603b7d6905c432c142b9e0e84d42e3
BLAKE2b-256 abeed46c1eba1b3194de0b4f6e3d81fb539e5898f4380c869373cba4018e525c

See more details on using hashes here.

Provenance

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