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

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.7.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.4-cp314-cp314-macosx_11_0_arm64.whl (246.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.7.4-cp314-cp314-macosx_10_12_x86_64.whl (255.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.7.4-cp313-cp313-win_amd64.whl (151.9 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.7.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.4-cp313-cp313-macosx_11_0_arm64.whl (246.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.7.4-cp313-cp313-macosx_10_12_x86_64.whl (255.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.7.4-cp312-cp312-win_amd64.whl (152.2 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.4-cp312-cp312-macosx_11_0_arm64.whl (246.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.7.4-cp312-cp312-macosx_10_12_x86_64.whl (255.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.7.4-cp311-cp311-win_amd64.whl (153.8 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (263.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.4-cp311-cp311-macosx_11_0_arm64.whl (246.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.7.4-cp311-cp311-macosx_10_12_x86_64.whl (255.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.7.4.tar.gz
  • Upload date:
  • Size: 445.6 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.4.tar.gz
Algorithm Hash digest
SHA256 22a917918dc9673737e8872d2ce4938bfa2b1e5dfc71b4684c543c90306f4da3
MD5 05904f9c9e2f7c22025e4ee6a6110797
BLAKE2b-256 78b16b33f97a493a2e7ef253bd7b1751ad7ded0d45b6c174300bb114153aa6e4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 151.7 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.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 11629c38d047d2f1d467345843d4968d56b718e0f517642580d6086471393089
MD5 ab1f59824796b4dfb08b5541574ef127
BLAKE2b-256 a23b7940af984f4530bfd7a0007b620839ae9adba830f2853ce0d5264f259775

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18282623a1191ec2c4e610e2d9b7af419429d0dcbd642cb689b40567b62daeb3
MD5 7a4e20d9ab10f59ea2f1037818d5fa5c
BLAKE2b-256 3cebcf8768de8267de1936e13a2f38d56c98fe70553b11fcb259de11854a1f7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2fa0ed9b0e0bf8fce34a3796ddb271f9754776028e9b0181b86efc755334666c
MD5 2990c2bb5f93f4de033f342f5a60df63
BLAKE2b-256 59b9d8072654ff2d3e7af1f320fc0c8dc1df26b967635be1718b1b19d9d0bab8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 552cf06c8cbc1aaaf91e9b6b5baa6935726d2b549026f834b6296871ef3ec752
MD5 0b652c64c95ed06ddb238a90491732d0
BLAKE2b-256 66dd57f0300d7afc8727b47f197dacf78464a107f87f8e96f1ff27506a723827

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 19588461936df36cdb4bac2dc6d51f1b044416e5ad91d09e9d5caee19f808edb
MD5 efc5def7519488dee0e7b09a5651ed47
BLAKE2b-256 3fd10441ab3336a733d3e95efa5677865a6b7acec08eeb77fccb4f4dabd932e5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 151.9 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.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 70c8aa3ed973206d6d4748325d9f6f3baca428fa1f88fb276851fe9ce56cc1ec
MD5 eb5fbdd8717a7f499d2b75422c4770fc
BLAKE2b-256 fc766daa45f46c6238ee560e9af9329855038190b68e48adcf347173e47fbcf7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87ac00832568c3d85c02b9153dc2e12db362d549156450b9a8db3e9adc161849
MD5 ff0cd6fea2dc5f69c6c596079ee13517
BLAKE2b-256 d9d1f706fc06c913fd7e03fc52efc21bb8a308da90a6f9272352c347eea2bfc1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a2838f7b140c5194190562fe9f453427d04bb3eb283c07925f36541477b4985c
MD5 2a9c3776c2ac95a3880978ddeb7e3b5b
BLAKE2b-256 47aa812c3f5d08efb32702a95c271d556a892599e23fa5b61aa79675aa9bf877

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc384aa9567c3689fb56bc52e0b6f9b6bb8a9169d7fbe7e0b4b27ef51c6a1055
MD5 45eee5281dea991ad269ce5c93793b0b
BLAKE2b-256 2054b32b8d608773ddcb28416bbd915833d45ab75c816a9ec7acb3ad2b74e50f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 19f260633f1218a1ee4d62ebcae59de50f576f1d85e8fe7e2ee03deae2451306
MD5 c17ff9a0bccbfd1f86f9b64497c9d140
BLAKE2b-256 3648487d0fd588454d434f4ec3d4233f352a43def5af49f6f7cfcb8512dbebda

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 152.2 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.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ce6bf920f8f8a78f5fad284f3cb2d35a78557bb476e436e131f29b0a7df1914c
MD5 62e8d56ab4885494dd21fac7348fd86e
BLAKE2b-256 e70167c4bc5b0b3c74f5ccef5c1e1b81f0db46ea3e18da6881da3c494a6b6a7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3d5d8eb9651c193dc6847bf882252e5eacbf1a76cc4b193943b9859b9a990d9
MD5 f91d27dc2c505c9a4c36b0acf4e7e24e
BLAKE2b-256 8db69a51ebcd646f0a64a248e267c0f4a62e28ada1f89ca4fa9e4c5a4f801383

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9480d4c006c6feddecb21627b547aeed0f190305bb10c07969fad433727e47d9
MD5 696fb1b3900e3da2787aa9a9ea4e9e79
BLAKE2b-256 be129f4d7af5470116594a7498a8e19e581922d0194cacdbd7333c7c9fe3f20c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5fd5c3fb13305722a76d26a235d605a40cce16f787b442e98b1dc31d8606b2bc
MD5 95e9b3929087401a28278faed8735313
BLAKE2b-256 350ffa5c580ab01d378572b82a24c495119c9935ebc777880540ff4912f432c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4ffcf437c56c8943de965bb4169748f7c17ae2d16dc1631d593002405e8b4bf6
MD5 885a18a68d16ce234da6b7d3ca8be29b
BLAKE2b-256 59f0062bbb0badcc5b0de5bca7bc943df1122f1e0d90bf5fa4efb1b7c986d8d1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 153.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.7.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d73c2917ecf02e7763f6849a82235e282e45360e44436ea14bb02f4b52914883
MD5 34aa6a2888f912c7552b534a6c36a6a3
BLAKE2b-256 1d585b79119967806a6a8e1796cab4c99cf8f40ed018bce157365675fedf8b60

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95a2ae431b7458e39abb74e10724d72105bd2918f8ee26b3e56eb2eb0bb54a2d
MD5 f169b81f3c24b352eb8e5fc34f69ae8b
BLAKE2b-256 53958e3c95b41a34cfdd48254d5e8fc53547e3a0bcaad3d46fd661c1a7263dca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c4af4814313d912b59fba24998c69757d818435067180d48e2822584aa9b1f01
MD5 6c74f06791dc842065445e56d4fc933c
BLAKE2b-256 3b7df50e002d773156bf89586cd9b915fd7e8371e6ccae63c650f52947c7ffac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7bb2ef1342e684092e4d779f780efa308e7e8117329cdb2a8b2f4d7f4ceca3b
MD5 93724c6ccc0ec8e6eb7a2f32353f3332
BLAKE2b-256 8bb602a39f1dc8b63d088afd8b41239a523c2e31ffa29ffd46007b984e2407e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6392445ae45d47d3dd9bf8dcd167dabcecbda181c3aeac3d8779b221c689ce5c
MD5 b203d3a72ed6934036f119798390c7a0
BLAKE2b-256 21a223ae53315d990e5a8476288aba051ba5507bb97d23dedb39a0f70558fe5c

See more details on using hashes here.

Provenance

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