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())

Manual Connection Management

import asyncio
import os

from dotenv import load_dotenv

from simple_rdp import RDPClient

load_dotenv()


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


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

API Reference

RDPClient

Constructor

RDPClient(
    host: str,
    port: int = 3389,
    username: str | None = None,
    password: str | None = None,
    domain: str | None = None,
    width: int = 1920,
    height: int = 1080,
    color_depth: int = 32,
)

Properties

  • host - The RDP server hostname
  • port - The RDP server port
  • is_connected - Whether the client is connected
  • width - Desktop width in pixels
  • height - Desktop height in pixels

Methods

  • connect() - Establish connection to the RDP server
  • disconnect() - Disconnect from the server
  • screenshot() - Capture the current screen as a PIL Image
  • save_screenshot(path) - Save a screenshot to a file
  • send_key(key, is_press=True, is_release=True) - Send a keyboard key
  • send_text(text) - Type a text string
  • mouse_move(x, y) - Move the mouse to a position
  • mouse_click(x, y, button=1, double_click=False) - Click at a position
  • mouse_drag(x1, y1, x2, y2, button=1) - Drag from one position to another

Development

Setup

poetry install

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

Running Tests

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

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

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

Linting and Type Checking

poetry run ruff check src/
poetry run mypy src/

Pre-commit Hooks

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

Project Structure

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

Performance

The library includes optional Rust acceleration for RLE bitmap decompression:

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

Install Rust acceleration with:

cd rle-fast && maturin develop --release

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

Protocol Support

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

License

MIT

Project details


Download files

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

Source Distribution

simple_rdp-0.7.6.tar.gz (448.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.7.6-cp314-cp314-win_amd64.whl (150.1 kB view details)

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.7.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (260.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.6-cp314-cp314-macosx_11_0_arm64.whl (243.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.7.6-cp314-cp314-macosx_10_12_x86_64.whl (252.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.7.6-cp313-cp313-win_amd64.whl (150.3 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.7.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (262.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.6-cp313-cp313-macosx_11_0_arm64.whl (244.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.7.6-cp313-cp313-macosx_10_12_x86_64.whl (252.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.7.6-cp312-cp312-win_amd64.whl (150.6 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.6-cp312-cp312-macosx_11_0_arm64.whl (244.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl (252.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.7.6-cp311-cp311-win_amd64.whl (152.4 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.6-cp311-cp311-macosx_11_0_arm64.whl (244.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl (253.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.7.6.tar.gz
  • Upload date:
  • Size: 448.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.7.6.tar.gz
Algorithm Hash digest
SHA256 ec72d61b2f61c6e40863102f699eaa451fc96d43da2d9d4960c1d5788e1e9fd8
MD5 7661daa99d5cdcba2961f3a17c4cf549
BLAKE2b-256 949a3de353ddd08fe0d43d2ac543f71e522afce0c0b96873690022f9ef6d7849

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 150.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.7.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5bedb8e8950cb806134a96d466b98a8f52db784175a041f0418e1c57226bf88c
MD5 071ffa4a679040d2323c77229fccf2b6
BLAKE2b-256 9d0b9bb692d5d7888e6344ed8ae760bc33de7a163f3dffcfa769e285abba8443

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 806dfda55c8542e5d2fa065deaa00bcd23d5a647dc08c01fb1d1b5e9e63f69d0
MD5 3c0477ecb00dd2ae5f10bbdcb99adbc1
BLAKE2b-256 64beb6b18bad341fb2649f0799594e21cac9a3c277e8b9bb280f3865dc1bab5e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 77840c181968a50e715326c688a72c63bb10d25c88a4ee2128b3ca516392babe
MD5 83a4f8a3c8005171dc8e2110a56f3556
BLAKE2b-256 83378644b9a813e69796895139ae0a578ebd4170798eed6c409213dc78a7d305

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27d45e0fad31cf729fe7871bf3634e1d885a2bb376dd7a91f57e512cbc08bf56
MD5 5d2d430daca60d1dbbc5e2adbcb718d7
BLAKE2b-256 d063a69f639499424b1963005914254e33301d22c7cb4c30c012cc7c656c3c26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cf07c9c476c864d55faad5cf370909e177d4d9f7a212ebdcbd17d13ad19b0cd6
MD5 8946d11cbfee17ef10197e8d11a5a3c2
BLAKE2b-256 8230d942ba23891d35dcca8e27ee2b81c3ed3f7a8b37100ff76f28b244e8b7e9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 150.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.7.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9edc7e2abfba8023069424afa792ef05a291f4ce98dda3f3776d31a9953c039f
MD5 a1673b5e980be1549fa317184d7b1907
BLAKE2b-256 7921409ee25018de83e2477c84c9f760db21b362879f1a9193e3944930d549d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf2940f04ba332ed43982f9721d6bd7e026605e2bc9bc4a0f79194635d601c29
MD5 5c04131633add0098bb31d6c4cb3c18e
BLAKE2b-256 d1a0c967452e2bf798d76e981ac986d054452ffaf049498ff112f19476dae9fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a47d2f8ce0ff8033323b0adfaf7f0dcf62a1e02df03015ec0b94fb791611f97f
MD5 69edca15127c7572d6262f863658ed82
BLAKE2b-256 489a4fe946f7a5c3f9c42d9866ef594ab77849b0ab9dcd6cc17a61a366d10cd3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8fb2c0dec7ec510a643a4ca6834d2c4301fded6f491dd7788ebc40c099d41b08
MD5 806195c362194c11df67ce956fbcd1a4
BLAKE2b-256 9e0fa0c9d15e7533ffbc7c357d8274511c498c65a72c0a99d2a3245ff0f9a959

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bee6cdbae8786c84c8c1e8a857acee364ed7c7e77122c0b4948096eae1bba2be
MD5 71fe28f591d4f4b1540a36921551c5c5
BLAKE2b-256 4a9a9f9381617ea734b9416d60337dbfdc1ef6b3f87e94ea55ae9960bdad0341

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 150.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.7.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2250c8702d9e44b891d63cdc2903def5f48dc09af8f320cd90e3d6c2d1dd2190
MD5 37b49bed82c41ecfdc005b339ff3d8e5
BLAKE2b-256 913cdf7fb2b6937dc8870b2d36f3c03dedd0126d788f44c8c8b00532ca324402

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63ec07624927b2a8a34d1401e1d6bb0edf72768a9a1cede2e1753a9ceda0560f
MD5 48e6c21c68b0f23e3a6b73580d05b0b9
BLAKE2b-256 31c91fa1970728936a3cd0e901b146d66b9f0ff727c4f7ea96f5e3492b9b7d86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94680490f6ff13c91e2d336153aba593aa6173b7f44e988fa79bfc5f0cc6f163
MD5 02d81808957eef8d4fc36f03bafd1f9e
BLAKE2b-256 ed73bad0351cdfd70183ba2c9056b563026a075f7f6f9a8e4769c378e25c9ddf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba775012f691ae7719c51e1e6a94dae3b769ae2a6728c8e9a5f2f3da0c4e05c9
MD5 19501048e188d6cf934d7aa5f9b5a4c1
BLAKE2b-256 08b36b30dd179ac275f449901709bd250f0c979b8867223f79be08f1c7cf23c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e5f26db3f7aa388266a7d7296f9c4a887d0ead340496b74fd795ac4664c311e
MD5 bed1f4a7e6bb0e1f18b9b51a6d73ae1c
BLAKE2b-256 68adacb14d2b447f0b09a743b330312488db16d12bea17f36fa9a09f8bc32d16

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 152.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.7.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f1c60806844fa81d00bb1e44fb472f33c62c921e7966824eb6b9618d10ff10cf
MD5 b8d0733cacac626035624559bd861a5e
BLAKE2b-256 0c8c02c44320f5983e80e5e1e20a35878ed6bb3d5d1db2b0f2e58abdb8a63092

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14fdeb5f29d54fee3400293644d58fb22b33ba271add2ad4710b0bdc5bf93a73
MD5 defabafdbd409c470b7bc909f61aa957
BLAKE2b-256 d68d5fe842e97878c68419b35c645ee8933b834c728e75fcd195d01bf56df4ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8e3f38cb67d2095a92358f214e7f8fbff031de783a3259db14522f8d2024c823
MD5 ba38f508949829cadbfe47f2904042cb
BLAKE2b-256 f699599ad3ee8800ae65b2e50d490d3746731c5c630c46f1461bf87bb6095565

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6145b59f156f65d5503766b41ec1e3b7a4e93959895043ac5d47233720d20e50
MD5 4961ecbd3d2c271607d11da75e06973d
BLAKE2b-256 36f174b2c4d9d49688f13e72ac625e9166ec517245064bead40e8aba0720d0db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b473f30dd708b1644389c1cfe2748fa43e672cdc6ad3b324b4f2f6682c0a2116
MD5 42f7e8df238c2b294e2b4df32cc1f857
BLAKE2b-256 426e11bcde3ac749f5ac54493d409074da0ef0359605fb3fd0a2ad50017e50be

See more details on using hashes here.

Provenance

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