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.7.tar.gz (743.5 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.7-cp314-cp314-win_amd64.whl (160.1 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.8.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (272.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (270.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.7-cp314-cp314-macosx_11_0_arm64.whl (253.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.8.7-cp314-cp314-macosx_10_12_x86_64.whl (262.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.8.7-cp313-cp313-win_amd64.whl (160.3 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.8.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (272.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (271.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.7-cp313-cp313-macosx_11_0_arm64.whl (253.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.8.7-cp313-cp313-macosx_10_12_x86_64.whl (262.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.8.7-cp312-cp312-win_amd64.whl (160.6 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (273.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (271.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.7-cp312-cp312-macosx_11_0_arm64.whl (253.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.8.7-cp312-cp312-macosx_10_12_x86_64.whl (262.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.8.7-cp311-cp311-win_amd64.whl (162.4 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (273.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.8.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (272.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.8.7-cp311-cp311-macosx_11_0_arm64.whl (254.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.8.7-cp311-cp311-macosx_10_12_x86_64.whl (263.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.8.7.tar.gz
  • Upload date:
  • Size: 743.5 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.7.tar.gz
Algorithm Hash digest
SHA256 919c32301a33964fd490c11c0391fa6968eae5ec7feed396b0d3662d0f730ee0
MD5 34ace8d20d36e2db5f087887c538f3eb
BLAKE2b-256 f86adade2168298a750aa6113381908c7a71784dd1484a18d938032406878e39

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 160.1 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.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 108c3b466e92bb5b381055e23ead118b5ad2025959080e9caf9a5549bb9dafae
MD5 32c85547dcbbe67f9486d5c973889525
BLAKE2b-256 888fb5cb9a7c17aa7f2fb051d57ead7c1894ebf5f1464e45a4233fe569008735

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e17d88d036300e078b2f9b24061403ae9ff5a911dc7d1bc07f5c4ff426bcfb5
MD5 25e5338064ea2dafe6c39de951b501dd
BLAKE2b-256 430719557cda34a15fd8ba988d682909b0efb6fa926747a44f519becfaabeb0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea4d48885bd4c25cbd79615b6028f9c1d2e2273720a06b3fb1417770f74d18ce
MD5 f68fcf76dc1f251d6e9447c100704906
BLAKE2b-256 70aa956db5265d0197fac21b07258105d51d621f1c24c7141ed32dae31e02686

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0df846f4c595e44bc46127fe5866d289e3631a61cbee48fe4f4ff267c0540872
MD5 fbb3c0afbaea31e522c22bc27873475f
BLAKE2b-256 e2e9a4c9921cd0fbe76f49fc2752087d66c907a365693fe4514ee576ef33dcf8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6bf3b04f0e66927beadc1a5db4102d26b45a402bcacf8e07da8f2f88a60bd86e
MD5 9d652aded231ff3ada8121bbf1ae7b27
BLAKE2b-256 ebcc644cd18f8b5dd20ad83a3702da24c1e469982d869fadaf20a2f52dc806cd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 160.3 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.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ab9e2ba8c655058c9e8471508d122016c5643cbd30f466aaa74292bea35281eb
MD5 4b1f68f49b5e9854c4e781b7a225c76b
BLAKE2b-256 9aaf36b2dcb708bba50d33a3a6d9cdbd4839da69085eea1d6b7bbe5d1bc11ff4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0587ee3ffdbe399e1fddd5bab20837858d761ea1d3738f88b2c1e43afd70558
MD5 5b573cb77447891734039e8af7e2542d
BLAKE2b-256 61961cde83ae95f31b2b79d7e7600b0df8525ad5c950974a655d53ba9d2f1f8b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f3a9767fee1193a6f82a1a9a743eebf958a8fe001dd2cdf013df24833966d41d
MD5 a5c299e1cf5e2fbdeaa8c81710b65816
BLAKE2b-256 8738be91dd23faedab6d925110c5a8d3edd29881901614f9137f3ef10715190b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f630230137a2507e2c83c47b3fb03db0fff91c718a4ea64c8b89f84adc7a5fbd
MD5 e5970d0516b007e2892df80a4d939f2b
BLAKE2b-256 e4e98445fb3e84fd0b7908fc530669bfa6856a9b74b53f6891ccccfd9e649efa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 10a44887b111b03635a2ca54368906045e1544a8d8f71aeb2c5f978a77ce5170
MD5 4b434b5a9bf77b5e74c5fa862ee85a30
BLAKE2b-256 826a98c38a2893224bb75cde5c90183a6514e2239dd85843bdc425671a73cf1f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 160.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.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ca423914073dca3ce4ac899bc83653bd734f5946ff7c21b73828c22d60bbc270
MD5 23dfa18e37881e2b74557a110f47c5ab
BLAKE2b-256 c31cb0673cce0dc40116b3955fd80a9da26f5bfc21fb7801b89b502ed9153f2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d3246b2fe454bed7759e6e99cbefadb4284748274982bfe4e6de00a083e0bcd
MD5 11b614cb3584acdb05843151efc1e994
BLAKE2b-256 82c6c1db3ccccb672362b8b73cc606a696bf41f83abd315224d8a44b234677ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a40034cfd37b913cefff7e1829b743d017679727b3a13899455e88b93b00e7f3
MD5 994e39a9525c67e992456e174b49f73e
BLAKE2b-256 eb945f22ab300833687f0351e27cc194dbbd9e0e5e1a880dec349c5f0c522f4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91d89b106c1c0b2eff6db164f414e183de53ba91a1e5a027559662dd87c8e2d8
MD5 bf44a1f0ade22d443a135b4a519d0bf8
BLAKE2b-256 e2b0560ee484f8ff24a10e87cad8341d3ebba590ab3394500fc1c42ab81c94ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 83fb540cb3b73879a52a0d5dcfe565b5a458ce7c1b2273e7d19e4907c90adf6b
MD5 296b434fcd370bd1bc5f29278b61a312
BLAKE2b-256 99701247bc738da7a605090920e3660a6aa181eea761e4350585b09da3c16c07

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.8.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 162.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.8.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f156103f44e7954f4f19877b95eb8e9f6caffaebc0dfb08d0180aea9353fa418
MD5 09884dc931e71a9bd0037bbec5858eb4
BLAKE2b-256 5d42e406562633784a24fd3abea3b51bf71730f1b8c274ea8aed31a088df0353

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7add9b82055473159756c59fd61f5e9c5a7e954b3f605534c7bfb445dc536035
MD5 e122b35ff3cae148bc4d286524d6abc3
BLAKE2b-256 219688ad27271d6d9934b869d361b18cd348bbb54ce0ac6478f0a9aa9dc17ef4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b64b32f5743230dec47bfeaa43f421c4ab0abfe481e0a14da319a3fd5a2040b5
MD5 cf68f54d097b8c1986251f6720083322
BLAKE2b-256 2e2b52bbb53f21ef3171a7d85b1aaf8a391c1eaeafba257c16f6698cbe2bd384

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd408861bac277a8c4e150e51efc8f7331907f2fcd48385fe3f125160d308330
MD5 36f9fb6fdd5d993b2aaba43395472698
BLAKE2b-256 a7c635aaab74f7940e69ad16c49b6f853004d22be5fc9bfe90ce21fcaff5fb49

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.8.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c7687d7e3b0e56f1bb16fa0205d05c8312cff3db479e394a60ec59b4f55e3a5a
MD5 a6fbebacb17cb799ef08721b9e03305b
BLAKE2b-256 ef2db3fa51cc8b2e3bf206e66a4915b43c75ebd71ffe12599fe3d5ec3497a20c

See more details on using hashes here.

Provenance

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