Skip to main content

A comprehensive terminal emulator library in Rust with Python bindings - supports true color, alt screen, mouse reporting, bracketed paste, and full Unicode

Project description

Par Term Emu Core Rust

PyPI Crates.io PyPI - Python Version Runs on Linux | MacOS | Windows Arch x86-64 | ARM | AppleSilicon PyPI - Downloads Crates.io Downloads PyPI - License

A comprehensive terminal emulator library written in Rust with Python bindings for Python 3.12+. Provides VT100/VT220/VT320/VT420/VT520 compatibility with PTY support, matching iTerm2's feature set.

"Buy Me A Coffee"

What's New in 0.9.1

  • Theme Rendering Fix: Fixed theme color palette application in Python bindings
    • Colors now properly use configured ANSI palette instead of hardcoded defaults
    • Affects get_visible_lines() method in PtyTerminal
    • Ensures theme colors are consistently rendered across all output methods

What's New in 0.9.0

  • Graphics Protocol Support: Comprehensive multi-protocol graphics implementation

    • iTerm2 Inline Images (OSC 1337): PNG, JPEG, GIF support with base64 encoding
    • Kitty Graphics Protocol (APC G): Advanced image placement with reuse and animations
    • Sixel Graphics: Enhanced with unique IDs and configurable cell dimensions
    • Unified GraphicsStore with scrollback support and memory limits
    • Animation support with frame composition and timing control
    • Graphics dropped event tracking for resource management
  • Pre-built Streaming Server Binaries: Download ready-to-run binaries from GitHub Releases

    • Linux (x86_64, ARM64), macOS (Intel, Apple Silicon), Windows (x86_64)
    • No compilation needed - just download and run
    • Includes separate web frontend package (tar.gz/zip) for serving the terminal interface
    • Published to crates.io for Rust developers: cargo install par-term-emu-core-rust --features streaming

See CHANGELOG.md for complete version history.

Features

Core Terminal Emulation

  • VT100/VT220/VT320/VT420/VT520 Support - Comprehensive terminal emulation matching iTerm2
  • Rich Color Support - 16 ANSI colors, 256-color palette, 24-bit RGB (true color)
  • Text Attributes - Bold, italic, underline (5 styles), strikethrough, blink, reverse, dim, hidden
  • Advanced Cursor Control - Full VT cursor movement and positioning
  • Line/Character Editing - VT220 insert/delete operations
  • Rectangle Operations - VT420 fill/copy/erase/modify rectangular regions (DECFRA, DECCRA, etc.)
  • Scrolling Regions - DECSTBM for restricted scrolling areas
  • Tab Stops - Configurable tab stops (HTS, TBC, CHT, CBT)
  • Unicode Support - Full Unicode including emoji and wide characters

Modern Features

  • Alternate Screen Buffer - Full support with automatic cleanup
  • Mouse Support - Multiple tracking modes and encodings (X10, Normal, Button, Any, SGR, URXVT)
  • Bracketed Paste Mode - Safe paste handling
  • Focus Tracking - Focus in/out events
  • OSC 8 Hyperlinks - Clickable URLs in terminal (full TUI support)
  • OSC 52 Clipboard - Copy/paste over SSH without X11
  • OSC 9/777 Notifications - Desktop-style alerts and notifications
  • Shell Integration - OSC 133 (iTerm2/VSCode compatible)
  • Kitty Keyboard Protocol - Progressive keyboard enhancement with auto-reset on alternate screen exit
  • Synchronized Updates (DEC 2026) - Flicker-free rendering
  • Tmux Control Protocol - Control mode integration support

Graphics Support

  • Sixel Graphics - DEC VT340 compatible bitmap graphics with half-block rendering
  • iTerm2 Inline Images - OSC 1337 protocol for PNG, JPEG, GIF images
  • Kitty Graphics Protocol - APC G protocol with image reuse, animations, and advanced placement
  • Unicode Placeholders - Virtual placements insert U+10EEEE characters for inline image display
  • Unified Graphics Store - Protocol-agnostic storage with scrollback support
  • Animation Support - Frame-based animations with timing and composition control
  • Resource Management - Configurable memory limits and graphics dropped tracking

PTY Support

  • Interactive Shell Sessions - Spawn and control shell processes
  • Bidirectional I/O - Send input and receive output
  • Process Management - Start, stop, and monitor child processes
  • Dynamic Resizing - Resize with SIGWINCH signal
  • Environment Control - Custom environment variables and working directory
  • Event Loop Integration - Non-blocking update detection
  • Cross-Platform - Linux, macOS, and Windows via portable-pty

Terminal Streaming (WebSocket)

  • Standalone Server - Pure Rust streaming server binary (no Python required)
  • Real-time Streaming - Sub-100ms latency terminal streaming over WebSocket
  • Multiple Clients - Support for concurrent viewers per session
  • Authentication - Optional API key authentication (header or URL param)
  • Configurable Themes - Multiple built-in color themes (iTerm2, Monokai, Dracula, Solarized)
  • Auto-resize - Client-initiated terminal resizing with SIGWINCH support
  • Browser Compatible - Works with any WebSocket client (xterm.js recommended)
  • Modern Web Frontend - Next.js/React application with Tailwind CSS v4 and xterm.js

Screenshots and Export

  • Multiple Formats - PNG, JPEG, BMP, SVG (vector), HTML
  • Embedded Font - JetBrains Mono bundled - no installation required
  • Programming Ligatures - =>, !=, >=, and other code ligatures
  • True Font Rendering - High-quality antialiasing for raster formats
  • Color Emoji Support - Full emoji rendering with automatic font fallback
  • Session Recording - Record/replay sessions (asciicast v2, JSON)
  • Export Functions - Plain text, ANSI styled, HTML export

Macro Recording and Playback

  • YAML Format - Human-readable macro storage format
  • Friendly Key Names - Intuitive key combinations (ctrl+shift+s, enter, f1, etc.)
  • Keyboard Events - Record and replay keyboard input with precise timing
  • Delays - Control timing between events
  • Screenshot Triggers - Trigger screenshots during playback
  • Playback Controls - Play, pause, resume, stop, and speed control
  • Macro Library - Store and manage multiple macros
  • Recording Conversion - Convert terminal recording sessions to macros

Utility Functions

  • Text Extraction - Smart word/URL detection, selection boundaries, bracket matching
  • Content Search - Find text with case-sensitive/insensitive matching
  • Buffer Statistics - Memory usage, cell counts, graphics count and memory tracking
  • Color Utilities - 18+ color manipulation functions (iTerm2-compatible)
    • NTSC brightness, contrast adjustment, WCAG accessibility checks
    • Color space conversions (RGB, HSL, Hex, ANSI 256)
    • Saturation/hue adjustment, color mixing

Documentation

Installation

From PyPI

uv add par-term-emu-core-rust
# or
pip install par-term-emu-core-rust

From Source

Requires Rust 1.75+ and Python 3.12+:

# Install maturin (build tool)
uv tool install maturin

# Build and install
maturin develop --release

Building a Wheel

maturin build --release
uv add --find-links target/wheels par-term-emu-core-rust
# or
pip install target/wheels/par_term_emu_core_rust-*.whl

Using as a Rust Library

The library can be used in pure Rust projects without Python. Choose your feature combination:

Use Case Cargo.toml What's Included
Rust Only par-term-emu-core-rust = { version = "0.9.1", default-features = false } Terminal, PTY, Macros
Rust + Streaming par-term-emu-core-rust = { version = "0.9.1", default-features = false, features = ["streaming"] } + WebSocket/HTTP server
Python Only par-term-emu-core-rust = "0.9.1" + Python bindings
Everything par-term-emu-core-rust = { version = "0.9.1", features = ["full"] } All features

Download pre-built streaming server (recommended):

Pre-built binaries and web frontend packages are available from GitHub Releases:

# Download binary (Linux example)
wget https://github.com/paulrobello/par-term-emu-core-rust/releases/latest/download/par-term-streamer-linux-x86_64
chmod +x par-term-streamer-linux-x86_64

# Download web frontend
wget https://github.com/paulrobello/par-term-emu-core-rust/releases/latest/download/par-term-web-frontend-v0.9.1.tar.gz
tar -xzf par-term-web-frontend-v0.9.1.tar.gz -C ./web_term

# Run
./par-term-streamer-linux-x86_64 --web-root ./web_term

Available binaries: Linux (x86_64, ARM64), macOS (Intel, Apple Silicon), Windows (x86_64)

Or install from crates.io:

cargo install par-term-emu-core-rust --features streaming

Or build from source:

cargo build --bin par-term-streamer --no-default-features --features streaming --release
./target/release/par-term-streamer --help

See docs/RUST_USAGE.md for detailed Rust API documentation and examples.

Optional Components

Terminfo Installation

For optimal terminal compatibility, install the par-term terminfo definition:

# Install for current user
./terminfo/install.sh

# Or install system-wide
sudo ./terminfo/install.sh --system

# Then use
export TERM=par-term
export COLORTERM=truecolor

See terminfo/README.md for details.

Shell Integration

Enhances terminal with semantic prompt markers, command status tracking, and smart selection:

cd shell_integration
./install.sh  # Auto-detects bash/zsh/fish

See shell_integration/README.md for details.

Quick Start

Basic Terminal Emulation

from par_term_emu_core_rust import Terminal

# Create terminal
term = Terminal(80, 24)

# Process ANSI sequences
term.process_str("Hello, \x1b[31mWorld\x1b[0m!\n")
term.process_str("\x1b[1;32mBold green text\x1b[0m\n")

# Get content and cursor position
print(term.content())
col, row = term.cursor_position()
print(f"Cursor at: ({col}, {row})")

PTY (Interactive Shell)

from par_term_emu_core_rust import PtyTerminal
import time

# Create PTY terminal and spawn shell
with PtyTerminal(80, 24) as term:
    term.spawn_shell()

    # Send commands
    term.write_str("echo 'Hello from shell!'\n")
    time.sleep(0.2)

    # Get output
    print(term.content())

    # Resize terminal
    term.resize(100, 30)

    # Exit shell
    term.write_str("exit\n")
# Automatic cleanup

Screenshots

term = Terminal(80, 24)
term.process_str("\x1b[1;31mHello, World!\x1b[0m\n")

# Save screenshot
term.screenshot_to_file("output.png")
term.screenshot_to_file("output.svg", format="svg")  # Vector graphics!
term.screenshot_to_file("output.html", format="html")  # Styled HTML

# Custom configuration
term.screenshot_to_file(
    "output.png",
    font_size=16.0,
    padding=20,
    include_scrollback=True,
    minimum_contrast=0.5  # iTerm2-compatible contrast adjustment
)

Color Utilities

from par_term_emu_core_rust import (
    perceived_brightness_rgb, adjust_contrast_rgb,
    contrast_ratio, meets_wcag_aa,
    rgb_to_hex, hex_to_rgb, mix_colors
)

# iTerm2-compatible contrast adjustment
adjusted = adjust_contrast_rgb((64, 64, 64), (0, 0, 0), 0.5)

# WCAG accessibility checks
ratio = contrast_ratio((0, 0, 0), (255, 255, 255))
print(f"Contrast ratio: {ratio:.1f}:1")
print(f"Meets WCAG AA: {meets_wcag_aa((0, 0, 0), (255, 255, 255))}")

# Color conversions
hex_color = rgb_to_hex((255, 128, 64))  # "#FF8040"
rgb = hex_to_rgb("#FF8040")  # (255, 128, 64)
mixed = mix_colors((255, 0, 0), (0, 0, 255), 0.5)  # Purple

Macro Recording and Playback

from par_term_emu_core_rust import Macro, PtyTerminal
import time

# Create a macro manually
macro = Macro("git_status")
macro.set_description("Check git status and show branch")
macro.add_key("g")
macro.add_key("i")
macro.add_key("t")
macro.add_key("space")
macro.add_key("s")
macro.add_key("t")
macro.add_key("a")
macro.add_key("t")
macro.add_key("u")
macro.add_key("s")
macro.add_key("enter")
macro.add_delay(500)  # Wait 500ms
macro.add_screenshot("git_status.png")  # Trigger screenshot

# Save to YAML
macro.save_yaml("git_status.yaml")

# Load and play back
term = PtyTerminal(80, 24)
term.spawn_shell()

# Load macro from file
loaded_macro = Macro.load_yaml("git_status.yaml")
term.load_macro("git_check", loaded_macro)

# Play the macro
term.play_macro("git_check", speed=1.0)  # Normal speed

# Tick to execute macro events
while term.is_macro_playing():
    if term.tick_macro():  # Returns True if event was processed
        time.sleep(0.01)  # Small delay for visual effect

    # Check for screenshot triggers
    triggers = term.get_macro_screenshot_triggers()
    for label in triggers:
        term.screenshot_to_file(label)

# Convert a recording to a macro
term.start_recording("test session")
term.write_str("ls -la\n")
time.sleep(0.5)
session = term.stop_recording()

# Convert and save
macro = term.recording_to_macro(session, "ls_command")
macro.save_yaml("ls_command.yaml")

Examples

See the examples/ directory for comprehensive examples:

Basic Examples

  • basic_usage_improved.py - Enhanced basic usage
  • colors_demo.py - Color support
  • cursor_movement.py - Cursor control
  • text_attributes.py - Text styling
  • unicode_emoji.py - Unicode/emoji support
  • scrollback_demo.py - Scrollback buffer usage

Advanced Features

  • alt_screen.py - Alternate screen buffer
  • mouse_tracking.py - Mouse events
  • bracketed_paste.py - Bracketed paste
  • synchronized_updates.py - Flicker-free rendering
  • shell_integration.py - OSC 133 integration
  • test_osc52_clipboard.py - SSH clipboard
  • test_kitty_keyboard.py - Kitty keyboard protocol
  • hyperlink_demo.py - Clickable URLs
  • notifications.py - Desktop notifications
  • rectangle_operations.py - VT420 rectangle ops

Graphics and Export

  • display_image_sixel.py - Sixel graphics
  • test_sixel_simple.py - Simple sixel examples
  • test_sixel_display.py - Advanced sixel display
  • screenshot_demo.py - Screenshot features
  • feature_showcase.py - Comprehensive TUI showcase

PTY Examples

  • pty_basic.py - Basic PTY usage
  • pty_shell.py - Interactive shells
  • pty_resize.py - Dynamic resizing
  • pty_event_loop.py - Event loop integration
  • pty_mouse_events.py - Mouse in PTY
  • pty_custom_env.py - Custom environment variables
  • pty_multiple.py - Multiple PTY sessions
  • pty_with_par_term.py - Integration with par-term

Terminal Streaming

  • streaming_demo.py - Python WebSocket streaming server
  • streaming_client.html - Browser-based terminal client

Macros and Automation

  • demo.yaml - Example macro definition

Standalone Rust Server:

# Build and run (default: ws://127.0.0.1:8080)
make streamer-run

# Run with authentication
make streamer-run-auth

# Or use cargo directly
cargo build --bin par-term-streamer --no-default-features --features streaming --release
./target/release/par-term-streamer --port 8080 --theme dracula

# With authentication
./target/release/par-term-streamer --api-key my-secret --theme monokai

# Install globally
make streamer-install
par-term-streamer --help

Available Themes: iterm2-dark, monokai, dracula, solarized-dark

Web Terminal Frontend

Using Pre-built Package (Recommended):

Download the pre-built static web frontend from GitHub Releases:

# Download and extract
wget https://github.com/paulrobello/par-term-emu-core-rust/releases/latest/download/par-term-web-frontend-v0.9.1.tar.gz
tar -xzf par-term-web-frontend-v0.9.1.tar.gz -C ./web_term

# Run streamer with web frontend
par-term-streamer --web-root ./web_term
# Open browser to http://localhost:8080

See web_term/README.md for detailed usage instructions.

Building from Source:

A modern Next.js-based web terminal frontend source is in web-terminal-frontend/:

cd web-terminal-frontend

# Install dependencies
npm install

# Development server (runs on port 8030)
npm run dev

# Build for production (outputs to out/)
npm run build

# Copy to web_term for serving
cp -r out/* ../web_term/

Features:

  • Modern UI with Tailwind CSS v4
  • xterm.js terminal emulator
  • WebSocket connection to streaming server
  • Theme selection and synchronization
  • Responsive design
  • Terminal resize support

See web-terminal-frontend/README.md for detailed setup and configuration.

TUI Demo Application

A full-featured TUI (Text User Interface) application is available in the sister project par-term-emu-tui-rust.

TUI Demo Application

Installation: uv add par-term-emu-tui-rust or pip install par-term-emu-tui-rust

GitHub: https://github.com/paulrobello/par-term-emu-tui-rust

Technology

  • Rust (1.75+) - Core library implementation
  • Python (3.12+) - Python bindings
  • PyO3 - Zero-cost Python/Rust bindings
  • VTE - ANSI sequence parsing
  • portable-pty - Cross-platform PTY support

Running Tests

# Run Rust tests
cargo test

# Run Python tests
uv sync  # Install dependencies including pytest
pytest tests/

Performance

  • Zero-copy operations where possible
  • Efficient grid representation
  • Fast ANSI parsing with VTE crate
  • Minimal Python/Rust boundary crossings

See docs/ARCHITECTURE.md for implementation details.

Security

When using PTY functionality, follow security best practices to prevent command injection and other vulnerabilities.

See docs/SECURITY.md for comprehensive security guidelines.

Contributing

Contributions are welcome! Please submit issues or pull requests on GitHub.

Development Setup

git clone https://github.com/paulrobello/par-term-emu-core-rust.git
cd par-term-emu-core-rust
make setup-venv  # Create virtual environment
make pre-commit-install  # Install pre-commit hooks (recommended)
make dev  # Build library
make checkall  # Run all quality checks

Code Quality

All contributions must pass:

  • Rust formatting (cargo fmt)
  • Rust linting (cargo clippy)
  • Python formatting (make fmt-python)
  • Python linting (make lint-python)
  • Type checking (pyright)
  • Tests (make test-python)

TIP: Use make pre-commit-install to automate all checks on every commit!

See CLAUDE.md for detailed development instructions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Paul Robello - probello@gmail.com

Links

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

par_term_emu_core_rust-0.9.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

par_term_emu_core_rust-0.9.1-cp314-cp314-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.14Windows x86-64

par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.5 MB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

par_term_emu_core_rust-0.9.1-cp313-cp313-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.13Windows x86-64

par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

par_term_emu_core_rust-0.9.1-cp312-cp312-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.12Windows x86-64

par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file par_term_emu_core_rust-0.9.1.tar.gz.

File metadata

  • Download URL: par_term_emu_core_rust-0.9.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for par_term_emu_core_rust-0.9.1.tar.gz
Algorithm Hash digest
SHA256 74c3d322241eff67046b028a78387ae37f0fb309e4b881818e0a38bb1c70b476
MD5 41b67b0c1ac2f6049ac8073d95aa2912
BLAKE2b-256 6fa820e0d3424bad5766f829fdc0388dd42793cba0448726ec7f75bb6f43aac5

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1.tar.gz:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fa9a1b54c6385ecc0987e22e6a2dca1b493c56927764341436e79a05421d5d18
MD5 15c76d90db49bb5137f4d09c1557a7eb
BLAKE2b-256 50dbf022fc6dec5cf231dcc94e3f515d31b47b89e7c3bc662b97f13dbdcb15bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp314-cp314-win_amd64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04e14b19debb527d86a57111e66512a872b8850db7ba139248c83ebef2758e24
MD5 9369a536f5d5ab9c9e50fd603140c248
BLAKE2b-256 a13c7ce35dc57a477656c240886b426713160af8b9ece639b349c21a6c6600c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9b2315ae47d5f1035401ddc14ee9dbb2141ca29cc3f79e5a108cfbddbf72c2d9
MD5 1a2a5c6b00462e39641e24d71eaa935c
BLAKE2b-256 85b0ec57218e7b0181b1212b835df84e1e5d17bd69d2ab650ea578952a583a35

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7cff230149811d1bfb1fd636f709fb11e508a1ad318a5bf24f460635514ad7a
MD5 75ada802bba7bbd748617123e277923b
BLAKE2b-256 1490f00d13d1001d80170004890df0bb7a1959a0e738c0f2eb87b46b28734f31

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 c14f9f38fd106af086cc9e7866fc9ad649c32b3fd4ae9e679cbcb9f96cfd4bac
MD5 b882588483d6b3240dd76f357d7d5b1c
BLAKE2b-256 2340b696ef939674df1012533b06d8e3a839cde26e7e487eca3d4c252edab128

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c2970056ff6ac8dd5ef0c7a1bb52168cdb8cce26e680410d314a74feb34c5203
MD5 9658f27d0e4678ebc5af01cc4184b448
BLAKE2b-256 21623a109927c955e4830c8c3c585875117be15a04d255f1d878a4331e45439c

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp313-cp313-win_amd64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4957560d4e580c3dacb8b50dfc6051943ae311552b9c04606aadc8b98f64689c
MD5 49ff2dc906fe7de543e8e048134ee87f
BLAKE2b-256 59d0f3ddb85559de88b9ebee023ff8bddefe816f63c891ba6d87f5b5906fb75c

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 364e633153a11587747cf7c689567d3de2fb07590c3719a0498338fe7989bd72
MD5 312a364fc944860bf96680947ddf59a3
BLAKE2b-256 8e29adda8894ff24c8518ed33e22868084ec8f3d70cc1ca3077bf3b91453b4b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c3f1e8ffb9ac7cad1d7974336c7bb2f4db9c841c65252334be0922208d428ef
MD5 25255ee43cfa9e6b1eec29b89bfda0b6
BLAKE2b-256 c46fd6b942868af562862002ca3e01aff566844a3a7859985560791449d3f048

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 5784556c34ace3c5e11a4db35d957f372e1625d6d16c8c5bfdb91c0be3ce86f2
MD5 a72eb1f0069d1389c39cd2ead0ef92c3
BLAKE2b-256 69bcf3c77ab844d69caa8a4f18cfdb545043f49762fd8771a4edf6e04d419ad1

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2c798a32d7d53d6ab2f0fb5121690ae2e82d063991888eb181f93316d9b1a424
MD5 1c3140053b95c6256ebc0b270be9307d
BLAKE2b-256 dc184da635169d4633d6f9b50f2c77a14415cf010fddbc1b714da7231d48c333

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp312-cp312-win_amd64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5eac2282d133970d65557e0c15e82ad812c97ddb3f9e3dfa96b807b97748029c
MD5 c39bd1c454a3c0c6790571ed701db658
BLAKE2b-256 dc6ecaf7c25b9c18f08b293f30fd8428a4b29393fd25571d429631832a11777a

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9614f0a35cfd1a1f888b99ba9b2e31a53576952b016a3b98b256300b3996ca77
MD5 60f95d8d485ce9e40535de2edc0deb94
BLAKE2b-256 04a4766b66acdc58f81d54106bbc002b5c7b18cce719c62f2003bce74a7d0b18

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c2f7ad8196eeced4cc966501432c419f0bce4972f5bf38553e8376499f46fcdd
MD5 cbff430b3a27debcea57b2f9fd334d9a
BLAKE2b-256 de1fe2e921a8cc5a96595b4011808af430cb453340cfc57c48b9c12a2d2f7df5

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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

File details

Details for the file par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 b3be9aeca01bb9b821b0073e93a005ae7b546d84aec4308ca319edf06736901a
MD5 4f477208e427f987be1dcd5610bb2dc9
BLAKE2b-256 357cd32af37a6261af20220a74ad981149dd5340207e58ade1172f92874ef8fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for par_term_emu_core_rust-0.9.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: deployment.yml on paulrobello/par-term-emu-core-rust

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