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.1.tar.gz (570.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.8.1-cp314-cp314-win_amd64.whl (150.5 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.1-cp314-cp314-macosx_11_0_arm64.whl (244.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.1-cp314-cp314-macosx_10_12_x86_64.whl (252.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.1-cp313-cp313-win_amd64.whl (150.7 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.1-cp313-cp313-macosx_11_0_arm64.whl (244.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.1-cp313-cp313-macosx_10_12_x86_64.whl (253.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.1-cp312-cp312-win_amd64.whl (151.0 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.1-cp312-cp312-macosx_11_0_arm64.whl (244.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.1-cp312-cp312-macosx_10_12_x86_64.whl (253.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.1-cp311-cp311-win_amd64.whl (152.8 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.1-cp311-cp311-macosx_11_0_arm64.whl (245.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.1-cp311-cp311-macosx_10_12_x86_64.whl (253.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.1.tar.gz
  • Upload date:
  • Size: 570.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.8.1.tar.gz
Algorithm Hash digest
SHA256 16b8371f856e656ff987a2f28223a93e9febf1eeb01ec1109a6505fcc20e35fc
MD5 7b3730ffc5d8ac9d58cc08ec2e817616
BLAKE2b-256 295df60057b3fa577c3f31cf31cebb1b4a6ff939702f35fc3897a624f2a1a28d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 150.5 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 97a167cb09efc5885f114ce2497648fc5f0be29cc2e8ec3b0a0b7647446eba83
MD5 251f829b750acda3bb556e4ba73e0f75
BLAKE2b-256 5d3d99895c85e11879f8d2abe14201f601d40aaef841f405700a2897c7228c4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae9f92cc282ad97a0553ccdd86c029af241eb4fabf66d18e4386528507e378fd
MD5 b1dbd81e7e207a71542779ac7a3f3b64
BLAKE2b-256 22a8a94359fabd761bee186ad31a339fa18b28c8867a06063360fc130267f988

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 248d7c7fd00bccdeee8349589d54c14a1a888b3e8a54975958fe0779a04e2d13
MD5 d7a5287f03d357398b9bf40851bb9642
BLAKE2b-256 37995adac967bfd1967ee51b0d2c0ca5c554307974872db2f97dbb9eba7c0020

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 423b479eea22c2065be779c3091e5529a89504d81eb965217e56b94e90facd25
MD5 d752321286d7f903ed74d372ddbda5de
BLAKE2b-256 71d60f9082040aa7062a89664f35f829372f138a7b377950f409cd04d9f99fbf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4d8c95d4f235b0a09ca2844bae40470666bd967b592a405243ae5ab432e07417
MD5 4768c3e40a4beec476784b259ebf19c1
BLAKE2b-256 9d6051383283758ef89c8e8040459bca7ccd6eec7daf9f2211706251c4d3e3e4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 150.7 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c6b4115de5602f718f5d9900a26208044513f27dd9037d8ae26ac65558b24b6b
MD5 12f6b2981d948a7840fc3eb6a5311229
BLAKE2b-256 3bbe3f52d4326aacd4c8442b1e4d3dbddd60bd580ae42248bab7d082102c0fc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4975394668897c70584fbf1de57032cad9e1a25c7baad082cecb2240d8004e24
MD5 ea8dc3b0e5a5213755f9beb129a3db73
BLAKE2b-256 7b917a269a73e7694730feea926697c95e42c0c08004f414e3e9e097d8b3ce54

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 67199827f3964055dcfb4247216feb9e3a6d1224d42da94da193be6e81061547
MD5 76ccfe50bbb9c5f9f5773f4b541a7d38
BLAKE2b-256 6105efd628b28c57a437e2e2d28f3d257c2a2237c0deda9d633132d2b8fdae75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f6004322730e9095c246b64d2ed9f13a6a4ef304d40f4e5b9933374734426ed
MD5 afed85038f288149e374650cba93ca73
BLAKE2b-256 7cf516634662ca3807797cb5e7f1d637d93005ce86fd2e7b2141d5bc86a7c6e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 09ea28366a1378c77099c1fa56fae64e3031402230d41126c49c8d356ea85d09
MD5 9673745499171fad7c02901b94c219a5
BLAKE2b-256 625189fa23fa495f2db1ca567b5b0f83d307c3384310310fbeeda0884fdf905c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 151.0 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 48ea1c90c7631d7a01aaced92d5cf4f8c892b970455e15658a77ea7ceb976c97
MD5 031dc5028b28ec8313b74b434bd68a05
BLAKE2b-256 1b888f3b48eb78a232adf75759af6aba1aa925146a3dff76808d54475e510a66

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2833d8e0ef65c274d46c2d923b77dbae7b8c27c7734d37d94a8f836bfbc1ca56
MD5 92c18a7b6601e285f24a7f2984111e70
BLAKE2b-256 d087260d8bc049b655d8854211ec0d40ca594dc551877e18f3a5333c1c083ad6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ce305dbdd2e12aa0660375ab1a7eaadc0a1aec449ca386de1c52fa2f65d5964
MD5 0876be864d58c1fa50558f820838a5b9
BLAKE2b-256 1751af9c46d2590f52ad7f887d7ec28f9483b750e6759c7a00c39022f83839ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 206e0f9a7cf5a752dbbb81c7247e76b186b4068e7ee4760a30f57f9c02db0ecc
MD5 18db303d11d43706cd99022199e4d008
BLAKE2b-256 d107eec4c4a7fce969596d60d066ad4ae4fd99ba6306865eb61c9c24c6702bc3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d59649cafa94f15729d7dc6bcb46f978d585f868ad1ff185af784c0c1e0008e
MD5 b5854cfbf4965a75fe31147b4914c8b4
BLAKE2b-256 094e1f68f7efb4766c601d21e652acbf6f78dacaf4064491835399bc654982be

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 152.8 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 704cb6cb663287bcdc392d94d66b4bb54b85b666bd7f239fac64e9e3ff5c9df2
MD5 e426cb591985976959aeaabf8bffac17
BLAKE2b-256 39f47a0b17165843c16c3aabc9fbd3781139faeb0dd9d3d7316ed2047397dacc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e7840212a63c4eb728026a9265fcb21787757c69c544e481c26801af2820a1d
MD5 a69ea62a7f46b642e5ee2bceabdde661
BLAKE2b-256 fd9c15d81f6021086eb46575c08823d9e704f66d71fbdf23fc28e740db6e2a96

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ed9fc4ceec195be6850f7a887236a0f585e4e3cedf1bf68833f09e23bdbacfdb
MD5 d31f927a261135e387f693ab58475956
BLAKE2b-256 aa5c708094d297a0c424af7a3e4de9f3c439bc29a764e72872750ada1f96a45b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 185bda90ef483084e4e9a845c335802e013520df281dfdee3157a09838f177a9
MD5 8bd3338268a9d136d6717f4ae3288c95
BLAKE2b-256 d5be8c3e20bf17e167a3a6b98fd2fd576ec2b6e4c6c0d4adb66a7ef43d41aa42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ffa164eee7e5eb5b5785f0b08dfb517fc3866cfdb7a923edfa60f01a90fc6a7f
MD5 162c399fd309971c3586bb59e2c32df2
BLAKE2b-256 1c28290c3ff2c564cf530be7f2683544b99e83b9530e94adcb4c9af9bb71791c

See more details on using hashes here.

Provenance

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