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

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.7.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.7-cp314-cp314-macosx_11_0_arm64.whl (244.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.7.7-cp314-cp314-macosx_10_12_x86_64.whl (252.8 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.7.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.7-cp313-cp313-macosx_11_0_arm64.whl (244.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.7.7-cp313-cp313-macosx_10_12_x86_64.whl (252.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.7.7-cp312-cp312-win_amd64.whl (150.9 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.7.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.7-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.7.7-cp312-cp312-macosx_11_0_arm64.whl (244.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.7.7-cp312-cp312-macosx_10_12_x86_64.whl (253.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.7.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (262.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.7-cp311-cp311-macosx_11_0_arm64.whl (245.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.7.7-cp311-cp311-macosx_10_12_x86_64.whl (253.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.7.7.tar.gz
  • Upload date:
  • Size: 449.3 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.7.tar.gz
Algorithm Hash digest
SHA256 a51035c8f23134046873326afbc8d14b0b1d12d3c74fe03b36cf55a5cb1509ab
MD5 5b57ed9b7447a97f0154279e94edba4a
BLAKE2b-256 bd1149a734155b217a75eaa4a3497a573100bf85d7297a617b0565677cd5fea7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 150.4 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.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f9ccba73a990ca598baaf441480a43e215261a56f10511e30cdea4633dbb46e3
MD5 0599f3e9eab67632f76340b89e92a38c
BLAKE2b-256 a1209b9d27df69642bb920005ec82674fc2cd0b2a8e21ba73f0616fad6d08c78

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb75f3a888a68b19189544f1dd779b09d355b3242445a627b5174a76dddc6b38
MD5 1124d5a296737d1d4aaf75b3d2116ae9
BLAKE2b-256 ace690aab127b2952ed092bcfcdd42a0e1df616a4eddd45548945a8d36b9ea45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92ad2eccb84167980cdcf82e9af57d259aa8fda23f8b9ea3560480e2bd451be6
MD5 146fab372a62094aa58c8e18a0e46f77
BLAKE2b-256 aa1887db439fd9ac0bab1d1254d99f2151e800ba7184c7b5ac280bdec30bfeb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1828945cae43ed5c0c6972add00d987d8e5d7bb3de6a2b08bb7be85bdef462e
MD5 ff83912ddfb1f2ddc90545f55fd1f444
BLAKE2b-256 66e47d0b1a7cbf9446c846fe8c6a261fac16d85ad9f31bad743e71098d359f5c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9ce382a6f0c72a4ea966faa616b14598cd455f9caa4911496b83ab2bd4c2d121
MD5 32dc001146840ef45f73885a13a75257
BLAKE2b-256 fe6c898a4b2d584fbe74b0a2765f12dab54d2b81bfe351160798f3aa79d31231

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.7-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.7.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 be302a3755abed7cb465dca82b7280c14bf6fad28b7c18cdac3526761eed3534
MD5 2b600f2afb9cc0499fdf8986e5e3bd7c
BLAKE2b-256 a95601c5766d8b57c876803b3bb993cdfddd4e2f9dc0f7064247d725fd3c96fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7b7547c6fd0c01d635d7a28f5f734b5a88925c562b108ba555a8b01ed1c1a4a
MD5 284dcadfbcc20fb8cea4db73d4bebc7b
BLAKE2b-256 c81220764e2b1e52ddbcd9023a69fcac7f530aca89d1aa41e6dfcd727409c138

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 739e0f189e719fcb3828d85a47b6364a94728ef0f6253b905b02fce3abee43b7
MD5 41d76ef54d0d84494d6c5bf23296b9fb
BLAKE2b-256 6d0a945d3e804794f238cfbf3e840b4d391c16e17dd6b6df079bc1500f530212

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 412128636446d52d75862f279be911a4dbeb725c0dc421270710626544eeeda0
MD5 4f83cd2066dbcbc9e41d6dac2d335a77
BLAKE2b-256 9141f217f174e0962d28fee9564448de48005693d2b30cad2bbe49869211181c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 65a647f65b1f54a58a248a4536c01b597ea413ff89e00458102a42247c70dc33
MD5 56e2fc30a586fff61d581dc2db744341
BLAKE2b-256 ee3b50f6f3c8f7966559c8691d8baf708574c4f759324b4e7a36e8fdc8a64733

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 150.9 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.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bf590d80bc1a4828644cba2d89357ad155178437bdb497606bc1e6a13e4f7e99
MD5 86b201ce5b362b3966bdc8711ee062c3
BLAKE2b-256 cb0bb78cbbd3a3e027245830981fcf82bcf418970b2e078e524927b99ca0509c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 607bb8c89e96d473c701a5b056dd606a344a7685e93d869a01da33698c1b843a
MD5 347de90e6397b49ff1a8060f1a7697f3
BLAKE2b-256 815b56d274c044a4515dce2577c6f2c6a0fbfc9e6d193a1213dddc0d0508d962

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 08ba5cd85ba88f85ddae0cb05fde56c954b7b4077cd087bf8bd36236d2467cb9
MD5 6c9aacbb669859e9943fc700fd3b0ee5
BLAKE2b-256 5242218854f25f613367b4b5ca6cde612c14469f6cd6c17ee11559b251ce0966

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6489167af892a89aaa439fa3d05ae6e09938abcac1ab135c6a913aab7670ec07
MD5 ee209a102e9a122ea735d0c511e78160
BLAKE2b-256 1b7adc0bd70bdd45b9ef8a4c2078a508009a08bf9b360bc9094db03ea73364b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 85b7c2307ea3d4e0337600323e0d6d7e73897ac98d11dca045d62ae652cbc31c
MD5 faa5289cf3a54d805f6172097292d04d
BLAKE2b-256 6e33539629d0e656de0729fa4a6d9f3dba74c62a58dc29043d85dbada57786de

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: simple_rdp-0.7.7-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.7.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9fbe7326cb1f4b2abae350d5c180e0f8f9150b6736bdf75543973f9932d6472b
MD5 871098cd81f70c48487f62a76ace5866
BLAKE2b-256 023044c40ccc5e6b1ce8cf48b8bb37db50373cdfa80ac05264eb0170038c8775

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5bfe34227d4db480bd00106e344a67c1cdbc6a65e1522aed8b29e936bee3219f
MD5 dc768ad9e784aa8e9496ef0425ce9c16
BLAKE2b-256 27545b55457d49c21e9e16fd034ae7eedee78fdbcc0f414932ec47ecef75fc1d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3cf82a906302cfce99e1066534342318c120e1c68119f86dc0df6009c03cf549
MD5 832d6d11c76fe067d3e05b15cb3fe63d
BLAKE2b-256 f3dbb74e0be94c703f01b6cf1a590957646d43f9f67646994be0bba761f16f74

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c3dfef2eaab47f0a1c4b0a3ccf3a6bb34e9cf2b0016651fad64e101782a5178
MD5 14c798a5995dcb289019cec262c9dcfa
BLAKE2b-256 3ce9e4c52a654effdf358cfd7a0ded99fc92f426928bf0d71c1da637e0609c31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_rdp-0.7.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a9062da3e72daf4cc58de167c15b1a20b7240bb4315004db4df69630a63dff34
MD5 86270e1efa1f873df1c68b503fa819c2
BLAKE2b-256 d2303cdede5b21ce66c19ff841e545ee6abd1c9b60fa0e5472236ce805f7ab78

See more details on using hashes here.

Provenance

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