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

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.4-cp314-cp314-macosx_11_0_arm64.whl (244.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.4-cp314-cp314-macosx_10_12_x86_64.whl (253.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.4-cp313-cp313-win_amd64.whl (151.5 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.4-cp313-cp313-macosx_11_0_arm64.whl (245.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.4-cp313-cp313-macosx_10_12_x86_64.whl (253.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.4-cp312-cp312-win_amd64.whl (151.7 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.4-cp312-cp312-macosx_11_0_arm64.whl (245.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.4-cp312-cp312-macosx_10_12_x86_64.whl (253.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.4-cp311-cp311-win_amd64.whl (153.6 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (263.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.4-cp311-cp311-macosx_11_0_arm64.whl (245.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.4-cp311-cp311-macosx_10_12_x86_64.whl (254.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.4.tar.gz
  • Upload date:
  • Size: 571.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.8.4.tar.gz
Algorithm Hash digest
SHA256 328971aad1b9e57826048f89959cd55235cd70c35ddb5a535843f119016fbc37
MD5 1dea65c2d52e32b09948566400130a59
BLAKE2b-256 76b643da035f7b57b56a68a584ea5069a399badc3149a7ae9a1d15d167787758

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.4-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.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4cabdc6927b3fd408e16cad45be4e3fa431cbb4c4be581e7cc1f6b54002bf82c
MD5 ee58f9d961d2b16785d282b7d6f315f0
BLAKE2b-256 6738bbbb8c9d38260567d4528d0fbf049b8b05b72d3ef6c5eed69f77a9a1ac7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a5485c57b4ccb9aee27362af4ded50f3934944cb506714cdf10726deaf58505
MD5 e04383802c50654be4a26558baaf62e4
BLAKE2b-256 1e3ac18306336cfb1ab66ab38a5f731a487139a7a17810efc138f04c1bc07616

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3abc3a4710277b0ece502c981eb30dc92ad3afd2d22512c0c5328c87d4579d6
MD5 000eb37541fdbc6839891c1ba4fe36b6
BLAKE2b-256 4c51f6f48a3074f6f0a123b0535a28efeaaa26c9fe70fe98f62d8cd9973f800f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5bebc783fecc41598f3c7e0881d966ec5d54cee540e320f9ba969f1d21340aea
MD5 10cc05d772b1a05cc7d6d2e18ccb78fe
BLAKE2b-256 35ff5131a9e0f044a131d3598412f9cc56c60ac3e174686d00b8a5fa5b26da9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0ad53f2c73e6e6490a03bee8a1b606e549b0860efabc90e3f25b5c894da2e932
MD5 8c0d38911335929b7f1786073d81d9af
BLAKE2b-256 24cabcbb05a10c9dd6e301f099ae6ea8ec257ad6d442454c3178aada8dd9a36a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 151.5 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.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8eb45038351284d9764a5ee2802662940dc4f7ad98a309f7caff5fd91b13e795
MD5 af4faf3f103329f5d42581057b4ec10d
BLAKE2b-256 794f7a70211b82a0351c828d9728d93f1ea50d305a011d8e7ab4dfc9ad2f8b36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e28e915c4eb1115cfee23a223cfc674f4f582e65fb031e6375c73b3a73c5bfa
MD5 d2d5daae9875352145140782d8d20c4f
BLAKE2b-256 3080426ed47b5700f7b8694b45a6f86b8c0cd96a4fdd3cebc272c0d78351ba5d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a926a0581b7728ead7f68994bd74e6c604be2fbb7a2a102109ff2dd99e77566
MD5 af1c55606d2667ce1cca5588657d53fa
BLAKE2b-256 d01521cde5f3df9fbdf2dc79eb164a2756e0de0ed313cdac7d6edc538170cb96

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4de1c5dc6c6f195953a9bd37b1cabb18f6313e75771b447721b7bfdb490c3434
MD5 fead4197dd75df2ec075ac59bb7f3227
BLAKE2b-256 03d06432ff360986ed365f830470515cbe7021d70be524840afa61cad0a575d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dce49f9d811f43d99be67992ebcc4b2f627516ec350ca0aa31c7823e5cbfdf02
MD5 b9a0d472171e0b3dc60ded8183942ce3
BLAKE2b-256 4667d6d9ee535dea1b38352a1382ac4c6d5d2406f24065a7fc42bb6d8a61f80a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 151.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.8.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2b962448d644a27299c8c735157ec6e0e6963389f509a850310da7cd9069e174
MD5 a7b0b05a6a67e232a3dfa6c055b442dd
BLAKE2b-256 1041116e683930ec6e8c638d90530565dc6af3d3b2ef9d389980113550c591a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d67cf1a0ddd6143177603d993670e2c90d9554dfaeaff098539fc576e755140
MD5 2b82b1b582f1f8ef3398bd06709f71bf
BLAKE2b-256 87d0ecbc496e4da9fc8d4787ed022d54cf770c1330398329bd403ee6986e69cc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 111e2aff62a98c45ab797c0ab1c9648f45afd9ed10c8e694fbfeadb6ae58c207
MD5 54487c9f85e733cddc9952f4e240580c
BLAKE2b-256 6acfe07127da124d844e28f5d7f818d3d0fd73df012a197076de957922edf0be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83d529a571f2f32f6dbed69a403acf0323f7e5198cdc482973fd0f3fc0048f90
MD5 bd6ae00fa3febea7e265787bea8d9006
BLAKE2b-256 8fbf98d2dd825e68eae3f164d612ce293d1a1fbd1f9c8549c2b271275e8ca70a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0f2fad5d701e5f6057e9031e4356b5887ebf53b1bc1f303af810df455bfa2efd
MD5 83957d817769931577075edbf90f6533
BLAKE2b-256 9260df82b76680c3e2357b09082559e10b64e6bc89da8640ed6e17686c4c21f7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 153.6 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.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 43c2590f5aac4568f7f410d1dca1a695d50593e3f7d8ff29433bb4a1f50b3c77
MD5 ac22486cf8e9bf55c43b6b011a5cf630
BLAKE2b-256 61cf961cfa17e2f340f15b9cd37312f63b42a3dec29b810938289ed43750a379

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1d60fa1b05b61fc450120ab6c955ea9709dda56ec9861ed8876d6096267396b
MD5 9dd76dab2a552af0a09eeac9e65cac03
BLAKE2b-256 486ec588aa05c40fe43935939db81909b0fca46437e84b5bdf7896594c804555

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d4851aa873c8cff34f73ec664886b0c557020847c7a2aa6d7154f73e17a9f8b1
MD5 a4a1dd58eefab306eaa6eaa144995d63
BLAKE2b-256 9511424f51193249665730dfa5332cc64eab10538018d16e3ece4a41754d034c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8bcd719a1650b7a8e31669e7c9eed29ee5f2621d83f9c11a7a6669c6bda42c4
MD5 66ca450e158b3587fa2faa59e17c0315
BLAKE2b-256 7d8388ed4a102c1692c758ab0c28ce397b9bee3647a860c02fbaeabf98b45f14

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 be16a298d332d477621938e203fe93b1f5467c02d09ac1cb3337bd6e97ed5c26
MD5 41d667ad3ca48f924b5886d4b9e2e8e0
BLAKE2b-256 822838e2c649ccb6f12d74b39abb3e3b45dfe7991c744cf187d81e51b7f740cd

See more details on using hashes here.

Provenance

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