Skip to main content

High-performance C++/Python engine for a triangle puzzle game.

Project description

CI Status codecov PyPI version License: MIT Python Version

Triangle Engine (trianglengin) v2.0.3

trianglengin logo

Version 2 introduces a high-performance C++ core for the game logic.

This library provides the core components for a triangle puzzle game, suitable for reinforcement learning agents or other applications requiring a fast game engine. Interactive play/debug modes are included.

It encapsulates:

  1. Core Game Logic (C++): High-performance implementation of environment rules, state representation, actions, placement validation, and line clearing. (src/trianglengin/cpp/README.md)
  2. Python Interface: A Python GameState wrapper providing a user-friendly API to interact with the C++ core. (src/trianglengin/game_interface.py)
  3. Configuration (Python/Pydantic): Models for environment settings (EnvConfig). (src/trianglengin/config/README.md)
  4. Utilities (Python): General helpers, geometry functions, shared types. (src/trianglengin/utils/README.md)
  5. UI Components (Python/Pygame/Typer): Basic visualization, interaction handling, and CLI for interactive modes. (src/trianglengin/ui/README.md)

๐ŸŽฎ The Ultimate Triangle Puzzle Guide ๐Ÿงฉ

(Game rules remain the same)

(... Game rules section remains unchanged ...)


Purpose

The primary goal is to provide a self-contained, installable library with a high-performance C++ core and a Python interface for the triangle puzzle game. This allows different RL agent implementations or other applications to build upon a consistent and fast game backend. The interactive UI is included but only initialized when running the specific UI commands.

Installation

Prerequisites:

  • A C++ compiler supporting C++17 (e.g., GCC, Clang, MSVC).
  • CMake (version 3.14 or higher).
  • Python (>= 3.10) and Pip.
# For standard use (once published or built):
pip install trianglengin>=2.0.3

# Building from source (requires compiler and CMake):
git clone https://github.com/lguibr/trianglengin.git
cd trianglengin
pip install .

(Note: pygame and typer will be installed as core dependencies).

Running Interactive Modes

After installing, you can run the interactive modes directly:

  • Play Mode:
    trianglengin play [--seed 42] [--log-level INFO]
    
  • Debug Mode:
    trianglengin debug [--seed 42] [--log-level DEBUG]
    

Local Development & Testing

These instructions are for developers contributing to trianglengin.

  1. Clone the Repository:

    git clone https://github.com/lguibr/trianglengin.git
    cd trianglengin
    
  2. Prerequisites: Ensure you have a C++17 compiler and CMake installed.

  3. Create and Activate Virtual Environment: (venv or conda)

    # Example using venv
    python -m venv venv
    source venv/bin/activate # or .\venv\Scripts\activate on Windows
    

    IMPORTANT: Ensure your virtual environment is activated.

  4. Install Build Dependencies: (Needed even for core dev)

    pip install pybind11>=2.10 cmake wheel
    
  5. Clean Previous Builds (Optional but Recommended):

    rm -rf build/ src/trianglengin.egg-info/ dist/ src/trianglengin/trianglengin_cpp.*.so src/trianglengin/trianglengin_cpp*.cpp
    
  6. Install in Editable Mode with Dev Dependencies:

    • Make sure your virtual environment is active!
    • Run from the project root directory:
      # Installs core, UI, and dev tools
      pip install -e '.[dev]'
      
      This command compiles the C++ extension and installs the Python package so changes are reflected immediately. It also installs development tools.
  7. Running Checks:

    • Make sure your virtual environment is active!
    • Tests & Coverage:
      pytest tests/ --cov=src/trianglengin --cov-report=xml
      
      (Coverage measures core Python code, excluding UI). To just run tests: pytest
    • Linting: ruff check .
    • Formatting: ruff format .
    • Type Checking: mypy src/trianglengin/ tests/
  8. Troubleshooting Build/Import Errors:

    • Ensure compiler and CMake are installed and in PATH.
    • Make sure the virtual environment is active before running pip install -e.
    • Clean previous builds (Step 5).
    • Check pyproject.toml and setup.py for correct configuration.
    • Verify Pybind11 version compatibility.

Project Structure (v2 - UI Included)

trianglengin/
โ”œโ”€โ”€ .github/workflows/      # GitHub Actions CI/CD
โ”‚   โ””โ”€โ”€ ci_cd.yml
โ”œโ”€โ”€ src/                    # Source root
โ”‚   โ””โ”€โ”€ trianglengin/       # Python package source
โ”‚       โ”œโ”€โ”€ __init__.py     # Exposes core public API (GameState, EnvConfig, Shape)
โ”‚       โ”œโ”€โ”€ game_interface.py # Python GameState wrapper class
โ”‚       โ”œโ”€โ”€ py.typed        # PEP 561 marker
โ”‚       โ”œโ”€โ”€ cpp/            # C++ Core Implementation ([src/trianglengin/cpp/README.md])
โ”‚       โ”‚   โ”œโ”€โ”€ CMakeLists.txt
โ”‚       โ”‚   โ”œโ”€โ”€ bindings.cpp
โ”‚       โ”‚   โ”œโ”€โ”€ config.h
โ”‚       โ”‚   โ”œโ”€โ”€ structs.h
โ”‚       โ”‚   โ”œโ”€โ”€ grid_data.h / .cpp
โ”‚       โ”‚   โ”œโ”€โ”€ grid_logic.h / .cpp
โ”‚       โ”‚   โ”œโ”€โ”€ shape_logic.h / .cpp
โ”‚       โ”‚   โ””โ”€โ”€ game_state.h / .cpp
โ”‚       โ”œโ”€โ”€ core/           # Core Python components (now minimal/empty)
โ”‚       โ”‚   โ””โ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ utils/          # General Python utilities ([src/trianglengin/utils/README.md])
โ”‚       โ”‚   โ””โ”€โ”€ ... (geometry.py, types.py)
โ”‚       โ”œโ”€โ”€ config/         # Core configuration models ([src/trianglengin/config/README.md])
โ”‚       โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚       โ”‚   โ””โ”€โ”€ env_config.py   # EnvConfig (Pydantic)
โ”‚       โ””โ”€โ”€ ui/             # UI Components ([src/trianglengin/ui/README.md])
โ”‚           โ”œโ”€โ”€ __init__.py # Exposes UI API (Application, cli_app, DisplayConfig)
โ”‚           โ”œโ”€โ”€ app.py      # Interactive mode application runner
โ”‚           โ”œโ”€โ”€ cli.py      # CLI definition (play/debug)
โ”‚           โ”œโ”€โ”€ config.py   # DisplayConfig (Pydantic)
โ”‚           โ”œโ”€โ”€ interaction/    # User input handling ([src/trianglengin/ui/interaction/README.md])
โ”‚           โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚           โ”‚   โ”œโ”€โ”€ event_processor.py
โ”‚           โ”‚   โ”œโ”€โ”€ input_handler.py
โ”‚           โ”‚   โ”œโ”€โ”€ play_mode_handler.py
โ”‚           โ”‚   โ””โ”€โ”€ debug_mode_handler.py
โ”‚           โ””โ”€โ”€ visualization/  # Pygame rendering ([src/trianglengin/ui/visualization/README.md])
โ”‚               โ”œโ”€โ”€ __init__.py
โ”‚               โ”œโ”€โ”€ core/       # Core vis components ([src/trianglengin/ui/visualization/core/README.md])
โ”‚               โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚               โ”‚   โ”œโ”€โ”€ colors.py
โ”‚               โ”‚   โ”œโ”€โ”€ coord_mapper.py
โ”‚               โ”‚   โ”œโ”€โ”€ fonts.py
โ”‚               โ”‚   โ”œโ”€โ”€ layout.py # NEW
โ”‚               โ”‚   โ””โ”€โ”€ visualizer.py
โ”‚               โ””โ”€โ”€ drawing/    # Drawing functions ([src/trianglengin/ui/visualization/drawing/README.md])
โ”‚                   โ”œโ”€โ”€ __init__.py
โ”‚                   โ”œโ”€โ”€ grid.py
โ”‚                   โ”œโ”€โ”€ highlight.py
โ”‚                   โ”œโ”€โ”€ hud.py
โ”‚                   โ”œโ”€โ”€ previews.py
โ”‚                   โ”œโ”€โ”€ shapes.py
โ”‚                   โ””โ”€โ”€ utils.py
โ”œโ”€โ”€ tests/                  # Unit/Integration tests (Python) ([tests/README.md])
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ conftest.py
โ”‚   โ””โ”€โ”€ core/environment/
โ”‚       โ””โ”€โ”€ test_game_state.py # Tests the Python GameState wrapper
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ pyproject.toml          # Build config, dependencies
โ”œโ”€โ”€ setup.py                # C++ Extension build script
โ”œโ”€โ”€ README.md               # This file
โ”œโ”€โ”€ LICENSE
โ””โ”€โ”€ MANIFEST.in

Core Components (v2)

  • trianglengin.cpp (C++ Core): Implements the high-performance game logic (state, grid, shapes, rules). Not directly imported in Python.
  • trianglengin.game_interface.GameState (Python Wrapper): The primary Python class for interacting with the game engine. It holds a reference to the C++ game state object and provides methods like step, reset, is_over, valid_actions, get_shapes, get_grid_data_np, get_outcome.
  • trianglengin.config.EnvConfig: Python Pydantic model for core environment configuration. Passed to C++ core during initialization.
  • trianglengin.utils: General Python utility functions and types. (src/trianglengin/utils/README.md)

UI Components (trianglengin.ui)

  • trianglengin.ui.config.DisplayConfig: Pydantic model for UI display settings.
  • trianglengin.ui.visualization: Python/Pygame rendering components. Uses data obtained from the GameState wrapper. (src/trianglengin/ui/visualization/README.md)
  • trianglengin.ui.interaction: Python/Pygame input handling for interactive modes. Interacts with the GameState wrapper. (src/trianglengin/ui/interaction/README.md)
  • trianglengin.ui.app.Application: Integrates UI components for interactive modes.
  • trianglengin.ui.cli: Command-line interface (trianglengin play/debug).

Contributing

Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository. Ensure that changes maintain code quality (pass tests, linting, type checking) and keep READMEs updated. Building requires a C++17 compiler and CMake.

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

trianglengin-2.0.4.tar.gz (57.5 kB view details)

Uploaded Source

Built Distributions

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

trianglengin-2.0.4-pp310-pypy310_pp73-win_amd64.whl (289.4 kB view details)

Uploaded PyPyWindows x86-64

trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (369.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

trianglengin-2.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl (162.0 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

trianglengin-2.0.4-cp313-cp313-win_amd64.whl (288.7 kB view details)

Uploaded CPython 3.13Windows x86-64

trianglengin-2.0.4-cp313-cp313-win32.whl (288.7 kB view details)

Uploaded CPython 3.13Windows x86

trianglengin-2.0.4-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

trianglengin-2.0.4-cp313-cp313-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

trianglengin-2.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

trianglengin-2.0.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (369.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

trianglengin-2.0.4-cp313-cp313-macosx_11_0_arm64.whl (163.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

trianglengin-2.0.4-cp312-cp312-win_amd64.whl (288.7 kB view details)

Uploaded CPython 3.12Windows x86-64

trianglengin-2.0.4-cp312-cp312-win32.whl (288.7 kB view details)

Uploaded CPython 3.12Windows x86

trianglengin-2.0.4-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

trianglengin-2.0.4-cp312-cp312-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

trianglengin-2.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

trianglengin-2.0.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (369.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

trianglengin-2.0.4-cp312-cp312-macosx_11_0_arm64.whl (163.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

trianglengin-2.0.4-cp311-cp311-win_amd64.whl (288.7 kB view details)

Uploaded CPython 3.11Windows x86-64

trianglengin-2.0.4-cp311-cp311-win32.whl (288.7 kB view details)

Uploaded CPython 3.11Windows x86

trianglengin-2.0.4-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

trianglengin-2.0.4-cp311-cp311-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

trianglengin-2.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

trianglengin-2.0.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (369.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

trianglengin-2.0.4-cp311-cp311-macosx_11_0_arm64.whl (163.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

trianglengin-2.0.4-cp310-cp310-win_amd64.whl (288.7 kB view details)

Uploaded CPython 3.10Windows x86-64

trianglengin-2.0.4-cp310-cp310-win32.whl (288.7 kB view details)

Uploaded CPython 3.10Windows x86

trianglengin-2.0.4-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

trianglengin-2.0.4-cp310-cp310-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

trianglengin-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

trianglengin-2.0.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (369.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

trianglengin-2.0.4-cp310-cp310-macosx_11_0_arm64.whl (161.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file trianglengin-2.0.4.tar.gz.

File metadata

  • Download URL: trianglengin-2.0.4.tar.gz
  • Upload date:
  • Size: 57.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trianglengin-2.0.4.tar.gz
Algorithm Hash digest
SHA256 d726cf642f4cd27663ea1abe1819bb96e8d67b9bd7eaa28be4a6f96ee6bc56dd
MD5 4ac05e298278dd5d6d23765ddb238ebf
BLAKE2b-256 a56421af3de630c084edaffc7e24559646e5a6e993d72fa54720b2b2af2ca3de

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4.tar.gz:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 f2d1d6df9d93e674309825bd858fcd8f909aa9c6e0f912d877deab0a4b98c43c
MD5 cb731dda3368bafb369feb1304a5d576
BLAKE2b-256 c9b9dfa749c06ba92931350152b78ef434c0f23e5562e3e53384ee34bc280cb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-pp310-pypy310_pp73-win_amd64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0fc958a7cb1ed10ad9e471743b7069b29345a5652f924285f61e8c3cb49b975
MD5 1c9c428b0fbc659600e19399e0ed64cf
BLAKE2b-256 ca28e29eed7799d0ee29161638f8002b7dd679c92f932f1c5af8434fe69bcc63

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f266a961dee341039d7c9dc77c3e406737248f43ea7c7b45b249124e49b2403b
MD5 e17bba027a5d929b092c5a8f56956745
BLAKE2b-256 fc9f28ac2e26a46aea83cdefd7e960cf8d7990c7a78361d83c6c886dd8f04e12

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce9a4aaf8cc1f68cb3a61d712f3e07dc2c548212ed3b5425ea856a43e71df755
MD5 ffc4fd314eebf26787def891d63fb2cb
BLAKE2b-256 9a3f45f4b22e4ab0796735d1c08ae9a18df3191134a690956aaa06b54c792f25

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 91336cd3374894f8ccd7dec62c7aaf94b702313e6a4ce19cc71086c3d2609058
MD5 c83dd904b84039b8007685e44e4a6513
BLAKE2b-256 5ae2069c72be6d5ac7ba71983f757454cf280168d7a5663a3f1538a932f5dbf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-win_amd64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.4-cp313-cp313-win32.whl
  • Upload date:
  • Size: 288.7 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 e1c3e443acaf31d01df4bea64195ba79a015b94fbb703cca5cd8348d07edd4d0
MD5 9d5d8729d3053a90d98bdff5e9135507
BLAKE2b-256 3bc71a56108deee2af5a5386f2bcb72b04e5ac34283aaf4231416d0bf2d00d2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-win32.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2d65c5f8af88a80663eb276bd968aa48abc4f46a4f493443129af6bd4ac93dd8
MD5 bd6cf42ba7d4122cc0145941cfea9f2a
BLAKE2b-256 cfa851b09cdd85aa4197e982dced59dd2b2a2831663b111ef71fd3f818dca1cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 30f52a72da82d3b4cca1aea986e537e807c83d42bb7d198887c6328de8396445
MD5 710916b8cb68875c70a3fc42677207ca
BLAKE2b-256 f7d7ed631e3804d2dd02e5ef1e1d57998276a6ef15cd37597611ef6433bd4d5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 095647b281f7092bc6be09095284388704761b9c0cbb0f51d5cd0a5be45dccf3
MD5 6696f4377eed4ed35b6df5b26362bc1a
BLAKE2b-256 438710b6f4f5f4d8c5efb4c843ebfeaec3a8969e4dbf707ba19c13d8295f2392

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 97292b0342dc5f4f769e67835c9dff680e581dc9e1282df80c3494f690f5e3a5
MD5 a529e51e7c3ae51607ff16311e589f49
BLAKE2b-256 795c775c62425661602379dde3a5cd207a5959d5ee10f6d3bf5950da4183d831

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab5e7f2f76e32119131f18c96b82b21796620ba3636500602dfa6a8f25c27906
MD5 58070e25f2fddc2279618c8aaf5bdf05
BLAKE2b-256 8cb72561e282585522eb68c145939cabe2a30d186b2c14e59fb7eb66c8e4036b

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b66d43710ac7c3cc938c487bffe7c4756be0d5e5a4dadb71a7be86c7c2bb4fc2
MD5 6b101d25607008b4f19b13043eb85822
BLAKE2b-256 78a512b1301817f93938aa904bd51f78fc20cc05b67f6c494fc343a50b10a0a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-win_amd64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.4-cp312-cp312-win32.whl
  • Upload date:
  • Size: 288.7 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 04a499f35b70c6ef6c0320b15898171516911c1b3bd714ca6a43111204ec7b34
MD5 398ce6aba99942fc2269de26d28744fd
BLAKE2b-256 e1ee6ab1a3d1a0614c138a5a9fd8996d6cd3b44fbba7eeb40a6b1e67a6856d63

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-win32.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7b41598d06cffdf175b91f3805085b094a42653a17d896d845bf294b9e290548
MD5 299386b683309a4cf7ae71bd9276a1a7
BLAKE2b-256 c4b258b554f37883eb4480a0bf2081d19946cdebdf2d4837f514722f4d94828d

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 31eb2cd1124b2813556d8a63a6a9737ed623b2c1578cbec6d639b6261faecabe
MD5 5d0f7273341980ee8d753d02a072f968
BLAKE2b-256 43c68317d73fa9fc84ea1f1a8d215fe47f6979b3e3abede88903be993e128e4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 065d531e20224815fb6265916298df634832b655ebf26542bda18da982144b3a
MD5 de878c7324b0f8d605cb6f2a0afbc20b
BLAKE2b-256 6b833bfbbdb681157728827d5837e6733716c6638834f1620a77798a1808bb47

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a36ef901b6315fa62b97ab43c8f257c88ae3f8f8185d23eebd87a3b2d165cb9f
MD5 a02acf138db3f47dd97afb4bd977e839
BLAKE2b-256 b44234be226ece718ef93f6d9394c79e29a62040d959aa4c588915767833be1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f882e769ce6748ff52d7aa4616b7b04f30ef808a36a3972c6f345cc00991c0a
MD5 85e2e01f7ffa7744634b4cd5e685a7a3
BLAKE2b-256 c33d11a481dc19c7e79788a1401870b73e4180fb198941740a9df63a4da13d8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b11185cf286b0a0b644295c93f65b140762e332001d25347aa1466371219447
MD5 e22c04fd2c134a16197f18cca232ee7e
BLAKE2b-256 e708f18d0dec0aa5998c9b526a2b5b804df9d00d4927f3dfb80e62518581b2d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-win_amd64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.4-cp311-cp311-win32.whl
  • Upload date:
  • Size: 288.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f969321399ce13a337840aaaa681f155e1d0b22e9ed9c176854c9c05fa746b5e
MD5 6d8f134d3c032351f423b427e6656cc6
BLAKE2b-256 0afe96f97a783c6972b748822115bd316ca86cc7dac883b9c7827256ff18bb34

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-win32.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6d1025f18284a2320ffe9bd03d72b066d7cece219c1c257f7bc102ce14cbec9f
MD5 2436b9a6d97373aba49a21901001f500
BLAKE2b-256 95fb230250c578ac81cef7ac3e855b391cdf5e90a85c9eb9a3d9d413c2f3622e

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b6d675b5b5130f62195d3eb963777ba252ec4df0c44790f5d1fcb4885943f348
MD5 808503b3e9e8796e7ebbf508cbf3c95e
BLAKE2b-256 fac59ffde85b16788ee86cadba7a6d66eda7fb84b9d015cc7a91a23a9329bb46

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01094c82d6c16d391222651fb865fa0bf611d6b0e779d7e8a8cce519bf79be41
MD5 76c8a842b9906f9147554d1edc327ad7
BLAKE2b-256 159f30a08098816a75b0619dc6e19c7773970e9634f0759493da0559e81a82bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 246e6dd8916f5c3f10d5de5f25d69cae537c4b932653fa812167ca8fcfd4f269
MD5 6c8f3cac7fccf0f2e0f394c90b3824f9
BLAKE2b-256 2139d904b07a396a2d01c8ebd04dedf95db3ade91d653f548d107a084b838c9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c50544d37d599347821ad33df6ffe5ad82755a5eae4f2fe6610bde567d74e68
MD5 01fc49bd0b1951850429a7a9072cebfc
BLAKE2b-256 c45db0b7d0fe24d010cd7dcd90a60934ed73738df96cb61435c478f70dd14df2

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9869efaf5cdd704c863e4371a9a3ae64881a1a28471b4b4823e167eac18e6ba5
MD5 8bb6f7cce6fd275481a9be602a5d09aa
BLAKE2b-256 5f2ac7d2cf833c746573df3168eeedbb87466f3b976ed76779726352b1dc269e

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-win_amd64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.4-cp310-cp310-win32.whl
  • Upload date:
  • Size: 288.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 969216544337d01c9fc01fd5c4bd6aa7005476c9dd177528c2726578b4b70d92
MD5 e7c13c817f9c54252b08e3fec1607405
BLAKE2b-256 1fb6e82aac78cfcac16f5d74cf3d5eb0ff27cfce95dd9f6b8bf953910409c6dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-win32.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 99112e1479098aff8d683b97f43553898983a14047d57589e976aa6aae6723ca
MD5 7a44e7aa0db2fa6e50ce10e2dec11cb9
BLAKE2b-256 851c482af4ba177b280dea0215d31b2bbbceca7cbee278946755c87c39ef7819

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9f1b9a37834f10d6937e8eb95e4958aa5a11f58c9be15edc5b2788e48949e079
MD5 e0e002fae77951e77630c2054e47e094
BLAKE2b-256 acef71caeb67e92ad66a9bf5c2fdfeb597da6d99686bd700af2a162776ae9aec

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-musllinux_1_2_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c3cf51dcbd5378d985ab9de64642e257cd8013b221129d32b905bfd975545a7
MD5 62309a38701c2787f092326a45bd1b58
BLAKE2b-256 8152eb740e579cab01da416a317497cc6d485d59127523c4e7318770b3c67c9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 255fc893b7456fe22aef73abd3de32174cc69664dd06afc2d46a80e09f046d34
MD5 74f667e541f43e21d79e908a697736bb
BLAKE2b-256 856434ebea46cc1b1ae3489348a4676540a6577ead0551b918af136059f079bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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

File details

Details for the file trianglengin-2.0.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d2b2566ccd1de5331a8d08412f433b3580f5382c64af8766104612f9841cfef
MD5 afbd467712c0386506d9e1a0b8702ace
BLAKE2b-256 da28df85968956de5b36f41855e34ffb8b08e278f5eedb13ea95674342687699

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: ci_cd.yml on lguibr/trianglengin

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