Skip to main content

A Python RDP client for automation - exposes screen capture and input transmission

Project description

Simple RDP

CI codecov

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.1.0.tar.gz (296.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.1.0-cp314-cp314-win_amd64.whl (143.4 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (256.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (254.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (238.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.1.0-cp314-cp314-macosx_10_12_x86_64.whl (247.1 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.1.0-cp313-cp313-win_amd64.whl (143.6 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (256.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (254.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (238.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl (247.2 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.1.0-cp312-cp312-win_amd64.whl (143.9 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (257.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (254.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (238.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (247.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.1.0-cp311-cp311-win_amd64.whl (145.4 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (257.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (255.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (238.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (247.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.1.0.tar.gz
  • Upload date:
  • Size: 296.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.1.0.tar.gz
Algorithm Hash digest
SHA256 4e1cadc0fd91993c7e2edb20580d720eac6135ff9f976a0cb57aa7f8bb5eaef1
MD5 3a2280b216d660e8487c9848a8736db7
BLAKE2b-256 b9d82009e484770039c26f2dc3a9f481cd30104c28ee6768c5ade401f8ebbb58

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 143.4 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.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3814c84b6485c7bc7c7301a87e83500bd630e3409ed5358542e48f712802b1bb
MD5 4888e98b7f2098376355a67989043bed
BLAKE2b-256 c558345f6b54ab89e70f1a7a9aeb839181d99be4a5ff7994e218f662f99d686b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee20979ab29b7af5952a58582843f5cea383619249243e52f9591bfadb40e4ab
MD5 bd2e1b93fea0f07d9e52fdfce3219b2f
BLAKE2b-256 128e5cb77d25fcd01800b02b19dab04383b136f22f423e25da160763889bc6b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1cf085a1e77036909a01ed0d543c2d295e8c2c1cdca06dd408e61a10ce29de65
MD5 5532095bd03ff11ed5b36897c22f5a6c
BLAKE2b-256 17b5b454c6b592f4ef962f8995a28e8135192d22626b10a771fac78e7820a186

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d863baf75af4ddded72a824a0a9bbb4d6dab136277b1930893328b0fb6ea2d8
MD5 5c15d4e31f11d90a84fdd5164c249f60
BLAKE2b-256 d6f90f936ee941b72abc85475676875049d9135264b618145bddb6e73e904460

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cbaf3732bde0472e4d23d4c1a8f27fb49aa9b94ba50003520a3c003bf9885b2d
MD5 6b39b69555979f84a7154a3c36368198
BLAKE2b-256 74c7a5f15810fdd202ad0e913de9ea93c2270bb0f9a94a858eca73ff9b4e6ed7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 143.6 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.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 22f4eccac421e9ffd936f25c1256d90948d0f811014ad0d0e0b660f5b7270b38
MD5 01e18bd87e852e4983f8fa2e2a29df96
BLAKE2b-256 db10f979badb9b109e6388d48a618983e83d698beee1e8383046ae9a554091d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a07248bc223c7c577f8f7309cd6af10e2b19f0a05b23e160cda5ec87c899fad
MD5 7bcc39321eaee5b0e5e90cbdb8e9cba4
BLAKE2b-256 569443b727e3859ffa85e74da164ac8b79196932182d51efe216dcdbc16e6244

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e91be87b723bb68ddfc25a1cb64277517190df071a06106d4da1aa265779c779
MD5 33dd9e210f7aa409898959c7597d3179
BLAKE2b-256 78ceb0ff068e5f16644106e4798e1ec34aa8a291ab6583d9651c0f25e2b40a97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db6131b5cdbfb8f83e641f58a67c58852d9d961f7f48617f015565867aa98fde
MD5 c1d3c1ca25cbba1a56436d549fec3853
BLAKE2b-256 3b1f76dccfabdd8edc59a329929ccd82bcd039b599bc62656bd44247ba433bd8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0e0c33e43c205d7eacd5a5d5e720fccb852cda5585c074f6f70b9e173757f00c
MD5 2601d32fd609170f265c1177349f0642
BLAKE2b-256 30be9629bd66220f9142adbcc8085e11810aeeade032a56bd04348330e88054b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 143.9 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.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 75d3f94c390e748f510fb38f0026f9566c58df8ce64f81fcfb266039ac917fd3
MD5 8746ce16cd86156242d8e85793883eda
BLAKE2b-256 8141a9c52b237a31ea742012527c29e575990548509c73356e97e2e3ce9484a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f107afdf89cd921340e3c53fdaa8aadc9a6b7bd1742be591ec0405cc882d163
MD5 26cbe5cecce1615be49982cc01c39777
BLAKE2b-256 988096de3a7d6b2f0081ea1a2efcbe00856e4f1b5940b64fcdb2bfe653baddd7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ce3bd07860a7103232dab3c2b9efba71c5faea2213d4181abc5ae0dec04564e
MD5 853ed78800659011d444f0f8404ab8dc
BLAKE2b-256 f9a4fcf5cae7a02c1b717aef0f189ec2786db2c8d834fed63f2180282d8dde02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7f4f207700c588713a471bdcbb862d062c33acfc8c4897f8b8dea7492bdd50d
MD5 bed3204a987493150133de16e9d21f3f
BLAKE2b-256 2a1cf2433d4c49dc3e9c4c81be14fc6b7eba0eb66800591c2fb75a8f8ec547a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0b86bd3b4f16850ddf562aed91df5d15d079868ffaecff265f0901ab55e7d154
MD5 c87db258c382a13961d695e6d15690ca
BLAKE2b-256 d37603bfa1a6f62493eb81e8165cb955210ecee07cba7c6f0838720258264a15

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 145.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e626d72e97854559b933afbd76205e085a48b43d088cb8da0ed8e5d8a8e7b385
MD5 3ed699b56d955a8f925b10163782b215
BLAKE2b-256 7e76aea5fbd025cd152cc0a5c619ecf0da1b7ab1ce6e98e0b3b734453632368b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51d24e26cf93a48e972bb0ee1f99542527986cbd09226d23a550ffc16b4424a3
MD5 8431a0e98604be24c2b8034b0719dc08
BLAKE2b-256 affd9ab10bcc38201d0bb4ee85c76ee2939dc8d0c3c1ab10518e377fbdfb1dd9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a4c49a0e722e10f62d7f3b4efa76a2d0da2b52940893115cf714a4eea27e785
MD5 7350c8bd701a179073c87aa6baec0468
BLAKE2b-256 e87477853f8cd64f71387e2ab1cef0d528cc336215f80370770219e2e2dc07ad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 786997b6896244c7b8b33a0d1b28c9c7d00c15f54ec3e2421d5d65516c3665f8
MD5 701231ca6c7c9e4ccb6bd7b3871c38ed
BLAKE2b-256 546b904f2705d779b2629ab29ef81c12dfefe4044fdc318526ec80f2b73de095

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 99fd011be6e9b9b02eb8bd83d5c537b299c6544d7074c4e1ae62fec7896043be
MD5 d1496bdc67efa7e90950f61df952557d
BLAKE2b-256 d95ce0ed64dcdee1d7d4b2cb2840ef6b390bc8080a76314718b8a8934facb645

See more details on using hashes here.

Provenance

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