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

Uploaded CPython 3.14Windows x86-64

simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.1-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.1-cp314-cp314-macosx_11_0_arm64.whl (245.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

simple_rdp-0.7.1-cp314-cp314-macosx_10_12_x86_64.whl (254.3 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

simple_rdp-0.7.1-cp313-cp313-win_amd64.whl (150.9 kB view details)

Uploaded CPython 3.13Windows x86-64

simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (263.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.1-cp313-cp313-macosx_11_0_arm64.whl (245.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simple_rdp-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl (254.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

simple_rdp-0.7.1-cp312-cp312-win_amd64.whl (151.1 kB view details)

Uploaded CPython 3.12Windows x86-64

simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simple_rdp-0.7.1-cp312-cp312-macosx_11_0_arm64.whl (245.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simple_rdp-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl (254.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

simple_rdp-0.7.1-cp311-cp311-win_amd64.whl (152.7 kB view details)

Uploaded CPython 3.11Windows x86-64

simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simple_rdp-0.7.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (245.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simple_rdp-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl (254.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: simple_rdp-0.7.1.tar.gz
  • Upload date:
  • Size: 442.8 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.1.tar.gz
Algorithm Hash digest
SHA256 6c50cdee6fc3f196c5103a8400d7071de265a9226bf7c22a074158f05b3011c9
MD5 35062f56c14b72b7f622a42ce0911f59
BLAKE2b-256 c9ed2718bea839c498923175cc68a650e287951f680f647ada74b42c81fe9ba5

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1.tar.gz:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.7.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 150.6 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8e01d0bc4c28e60211ce4eccc34e244b0a8cf9ba279c5bce6020a5b9b74f6542
MD5 2165c8366107cf7f373cab70d17f3b00
BLAKE2b-256 92d8208fe7b7af603c2ad8125ae122e13013c276610266a94ef16fe4433c372e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp314-cp314-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 818299a79932aae34d869fe037bb7cabfc6ec09a49e7bdae728d493873e88a6e
MD5 4c47791313985ea1dca7ee0175244b3a
BLAKE2b-256 43ba74eb812611bc20e96c569e6ba953b0e68f6b1fa1cab5fb03f06de007891e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b2091f46d7414554fe7d86379f5435464ed2ddc9d970c8b0436ade468d26d17
MD5 b5c8669ddfe3c856ab67406405bee3dc
BLAKE2b-256 3bfd8082151b4ea4e85dbadeaf19562c750db19893d526bf8377dcb614491da9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38e31d6ac4eee5eeeaf4ff0e4d927d4e789874aabc5aee3f8b48bf0911db88ac
MD5 e3a0b8861366b1608db214862272d8f0
BLAKE2b-256 1eb6a9c9aeeb2f72da2c59ec528b2b2d4b8c91cbea12d549abe874b38032eaaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 05e677b6f0b006777ce19c789d11e70fa4b46cb7b436bb3f496454493c31089c
MD5 7df4b2a5e24c11487026be47962e1ef2
BLAKE2b-256 a50d63b95a3235c2054b7aa3a481bbc998dd4d423e242d73c8c8892efc6ab90a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.7.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 150.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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 470f8ac595831908b5c5884974e211b1c71e37bbcdb8c3276b56a39c33755ec1
MD5 3bd564a66307114f6d634f997b82f297
BLAKE2b-256 0d4e1882162e72b6086b7ae9c10a54f224322ae832bab80c514875b553dfe1e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp313-cp313-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8833ba577472dd4186ee5c504531603064257227ed16ca9047010aad1a88251
MD5 d084ccefc2e9ae981ecfb07610b691f1
BLAKE2b-256 97851e13424d5240702baf936d2f9ecdc06edac151dabef3f537960b5579af7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30f5c98511eaf5022035ad35d0c11ff682d5910d6702eecb6a9a8404bea149ed
MD5 dc412aa3759983c39c1dce161298f237
BLAKE2b-256 e8ebebdff841c8768fdbd396c15d650d9ee684bd23e2f6e86ef24366f7f4c79f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abd5c0b73724f7b2a4cfac32cf40081a7699ea128b6a8b1be65bd79f591aff9f
MD5 39c6748458d3595b10b642e89b0d20de
BLAKE2b-256 2de8e8e7323dce6261f0e82d8429d52d07c8c2f9d11b0945e7cf2d4d084a5bdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9e3b7557bfcf278cc40af5c5b21ab7385ee87667624aa9f7c6ea4a737234d608
MD5 cfc6783dfb2732e9ab67260b5a0f40f2
BLAKE2b-256 a32cd739f6fa745a1f09c1c3f01cc802430053b9d96ae4c58dc74e322514d000

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.7.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 151.1 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e85c44b82871e580c8d0ca1644d949fa059dde6b22feef777e2df34029644af4
MD5 e12c973fe1579cc6313ca1526e18bcc1
BLAKE2b-256 e8d5006e0dbe450447da416e24e6944a6253b0612d8ceb8173eae6e278527f6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp312-cp312-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 667900e2dc398781f01e8d78b9c19f54844cfd40e59a5a0d8e9b026e73fe685e
MD5 f0d57e78ba9f43d85c861dbd8a5562bc
BLAKE2b-256 747a765c984e18be4be6156d298f9113c5afb169aa6b39f76df0a4cce5a4dc49

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d51242e1af7d74b5b80e4d1596db79b83b0067c6f36c0a12eb9df37955b4f7cb
MD5 45fa71a9b581ea6f6f2275da47a944ea
BLAKE2b-256 ad3ac24e95630a148f1ebc2396f4b14b8b1de23a0c142306478798cba2d7667d

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 516039ffbc64b1bddacb35bca6014fa93b248ce64867049a0587ab69ac9019ab
MD5 63fbc4154cd2d7edf473157a8c62cef0
BLAKE2b-256 e44121131b1eccfc942191de7ee79888bef7759f3a04686c4f695ace63aa815a

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3abef1a92d119f661c8ae8ff2905e03d3b89d6ad8c184f9415c3291e8ee1faf0
MD5 a915a04c5a75901702afe44cc4f284c1
BLAKE2b-256 fd86703eb931c4307e153186f29813cfdbfb5ca021ff6db27c4b37c6d14358e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: simple_rdp-0.7.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 152.7 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7b1d96c9b263b5f5018126f6a0c7e4f805d6d610f813dea7577f6997ffe5173a
MD5 c5f0ca916a50c97ee33a51dcba186c9f
BLAKE2b-256 cc926955f84d73d6d08155b7597b0520dd9a1656f4f7be68126e8e3d5bd3f21e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp311-cp311-win_amd64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0fa5f88788795a7acb15acc7b3dd2c68cbc944efcb38bcd4e87370911aba846a
MD5 a65f90781ba5f8e1d61a074e70a7fc89
BLAKE2b-256 268b519b4219f3e0c2a1c90922d71761a9c424f9efc6985aa2ff8ab0ed9e3a66

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 18b8039e41b930ef7631b43ce7a7e697d4c4fe83b604ac393e8e56322c5b30e4
MD5 a3a4a6dc36ae0bd4de39e810fa881821
BLAKE2b-256 668de17a04f4fbd3f2ee92be0df6121a7844a21928c98605b43684d852c84227

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cab81214af32bbb0bd71628df903365dd844628b5df2d46b427340f0c1808649
MD5 138982d778c94124786bcf3d4610db55
BLAKE2b-256 7a53eebb8a831fbac4313ad1f94d8c49253e5645293c9a6f153e9d2b1c3f6553

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_rdp-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for simple_rdp-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0d064cf762e4edfabb6296c14ed46d70e7d4b89abe6e4818a0702707b5ecb94b
MD5 c62c59a9e75d8be8312807cfff63f13f
BLAKE2b-256 a628d71801baf0509bbdab78009594da516d612a24228fd4250821ccf5d85ed7

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_rdp-0.7.1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: ci.yml on abi-jey/simple-rdp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page