Skip to main content

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

Project description

Simple RDP

CI codecov Docs

A Python RDP client library designed for automation purposes. Unlike traditional RDP clients, Simple RDP does not provide an interactive session. Instead, it exposes screen capture and input transmission capabilities for building automation workflows.

[!CAUTION] Security Warning: No TLS Certificate Validation

This library does NOT validate TLS certificates when connecting to RDP servers. This means:

  • Connections are vulnerable to man-in-the-middle (MITM) attacks
  • Server identity is not verified
  • Do not use in production environments or over untrusted networks

This limitation is known and will be addressed in a future release. For now, only use this library in trusted network environments (e.g., local development, isolated lab networks).

Features

  • Screen Capture: Capture the remote desktop screen as PIL Images
  • Input Transmission: Send mouse movements, clicks, and keyboard input
  • NLA/CredSSP Authentication: Full support for Network Level Authentication
  • Automation-Focused: Built specifically for automation, not interactive use
  • Async Support: Built with asyncio for non-blocking operations

Requirements

  • Python 3.11+
  • Windows RDP server with NLA enabled

Installation

poetry install

Configuration

Create a .env file in the project root with your RDP connection settings:

cp .env.example .env
# Edit .env with your settings
RDP_HOST=192.168.1.100
RDP_USER=your_username
RDP_PASS=your_password

Usage

Basic Connection and Screenshot

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


async def main():
    async with RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
        width=1920,
        height=1080,
    ) as client:
        # Wait for screen to fully render
        await asyncio.sleep(2)
        
        # Capture and save screenshot
        await client.save_screenshot("desktop.png")
        
        # Or get PIL Image directly
        img = await client.screenshot()
        print(f"Captured: {img.size}")


if __name__ == "__main__":
    asyncio.run(main())

Sending Input

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


async def main():
    async with RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
    ) as client:
        await asyncio.sleep(2)
        
        # Mouse operations
        await client.mouse_move(100, 200)
        await client.mouse_click(100, 200)  # Left click
        await client.mouse_click(100, 200, button=2)  # Right click
        await client.mouse_click(100, 200, double_click=True)  # Double click
        await client.mouse_drag(100, 100, 300, 300)  # Drag from (100,100) to (300,300)
        
        # Keyboard operations
        await client.send_text("Hello, World!")  # Type text
        await client.send_key(0x1C)  # Send Enter key (scancode)
        await client.send_key("a")  # Send 'a' as unicode


if __name__ == "__main__":
    asyncio.run(main())

Video Streaming

import asyncio
import os
from dotenv import load_dotenv
from simple_rdp import RDPClient

load_dotenv()

async def main():
    async with RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
    ) as client:
        print("Streaming video...")
        
        # Consume real-time video chunks (fragmented MP4)
        while client.is_connected:
            chunk = await client.get_next_video_chunk(timeout=1.0)
            if chunk:
                # Send chunk.data to websocket, write to file, etc.
                pass

if __name__ == "__main__":
    asyncio.run(main())

Manual Connection Management

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


async def main():
    client = RDPClient(
        host=os.environ["RDP_HOST"],
        username=os.environ["RDP_USER"],
        password=os.environ["RDP_PASS"],
        domain="MYDOMAIN",  # Optional domain
    )
    
    try:
        await client.connect()
        print(f"Connected: {client.width}x{client.height}")
        
        await asyncio.sleep(2)
        await client.save_screenshot("screenshot.png")
        
    finally:
        await client.disconnect()


if __name__ == "__main__":
    asyncio.run(main())

API Reference

RDPClient

Constructor

RDPClient(
    host: str,
    port: int = 3389,
    username: str | None = None,
    password: str | None = None,
    domain: str | None = None,
    width: int = 1920,
    height: int = 1080,
    color_depth: int = 32,
    show_wallpaper: bool = False,
    capture_fps: int = 30,
    record_to: str | None = None,
)

Properties

  • host - The RDP server hostname
  • port - The RDP server port
  • is_connected - Whether the client is connected
  • width - Desktop width in pixels
  • height - Desktop height in pixels
  • is_streaming - Whether video streaming is active
  • consumer_lag_chunks - Number of queued video chunks (back-pressure indicator)

Methods

  • connect() - Establish connection to the RDP server
  • disconnect() - Disconnect from the server
  • screenshot() - Capture the current screen as a PIL Image
  • save_screenshot(path) - Save a screenshot to a file
  • get_next_video_chunk(timeout) - Get the next video chunk for real-time streaming
  • get_pipeline_stats() - Get detailed latency statistics
  • transcode(input, output) - Static utility to convert .ts recordings to .mp4
  • send_key(key, is_press=True, is_release=True) - Send a keyboard key
  • send_text(text) - Type a text string
  • mouse_move(x, y) - Move the mouse to a position
  • mouse_click(x, y, button=1, double_click=False) - Click at a position
  • mouse_drag(x1, y1, x2, y2, button=1) - Drag from one position to another

Development

Setup

poetry install

# Optional: Install Rust RLE acceleration (100x faster)
cd rle-fast && maturin develop --release && cd ..

Running Tests

# Unit tests (no RDP connection needed)
poetry run pytest tests/ --ignore=tests/e2e

# E2E tests (requires RDP server)
cp .env.example .env  # Edit with your credentials
poetry run pytest tests/e2e/

# With coverage
poetry run pytest tests/ --ignore=tests/e2e --cov=src/simple_rdp

Linting and Type Checking

poetry run ruff check src/
poetry run mypy src/

Pre-commit Hooks

poetry run pre-commit install
poetry run pre-commit run --all-files

Project Structure

simple-rdp/
├── src/
│   └── simple_rdp/
│       ├── __init__.py      # Package exports
│       ├── client.py        # Main RDPClient class
│       ├── capabilities.py  # RDP capability sets
│       ├── credssp.py       # CredSSP/NLA authentication
│       ├── mcs.py           # MCS/T.125 layer
│       ├── pdu.py           # RDP PDU layer
│       ├── rle.py           # RLE bitmap decompression
│       ├── display.py       # Display class for video encoding
│       └── input.py         # Input handling utilities
├── tests/
│   ├── test_client.py       # Client unit tests
│   ├── test_screen.py       # Display unit tests
│   ├── test_input.py        # Input unit tests
│   └── e2e/                  # End-to-end tests (need real RDP)
│       ├── test_basic_connection.py
│       ├── test_video_recording.py
│       ├── test_performance.py
│       └── test_display.py
├── agents/
│   └── tools/
│       └── analyze_image.py  # AI image analysis tool
├── rle-fast/                 # Rust RLE acceleration (optional)
│   ├── Cargo.toml
│   ├── pyproject.toml
│   └── src/lib.rs
├── .env.example              # Environment template
├── pyproject.toml
└── README.md

Performance

The library includes optional Rust acceleration for RLE bitmap decompression:

Mode Screenshot FPS Event Loop Usage
Pure Python ~15 FPS ~50%
Rust + GIL release ~30 FPS ~10%

Install Rust acceleration with:

cd rle-fast && maturin develop --release

The library automatically uses Rust when available, falling back to pure Python.

Protocol Support

  • X.224 Connection Sequence
  • TLS/SSL encryption
  • CredSSP v6 (NLA authentication with NTLM)
  • MCS Connect/Channel Join
  • RDP capability exchange
  • Fast-Path output (bitmap updates)
  • Interleaved RLE bitmap decompression
  • Slow-path input (keyboard/mouse)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_rdp-0.8.3.tar.gz (571.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.8.3-cp314-cp314-win_amd64.whl (151.2 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.3-cp314-cp314-macosx_11_0_arm64.whl (244.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl (253.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.3-cp313-cp313-win_amd64.whl (151.4 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.3-cp313-cp313-macosx_11_0_arm64.whl (245.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl (253.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.3-cp312-cp312-win_amd64.whl (151.6 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.3-cp312-cp312-macosx_11_0_arm64.whl (245.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl (253.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.3-cp311-cp311-win_amd64.whl (153.5 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (263.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.3-cp311-cp311-macosx_11_0_arm64.whl (245.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl (254.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.3.tar.gz
  • Upload date:
  • Size: 571.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.8.3.tar.gz
Algorithm Hash digest
SHA256 e316a4dec9437de670bfdec2954b27bb387f579fc8fefe8ca7423e4e65e833cf
MD5 bde733b7fcca6e7daaa4ee65a4c0ac65
BLAKE2b-256 928e119c7ded5bae7bbd77834d9adffc7220f9fceaf81a8631ff5dbbe5fe4f6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3.tar.gz:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 151.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.8.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0c6a9b309197e7aac88bfc3615dde53b533ee24959e26664e6791d825ae84b26
MD5 eaf19ec4e488500d7e2b1d701745004f
BLAKE2b-256 8efa498d78abb97701a98b71d350858f2471e7e8b2297ec522c0f6e07acc5acd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp314-cp314-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef2d7a07aa092536e85e8f74dda6b831e86b8974cad9c54a55e33ea23bdf3340
MD5 47cf00199ccad1a0f1656ba95359c4c3
BLAKE2b-256 ebc649503da26ecb028300c2b824b65b6952b76379be25ec0dc6365cc09a0a0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 29ff01c4c2762d0664597ef35cdf018761149b4777f5f16174dbd87cb01429e2
MD5 1f7d3615c39207dc64c7e0a5917822c4
BLAKE2b-256 0f1313efb8249e3c8348165632c44c6e4ac0ac4a997f70fec70157dc540ecf50

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6945e265f9f58c6d59273d5bf392f098451708ae48d092605e06c57d8edbe24
MD5 468ea97207255e8e4143b9a322651638
BLAKE2b-256 22a8b9cc6859864fd1938bc407c6198f1310b3acd28c02162622ae385aab63b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8d1fa1a49474304fbfccea3603bf988cffea2f3bb0bf6b36b7a68681867cfa6e
MD5 bc050b99d5d168ba3012995d84e424c0
BLAKE2b-256 81771de8e0137bb306cc6b2881f1840b2e02641fc7e6ad5da245f131719ccfb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 151.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.8.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dc493fdd640e4d6241d25da72c2a09901d59d533841f1f87e369aa4e0141282b
MD5 b37aedc0366d4f518898f9c7e2deb018
BLAKE2b-256 dce2e6e8784799ef58afc66aca64f146bdd8c47ba7a8ec0ea256637d17cf9d2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp313-cp313-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6647010f511b35b5f6dd0892ee873b86dcb8385d8b03968d70995a3f663903ca
MD5 9c360a08bf7942bbab6ac483e5a62b63
BLAKE2b-256 316fd4745678c0d67ad109fb37ab5b5072aab135683765eda89a94e8beb792e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd9e2c101cfd0e17eae84d2bbe4b08a15926de3f40fe01e148716b22c53f3fde
MD5 f8c45edf14e4949fa762a48cc19d60bc
BLAKE2b-256 f4d59a2085ffcca4c4d20f6337f5651bf5bc31e1fa61da6ee625391e84f891f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 025f35fbfa2927d8d015881253bba4c62804d8be2dc1be99da6ccd796ccc55c9
MD5 079ca4d0e9184c381694e72bd0af69fc
BLAKE2b-256 6dde9c16ce25c865d9562c4e9c4293d9afdabd5468a5ec67eaf1644b7d4c5621

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 29a2fe26659059ebda8e4e76928a470854f2414cc372b53a0d1f52832320851e
MD5 a7461bd2d3b5ba2213cb1ade17d8a646
BLAKE2b-256 08d790552d465498c9837826574ed57e2359b14cd7fbd4cd1d5fe0f373246146

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.8.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 151.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simple_rdp-0.8.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ef4dc624a5dc82ee18ed8429e77aba2fd1ad31768a0df553c7c76a0bee2ee4b9
MD5 52e00ee9e12310db6b555fca00579d2e
BLAKE2b-256 f2cb4430de1074f43efe156ece9e06cab1b29242a78cf5fe90dd32845bf24fbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp312-cp312-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9904a177dc0ead62b3b0d7131781b04b5f06df29c9ac03f151d3e234a26c90de
MD5 3788d527273338df6c660d0a93ed7bb4
BLAKE2b-256 ebd55d7d742846bea661f0ea1dcecc1e1ee9e5fbca16224d3418e7e1af1ae217

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fdfd601e97690d91d33325133b371ef3a4bb131bfc83545174b016423215133c
MD5 c4026c30e1ecfe4f729fc3f28d722cbf
BLAKE2b-256 77c31643f85c303c89e54c03b6ad57ebcdcac6cd1b0fb604dde5830c9a3ef7c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3555a196c7aa99d2337f39e55ba0f776a82c2386d26826649347310b3ceaf74b
MD5 55f2086d99b2d060af818905f78de077
BLAKE2b-256 1c8ae9418bcc853ae17f661386323954eac8172c9c85d46bcfbf66cca0018ea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 25a88bcd0b9bea57d6fc1b9420ae9f317f792abad44ba149756e4ce9251cde67
MD5 95e8d0b7709c7139ca3f9b0032c2edb0
BLAKE2b-256 395af39a8a2dba5df55780d6eac7d7b635e7916f338c7631be5e34850e825a70

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp311-cp311-win_amd64.whl.

File metadata

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

File hashes

Hashes for simple_rdp-0.8.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4bcefce822ef273703faa2735c4d6ef8fb1f108fb1dac71eb1b7ac561308ffb9
MD5 d2906fac3221f460cf5b7a4dfc812953
BLAKE2b-256 14e6d2e07cd84b3936753cb5209d2c3cde92e27fa7e80016e94f72aadc37508e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp311-cp311-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acfda39a9fdcfcb54d6f2dad8e232d756b205de43fda3899cc01d191a9a9b970
MD5 d2560ca2bd30c30074b440fab6a71689
BLAKE2b-256 6238c53bdd2efccad73932a007f019ce08cad0d189a1ebab28e31779252e7a75

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 87de573bd26aca44e44c9b8a3ecae8b4889a13701a3fa134d68ba4da41710100
MD5 8f987759bed1741b8d2add790cbc9652
BLAKE2b-256 2bc11352b585061b44127b2fc4ecdfa697f1c8c14b2d69b45f757c3e1c543d8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd1e821f7c649e437ed5110d5adac24ce02a119304da2bca79f152e2dff29f80
MD5 71d7a1e770e43d2cf1c72e77609339c2
BLAKE2b-256 e3a5a4820457d43c8f6fdb4f98e4418fc086eec4efd53ed28af5ffbadd07edaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.8.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5e09bd98ec1178bc5a821e7c1c1aff2d600edf22a5dda9deaaecffd0fc66d946
MD5 00af518d20f0f62911218ab1abc777ec
BLAKE2b-256 0bc466a2f72225d8961ccce24ca1fc6d64ae96100b3c65b4e4d85bc11f20a736

See more details on using hashes here.

Provenance

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