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

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

# 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.
  • 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.2.tar.gz (57.4 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.2-pp310-pypy310_pp73-win_amd64.whl (291.6 kB view details)

Uploaded PyPyWindows x86-64

trianglengin-2.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

trianglengin-2.0.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (371.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

trianglengin-2.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl (163.3 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

trianglengin-2.0.2-cp313-cp313-win_amd64.whl (291.0 kB view details)

Uploaded CPython 3.13Windows x86-64

trianglengin-2.0.2-cp313-cp313-win32.whl (291.0 kB view details)

Uploaded CPython 3.13Windows x86

trianglengin-2.0.2-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.2-cp313-cp313-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

trianglengin-2.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

trianglengin-2.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (371.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

trianglengin-2.0.2-cp313-cp313-macosx_11_0_arm64.whl (164.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

trianglengin-2.0.2-cp312-cp312-win_amd64.whl (291.0 kB view details)

Uploaded CPython 3.12Windows x86-64

trianglengin-2.0.2-cp312-cp312-win32.whl (291.0 kB view details)

Uploaded CPython 3.12Windows x86

trianglengin-2.0.2-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.2-cp312-cp312-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

trianglengin-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

trianglengin-2.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (371.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

trianglengin-2.0.2-cp312-cp312-macosx_11_0_arm64.whl (164.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

trianglengin-2.0.2-cp311-cp311-win_amd64.whl (291.0 kB view details)

Uploaded CPython 3.11Windows x86-64

trianglengin-2.0.2-cp311-cp311-win32.whl (291.0 kB view details)

Uploaded CPython 3.11Windows x86

trianglengin-2.0.2-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.2-cp311-cp311-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

trianglengin-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

trianglengin-2.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (371.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

trianglengin-2.0.2-cp311-cp311-macosx_11_0_arm64.whl (164.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

trianglengin-2.0.2-cp310-cp310-win_amd64.whl (291.0 kB view details)

Uploaded CPython 3.10Windows x86-64

trianglengin-2.0.2-cp310-cp310-win32.whl (291.0 kB view details)

Uploaded CPython 3.10Windows x86

trianglengin-2.0.2-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.2-cp310-cp310-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

trianglengin-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

trianglengin-2.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (371.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

trianglengin-2.0.2-cp310-cp310-macosx_11_0_arm64.whl (163.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: trianglengin-2.0.2.tar.gz
  • Upload date:
  • Size: 57.4 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.2.tar.gz
Algorithm Hash digest
SHA256 f7c72cfbbd709e3af0732701b0634cee369e23ebe0733caa9cf117bd28b912c2
MD5 44b17c7409e3186c0a1230115e30049e
BLAKE2b-256 40c036a8606e947d62836f85afccf2ee6f4f4ac4791f97c3a9fc7799067396e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2.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.2-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 03ec79cfea9d28a906791ec46eb59e476e77996496badae457e73bb95c6c742d
MD5 4ca282d301431e70190db5d7a763fdf4
BLAKE2b-256 28dd2633b42899bc69454f7d984c9eb99e35e49fefd63583bd4d8d7cdc9474f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb1ab8dcb90eb999f6cf7f6b5b695a3664c3613070f19165b758b62d75f52df4
MD5 a22c8e08a98a3f93ba99cf1502b4eb64
BLAKE2b-256 158a5ded5cfb2e85b199ddd5afb06a3fc6ab84033a694ba9ed12b902b9a8fe7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fc08d8e4f09e2789f05006d0616382ca83f0b1961b6baa8032747deee6cb75b0
MD5 b708d3d85dcc5f3b1c4dd82f8342e6df
BLAKE2b-256 8d3ca7638f92fea68c6b5d2d86b7e696dbf9801c11550005fee995f589ee3d35

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9c95e97d69f48169e9f08326002229bea534879787def559fe8e98f81e69307
MD5 ea965b7afdc059250463581ef67434bc
BLAKE2b-256 846fe1f9fad58292eda2f404469a3fa0a81efd101f5a68f6b45d3148a3b32a0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f2da34decf668ac2316b52488de7b737d462007b294063d114cbbba15bdc650d
MD5 12c15b88da774b035ad6a54c10a82c01
BLAKE2b-256 65f5ec2bdacaaf2bc4bf43824061d81b29fd3887af45bba12963288567042672

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 291.0 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.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 b0a007b682742b5018353eec0da9d9c51d280d7f9badefa787fbbcac37aee04c
MD5 e626d79b98dd7a701c268252505835ac
BLAKE2b-256 4fb5359d54b3a7ff38e08e254be68534f2e1cd0cda68f030f55f01a60e7d7402

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b4c9bb1204d30e5a7cc051d5ce78c63fba0004b3ab38350388c6863371f4c222
MD5 31b6b3fb208a1297f978cbb8535d1b72
BLAKE2b-256 5b4ee6bc924fb8ba21ee408ebd5eb875d9413f2f4f54df2f94e64a7d9eddec36

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cf8cd4573faf0ce9b47c5bbafbe19465e18b44b9ee83ce59f671bb428a21396e
MD5 f53eb71c62ec08e14372a7dd9f655eaf
BLAKE2b-256 f6122b835a32fe8ef0f29d23f083228115ff9b30122974d47dcf2a3ff16798ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63ddf81ac2b6cb8c4d895dddef781fa8d22aa4d2796d766f1e1a62eb55f2b39d
MD5 f3a0d85c39a5db014cf559b326c47156
BLAKE2b-256 77b21cca99a7fb19c50c2df4a1603822fb66f7f760788cfe2d500d2fdbef9a4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 49c5a33228a563ffb137f3bcf158efef868738451d3164a55c74f3c00c75284f
MD5 8e46f05f2ffb9929cd8a4fb0dd2783f8
BLAKE2b-256 75ce1720300273d71f77c6249f0ab97c47737a731238f6fb50c350737ef585e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c4e16861505ec6915dd88778a105a6ece957b80dea25d8db47658498189c50e
MD5 1cedaec1de7ff852435fc7c0b76a90d3
BLAKE2b-256 cbc5a5f23fcc4758b98fffa57e39b048c4ffa373d15dcca851af563a65a9c9ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0f6da544e2a210d7775777149177acab0b19575bf0979424c5f61c121c0b0abc
MD5 b3c97744d3704bbc5137bf7db3886d94
BLAKE2b-256 70d326b5250199399a6e955582e77d16de99862bcdb1c206176f4ca24e5d74ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.0 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.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 5bfadcd287d309c357663873591ad036a1ac15baa8509a7ace5fda4c763de304
MD5 0d7ef983ec90320c9610b13b3a273c0c
BLAKE2b-256 8cf3c9c25fc8e76b2e1f391e81ccb098359d648ac751093bbd051859b789031f

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 096e445d3e34cf92c950056da5c5be68f3ebf6a4ea02d31e1524f3b7087c56c3
MD5 07a5cbfa7fb6eee910ea25e934559ed0
BLAKE2b-256 cadd2dec023d21e57be2fdfdca85e5f5e7f271bd1ccaff058f5c857c7ce6a651

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 11a97854c990dc593515a70757ca1784fd09399a9f09281aecef144fcf485db3
MD5 9f41b9dfd2dc71f9eacdb65540fb376a
BLAKE2b-256 8ecdf601911f3d51ad744df10c5623c30335400a270e6d156be33c69b35773ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec14e557185c8e68814cf65154238612f3c0a2dabc04906a7cccf2e0b3569a52
MD5 09841fcb269a1db274ed8b3f48156a8b
BLAKE2b-256 0c0339dd3ce6e673d0e3d69f511d8939fbcdae243ea030e343f45049e756c051

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7f24615017ae741deec0931c251340de89a54b8e4e5981c5cff014d9dce015a9
MD5 0bfd22da34f8f37f2e0487959e8be411
BLAKE2b-256 19a89aa914649a6448e0dd4b1ebc172232013f2abc82f9cc74fd976b4084f1b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 394e96f066cdbd0e0de4bedb14990f773a1832ab06c46bc80293ed5d1b26ff34
MD5 f079d9ec7ab920650416ea29e5970d14
BLAKE2b-256 bb5966f9d0e7b72f1d12f69fee41603c83b5d5ac1c1c1458667e3ff7881dd9ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7f6494ed7ca113231fb0502e970266b5074bb8a8b13a00524a02c663eff30459
MD5 c2010dc2ca598279e94b4c05b1e35dc3
BLAKE2b-256 7c2607042678803cf48067c781637d8c56e0b1b60f1d8db2becbcb4f0b1d3fe9

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 291.0 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.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ec067b00ad6d747029f3e99511828d402f01db4dee0ad323dcf29c790f0ef80d
MD5 34da15e4911b1ee06b1ed2a9f79fa47a
BLAKE2b-256 8a02adc570b0fb124c6e6cf11f474ac0d73c2e6f399c31f13c79371d70c2d7f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a97ca55851726e8764f06e1e13fe42a43657a1732575d0f88e7c8ee5ed138e84
MD5 820fff15cd2d8f58a196558c7d76f683
BLAKE2b-256 593c9967b93247ba89082a6e57e4ff67b90304703153e20ad0dfecc5954c604c

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c6e1e9ebd489b4fd68d9791fd0c0b592268c1cdf98c6b150553e5ae006b00616
MD5 7d75b0b78b301fb237845c7946d735bf
BLAKE2b-256 ff4c9bb060b62aa19ef754498b3b8f8d81298828490708edacd8034b212758aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d672e909e56bd7b93d690ec980d36b00fe717ad26470ca369e058133c4e1a46
MD5 12f0d9bcb4f5c49f401e0d82bb9877da
BLAKE2b-256 b67c7e682025cacde58d5fae9ee1b1e20edf71256184914178f67342b88ceab4

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6461273450e5c2fa5cfdc6ad634e160d8f9541609373bcd271684ab56de4fad6
MD5 37b755fce2ae4e21d6f80d838a6d809a
BLAKE2b-256 c96274cdaa02a1f087a1b3ea30dc0edbcb1d94c9aa3b9b84059c551410b8db34

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9576a274d9e14f82388ebf5d3c82af0f56696cdc19b59f132c291cd99f06016
MD5 6f3603c95770fdf9cf06da956ec69d79
BLAKE2b-256 bfab1b6ec9fa3dc8c8e86a753667b1c6a0cbbd93d52f978487ecdfcffe5c2634

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5b6dc87539390a6f04b8a3722395b657ece4bf7c2f90cb4ef8d348d2cbca51c9
MD5 ea2d2d10f14c879304d5073b1d56a84a
BLAKE2b-256 58e45960f523a4f67afd990556da5324505dd0372b2f285076ad757a4d9275f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: trianglengin-2.0.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 291.0 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.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 d196a18ee951030deb5390fe9c81fcf133a1c74d0b4678548235c2cd7ddb652a
MD5 b6fbaa522869cb716a8ee879e2ac5052
BLAKE2b-256 0cf8b042e6ddf81c1684b7f636c751dc2542a15c6f4b109abcac9adfa2a6edba

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ef897bc331e98f6e3ca95dea165e62d29c814fd4cc25d20dbdddcab8db42188
MD5 d59fc1f56bf4a41d0fe4a07dc58aa7e7
BLAKE2b-256 1bfd5139a53e56849a1d1cd6e22c27906c44973ecb748b66d601d2acb2100a04

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c8deedea8863c854aba35dd08e03e1d94df40b4d2001cd816b86fb02a3e32c95
MD5 4a3c6228c057486e347e75290eeea22b
BLAKE2b-256 c0fe4fb56cb3170ca83583e858e66ac5193a3348b730e5219c94546dd0c5d464

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58420eab70c7b476e04c90d770c246ebb1a72ef00369a84c4cfb7b52eb006a20
MD5 e6ef93e1677f1bd23f2c658726e7ca50
BLAKE2b-256 ce90dd015d59b3d69a39e3347f26dcc03a60833047c7596f71fb828306f3bc1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d76a234f9b0da703a52a76fb977b142e21f7353f75dd87350639683c17d9955e
MD5 c4232ab2b8afb4fa62e190e99997d2f8
BLAKE2b-256 9d492bd7ece760fdf10a88576b43b53bbb0b2d465b728cee34d9770b1821d00c

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for trianglengin-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36c65b677ea95d4ecd4fe6973c6f8c18040897e6f633f33e37c95ca1fe5d4f8d
MD5 725a8eca0e112c4e843c9b8f3890a461
BLAKE2b-256 2a788db24cc17bce7b2da1b57707f0aa4f87e6d1f122290f3d300b528118f1f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for trianglengin-2.0.2-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