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.3.tar.gz (57.6 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.3-pp310-pypy310_pp73-win_amd64.whl (291.8 kB view details)

Uploaded PyPyWindows x86-64

trianglengin-2.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

trianglengin-2.0.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (371.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

trianglengin-2.0.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl (163.5 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

trianglengin-2.0.3-cp313-cp313-win_amd64.whl (291.2 kB view details)

Uploaded CPython 3.13Windows x86-64

trianglengin-2.0.3-cp313-cp313-win32.whl (291.2 kB view details)

Uploaded CPython 3.13Windows x86

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

Uploaded CPython 3.13musllinux: musl 1.2+ i686

trianglengin-2.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

trianglengin-2.0.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (371.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

trianglengin-2.0.3-cp313-cp313-macosx_11_0_arm64.whl (164.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

trianglengin-2.0.3-cp312-cp312-win_amd64.whl (291.2 kB view details)

Uploaded CPython 3.12Windows x86-64

trianglengin-2.0.3-cp312-cp312-win32.whl (291.2 kB view details)

Uploaded CPython 3.12Windows x86

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

Uploaded CPython 3.12musllinux: musl 1.2+ i686

trianglengin-2.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

trianglengin-2.0.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (371.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

trianglengin-2.0.3-cp312-cp312-macosx_11_0_arm64.whl (164.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

trianglengin-2.0.3-cp311-cp311-win_amd64.whl (291.2 kB view details)

Uploaded CPython 3.11Windows x86-64

trianglengin-2.0.3-cp311-cp311-win32.whl (291.2 kB view details)

Uploaded CPython 3.11Windows x86

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

Uploaded CPython 3.11musllinux: musl 1.2+ i686

trianglengin-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

trianglengin-2.0.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (371.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

trianglengin-2.0.3-cp311-cp311-macosx_11_0_arm64.whl (164.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

trianglengin-2.0.3-cp310-cp310-win_amd64.whl (291.2 kB view details)

Uploaded CPython 3.10Windows x86-64

trianglengin-2.0.3-cp310-cp310-win32.whl (291.2 kB view details)

Uploaded CPython 3.10Windows x86

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

Uploaded CPython 3.10musllinux: musl 1.2+ i686

trianglengin-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

trianglengin-2.0.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (371.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

trianglengin-2.0.3-cp310-cp310-macosx_11_0_arm64.whl (163.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: trianglengin-2.0.3.tar.gz
  • Upload date:
  • Size: 57.6 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.3.tar.gz
Algorithm Hash digest
SHA256 dcc619adae29c6d133b5036daa5ab6693b30f616b38da2b5be37444ba96b7801
MD5 35cc3990aa5800d8738fbd5e106b4053
BLAKE2b-256 f44958a50ccbc40edb3d487f5f5d2774086cc4b55f4a30928ae289f82a937086

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a5c63ff0d585631f433937b3e0ad91592f643f759da9912162032cd6aa85894f
MD5 78bba649419ac06b05749638a45c8c3f
BLAKE2b-256 e5dcc3cd94d0c0833fe51a23d96edd096d622f175c608ad421fe427fed2fedc5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d73e71dc5a93453933ffaded09af5c27a8a50dbe46b2aa0bf5bef407081793c
MD5 2a12b0d3e2db84615605d8a5e4b376bc
BLAKE2b-256 5b99452be0b4a91718a1a266f1fc00e340e1d1c3eaabc45e6f819678d8535498

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f0447fc091d9ed5303d4a2c4ecf02dd407acd0ff21c9eaaaf80b9c9bf7c9aa98
MD5 2bbd82e15ae0da32b17881faffb65695
BLAKE2b-256 87134be9d9be4787140a95d0c5d7b7817b921fd381d7544937dec7295e2b83ab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce49b523ca0c05752f26d9de5cec816af318fdad948340bd00623f35b4412ed3
MD5 b33db166984cdb132b54582014f80c06
BLAKE2b-256 c3ff05d0c45aeb9c66d8ebcc9673a8895f59c514892f08d32edc8e7e52310d1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0b33376c8668d1ea0b5485d0635a3072823fdf71f632bb27d236afc89df7915c
MD5 3679ca7328925a7fb07d5de4c7961c3d
BLAKE2b-256 85029dff7a5b5d9e1fdc592e31c10ee7d445ff24cd3524f93f2085cd86dd4310

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: trianglengin-2.0.3-cp313-cp313-win32.whl
  • Upload date:
  • Size: 291.2 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.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 efa3cf1453cad4db7bb0a4f48cc959c901a59bf1f24ff693896fd48080f55bff
MD5 d09d5b5ad757d7bbf1c1cce8f3d43f04
BLAKE2b-256 6c46a56be000eb72bf08280d934869288d0548ab848d4ff98a64d9df6b3bd344

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e5a14989d86220623a64a567afe86b85230b9407149e2b626dedb02640b6d02
MD5 c225ffd598ed68baac27310cf9f9b379
BLAKE2b-256 844ed15e2f4d6694bd546d5e0887cb26c6d08f6cc8312ca7265434bd66c478a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 90be05afd75372ea143cfb43a5e0010f725da4db84ea1ff795f2779799ee35e4
MD5 00d97d360d57a226c1fee70b43c7006a
BLAKE2b-256 4fdb32121adb69c941038b9e4be987b7783cffe4bb1c1ab9e9e07e0544c3688e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dffefdfc7dd4a0949ebdcdc47a84bce062fb8cc5da67225556a9559e7e14d14
MD5 dd7a3338fda107dacdd601284761aa03
BLAKE2b-256 93aea4086d1550f882a4bbf57541d2e5e200d62a47febd4bd8fa072a6969834e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a01de266c9c94f2d7c2d70ae5261ffac6897ad3d787fac0c98fc19ef10e1b2d0
MD5 d2f1c8ebb903b7540c20ab4f09270a12
BLAKE2b-256 99fc642bd5ce0ef883903a57de4f532c03041cf997c1e93d9ddb60780e2aecb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf362b2c645252c1389920909f79883c90950136775c3bfb847b5d11e0b5b985
MD5 4f663fb5344355a411f346360f7f9249
BLAKE2b-256 42e96c3a9f8399543e60e9c7d19b742f395fcd309a9a3a4e2005affc08197d73

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 82f5a573a9d0f125e86b406d6faeb33032b7ab2cc91b5a74f6990e9443a4731f
MD5 1c54a3a114ff488a89bc46db9c67040f
BLAKE2b-256 38a3d46e248304f7210c9705170c45ed28500bf532205a9155e896abd1f2cd23

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: trianglengin-2.0.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 291.2 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.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 01878368391d671e1aacbe73dbe4eb8ba873e6cc53751806f9d70fcb26a0ae5b
MD5 ef54e19f19d927e2ab5082de48cca131
BLAKE2b-256 540e01d23c6850ba555a640a0234c2748103ec536d04922c34c7fe58580cc972

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6fb1e444ba9e610a73e5689a7d2b423b488791c41ae5e8f0c681cb4eecffb593
MD5 0e0ba82d9f42ba3f0530b19f60d49a23
BLAKE2b-256 e11819f8f77230785b12f5f247c3e3a065f63bc646a2895c3cb1d91dc3c93728

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0feb969bdd767f173d15da71e0d0254ae0101293f0d36763f760edd10d4b65e7
MD5 150ffd2aeb0deaf6bfee5b62cf667bb9
BLAKE2b-256 bbcb2ff83e5997b9d99a1aa264ce8b7d51048d39f7395a93f4e3cb4c3e9d6ddc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe71a6295ac203d6475b201994c0b8df4541f50b2f928b789f2a7c8a8442d198
MD5 89a5d14caccd9080f419be10b5ce8c0a
BLAKE2b-256 9e6f99923031d53cff101ef5c28492d44771ec102e32836981e66f982833eda9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7954efbe05082299c5081a8f35896a293c1600c24ff80bf463bca59c0038696c
MD5 241a991dab3c73825bab2cd64cb3bdd8
BLAKE2b-256 17cf4283014b550fbf5a5937b5d8484a05e3c05ff04416e6cf87e8e42aa11d2e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d11ae2a2ffcb986f2d4f482ecf4d1db3c10af96917f8ed7e4d4061a22e0f3224
MD5 5bcac1d0ce2f2f1b12c2a17741c9d84a
BLAKE2b-256 db14ee65e01071b9b9465a1552c09cc8f49e73a57d676b880d9032d22455ec58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0868994159ca0bf31a20eac8f4ecaaf8bd6b84f1d46ecf9a19eb5ff90ea0a369
MD5 457d225237423a9ba5a57990310cbc13
BLAKE2b-256 9db50c2e4d6082ed0370ed698154aec2274df05528579425aa0662ce7bb56538

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: trianglengin-2.0.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 291.2 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.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 bf63096413b91115307691c0619aba0bfdcf01df6b2f68f441a9f4a19b4ab9b2
MD5 84c576a43ce593bef6a3803fbeb9b817
BLAKE2b-256 323338af979b85391794905559585373cef1ac0daccefbcf327c0e948fd6e2d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 552dee8aeea33941d5fc605882abd540a3d32d8028bb8c3f98cb585f166be363
MD5 082e95a8d7d993e68fd406c211385c48
BLAKE2b-256 fa05dd6de9eafbe8200ee9aec58d2e78b5b8c40c4e5be6e91803edefa7d941bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b5b24a0e5a6e1e4f187d1008fc781d6c4541e7580578b8fc3604a8bc32e7bb98
MD5 c43d25bdc4f2aab67be9a5ead199a86f
BLAKE2b-256 8eee21dd52361b8a767ff7d8eaf279722baefc0bf58837e08d0d5a41fe1b9077

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36a4c0c53883e2b6985bbca4d39d858e637b11c6805ac3aeffc1dbebcb81bd98
MD5 bb602e19ceef53f5a44543dc86e2e620
BLAKE2b-256 676849f49a2506679603bf5ce5d147af5a011be9ad6516821beb1eaef33f2f21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 80df5c972fecbbb3312972da3b9406a45ae5e81daa0387e2e3707030e337181a
MD5 db6fe8ac2cd1bfbd1657443da5134bf6
BLAKE2b-256 decf8572cf5e629848b48b61a938bbf7df871b030340c1a69d4db93250fd7139

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5db5591113d9e06c3c3b46f59dfa263372fc5d94c0a60cb4bf7606a01504c0a
MD5 43158f49d4471aaf5719b5e99121c324
BLAKE2b-256 5cc95c94cc64b6b9cf4ab3d7853b937f756204a1bcc6cef2de2aa4965ce7dca6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a870a9822919399bfa108bcfe8ef878c0ee65a25a849cb1ec08a382ac09e4025
MD5 7d7f465a8369d51c023cbd2095efe0a6
BLAKE2b-256 a3ad7ed2d15f5cf8dc8a8a03e6f5de3ef94f4b680c62e1f779656ac69674d75b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: trianglengin-2.0.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 291.2 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.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 041b21daf65b5bbd9ada8ac7e52a44f864da5278b070529cbd86c7fa756079ed
MD5 31e5bf447503946317df5d3fe44b1493
BLAKE2b-256 c164863c5e1ed8fd1d5ecafb0209bce07b9547e3529ba5e047787e615216ba7b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b0bfc3054502cdd9f6dfa8a07606325ed6ef2e86223a8168ee5de7465c79b59e
MD5 0cfd56ac718da03bf22e4353df478f17
BLAKE2b-256 61f94ed02a3b115d9583f0ff96753c9cba32dfa0649a5ad8004820a8a9b1bfef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b88dc0068d57700c2bef7e8a2abd862a73f38f7f3d7f96040bc60b2e28f73731
MD5 64276f220efcf223fd944378712b05e9
BLAKE2b-256 8e1f7e40ff4e5013e44ae32b54321278556973e4f76166245cb86982ab0698a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4479aa1e6dc908949075cf9b367ac094d75241a0d2aa71c769bcb30fb9f6970
MD5 11d99535e0b19b8f3e1623e0d60f9822
BLAKE2b-256 2c7bbccf645b3cc6064d6a63f82a1979a7b9983007eac07f05f35ad38c7a1295

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5310b6a3cbd7f323752f1194c0e4d10e24b3df3a44dee7af1b8504814a76636a
MD5 243bf0ef8f6094720e8fa384b47fe15f
BLAKE2b-256 48968e52d2d4be346e27da553ee02cb146cb253493a0f3629a7ea8cc0bdce5e3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for trianglengin-2.0.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d23734b85cde3d907200717282e7eb25160d9092ae14ba049d914def5c8d7a5e
MD5 265ab2a4807f88747e12e0cdc169d9c3
BLAKE2b-256 8ae103553c649fc01dcff511f2af4248bffa57b48126b0f270476b62e36aca9c

See more details on using hashes here.

Provenance

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