cube-solver


Namecube-solver JSON
Version 1.1.3 PyPI version JSON
download
home_pageNone
SummaryRubik's Cube Solver
upload_time2025-07-09 11:50:04
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords rubik cube solver
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===========
Cube Solver
===========

.. image:: https://img.shields.io/pypi/v/cube-solver.svg
        :target: https://pypi.python.org/pypi/cube-solver

.. image:: https://readthedocs.org/projects/cube-solver/badge/?version=latest
        :target: https://cube-solver.readthedocs.io/en/latest/?version=latest
        :alt: Documentation Status


Rubik's Cube Solver

* Free software: MIT License
* GitHub repo: https://github.com/itsdaveba/cube-solver
* Documentation: https://cube-solver.readthedocs.io


Features
--------

* Command-line interface
* Transition and pruning tables
* C extension module for table generation
* Thistlethwaite and Kociemba solver algorithms


============
Installation
============

Stable release
--------------

To install **Cube Solver**, run the following command in your terminal:

.. code-block:: console

    $ pip install cube-solver

This is the preferred method to install **Cube Solver**, as it will always install the most recent stable release.


=====
Usage
=====

After installation, you can use the ``cube`` command straight away:

.. code-block:: console

    $ cube --help

To perform a maneuver to a cube, use the ``maneuver`` subcommand:

.. code-block:: console

    $ cube maneuver --help       # maneuver subcommand help
    $ cube maneuver "R U R' U'"  # apply maneuver
            ---------
            | W W O |
            | W W G |
            | W W G |
    ---------------------------------
    | B O O | G G Y | R R W | B R R |
    | O O O | G G W | B R R | B B B |
    | O O O | G G G | W R R | B B B |
    ---------------------------------
            | Y Y R |
            | Y Y Y |
            | Y Y Y |
            ---------
    Cube: WWOWWGWWGBOOOOOOOOGGYGGWGGGRRWBRRWRRBRRBBBBBBYYRYYYYYY

To generate a scramble, use the ``scramble`` subcommand:

.. code-block:: console

    $ cube scramble --help       # scramble subcommand help
    $ cube scramble              # scramble of length 25
    L' U' B' L' D2 R' D B L D R2 F D2 F L2 F2 B' R' F' B U' R L2 D B2

    $ cube scramble --length 30  # scramble of length 30
    F' L2 B' R D' L D2 F2 B L' F B' U' L' U' F2 B2 D' R B R D' L2 D L2 B2 L' U' L F'

    $ cube scramble --wca        # scramble following WCA rules (uses the Kociemba solver)
    R2 U' F2 U' R2 B2 U2 F2 D' B2 U' F2 D2 R2 B' R' D' L' R B D' R' B2

To solve a cube, use the ``solve`` subcommand.
The first time you solve a cube with a specific algorithm,
the required tables will be generated. This process takes around 5 minutes.

The cube string representation must contain characters from `{'W', 'G', 'R', 'Y', 'B', 'O'}`,
representing the colors ``WHITE``, ``GREEN``, ``RED``, ``YELLOW``, ``BLUE``, and ``ORANGE``, respectively.
The order of the string representation is:

.. code-block:: console

               ------------
               | 01 02 03 |
               | 04 05 06 |
               | 07 08 09 |
    ---------------------------------------------
    | 10 11 12 | 19 20 21 | 28 29 30 | 37 38 39 |
    | 13 14 15 | 22 23 24 | 31 32 33 | 40 41 42 |
    | 16 17 18 | 25 26 27 | 34 35 36 | 43 44 45 |
    ---------------------------------------------
               | 46 47 48 |
               | 49 50 51 |
               | 52 53 54 |
               ------------


.. code-block:: console

    $ cube solve --help                                                  # solve subcommand help
    $ cube solve RGWWWWWWRWOOOOOOOOGGGGGWGGWYBBRRRRRRORBBBBBBBYYGYYYYYY  # solve cube representation
    R U R' U'

    $ cube solve --scramble "U R U' R'"                                  # solve scramble
    R U R' U'

    $ cube solve --random --verbose                                      # solve random cube
            ---------
            | W O Y |
            | W W G |
            | O R Y |
    ---------------------------------
    | R O W | B G G | O W B | R G G |
    | O O B | O G G | Y R W | R B Y |
    | B R W | B R O | W W G | R Y Y |
    ---------------------------------
            | R B G |
            | Y Y B |
            | O B Y |
            ---------
    Cube: WOYWWGORYROWOOBBRWBGGOGGBROOWBYRWWWGRGGRBYRYYRBGYYBOBY
    Solution: U2 D2 F' D' L' B' U2 B2 R U F2 D B2 R2 D F2 B2 R2 D F2 L2 U2 L2 U' (24)

    $ cube solve --random --verbose --verbose --algorithm kociemba       # Kociemba algorithm (default)
            ---------
            | W G W |
            | B W G |
            | O R O |
    ---------------------------------
    | O Y G | W B B | Y R G | R W B |
    | G O Y | R G B | O R W | R B Y |
    | G Y Y | R O B | R B G | R O O |
    ---------------------------------
            | B G W |
            | O Y W |
            | Y W Y |
            ---------
    Cube: WGWBWGOROOYGGOYGYYWBBRGBROBYRGORWRBGRWBRBYROOBGWOYWYWY
    Solution: ["D L2 B L B U2 D2 B' L", "U' R2 D' R2 B2 D2 R2 U' F2 D2 R2 D' R2 D' B2"] (24)

    $ cube solve --random --verbose --verbose --algorithm thistle        # Thistlethwaite algorithm
            ---------
            | B Y R |
            | B W B |
            | W B B |
    ---------------------------------
    | O O R | B W O | W R W | G R Y |
    | G O W | R G G | R R W | G B O |
    | G Y Y | G O Y | R O O | W Y O |
    ---------------------------------
            | R Y B |
            | B Y W |
            | Y G G |
            ---------
    Cube: BYRBWBWBBOORGOWGYYBWORGGGOYWRWRRWROOGRYGBOWYORYBBYWYGG
    Solution: ["B' R2 D F", "U R U R' L' U2 D L", "U' R2 U F2 L2 F2 B2 U", 'R2 F2 D2 F2 R2 U2 R2'] (27)

    $ cube solve --scramble "L2 U R D' B2 D2 F B D" --optimal --verbose  # find the optimal solution
            ---------
            | B O Y |
            | W W G |
            | B O G |
    ---------------------------------
    | W G Y | O B R | W R B | R G O |
    | W O Y | O G R | W R B | R B O |
    | G W O | W B R | W Y Y | G G O |
    ---------------------------------
            | G Y B |
            | B Y R |
            | Y Y R |
            ---------
    Cube: BOYWWGBOGWGYWOYGWOOBROGRWBRWRBWRBWYYRGORBOGGOGYBBYRYYR
    INFO: Solution: D' F' B' U2 F2 D L L2 F2 D2 L2 F2 U D L2 B2 D L2 (18)
    INFO: Solution: D' F' B' U2 F2 D L' F2 D2 L2 F2 U D L2 B2 D L2 (17)
    INFO: Solution: D' F' B' D2 B2 D R R2 U' L2 (10)
    INFO: Solution: D' F' B' D2 B2 D R' U' L2 (9)
    Optimal: D' F' B' D2 B2 D R' U' L2 (9)

    $ cube solve --random --optimal --verbose --timeout 10               # stop search after 10 seconds
            ---------
            | B W G |
            | O W Y |
            | R R R |
    ---------------------------------
    | W B G | Y G B | W O W | O B O |
    | W O B | Y G W | R R R | Y B G |
    | Y Y W | R W O | G R Y | R G O |
    ---------------------------------
            | G O Y |
            | G Y B |
            | B O B |
            ---------
    Cube: BWGOWYRRRWBGWOBYYWYGBYGWRWOWOWRRRGRYOBOYBGRGOGOYGYBBOB
    INFO: Solution: U2 R' B U2 L' F' U F2 L R2 U L2 U F2 B2 U2 L2 D L2 B2 D (21)
    INFO: Solution: U B' L2 F D' R L F' R U' B' U' B2 D2 R2 B2 D F2 U2 F2 (20)
    Suboptimal: U B' L2 F D' R L F' R U' B' U' B2 D2 R2 B2 D F2 U2 F2 (20)

To use **Cube Solver** in a Python project:

.. code-block:: python

    from cube_solver import Cube, Maneuver, Kociemba

    scramble = Maneuver.random()
    print(f"Scramble: {scramble}")

    cube = Cube(scramble)
    print(cube)
    print(f"Cube: {repr(cube)}")

    solver = Kociemba()
    solution = solver.solve(cube)
    assert solution is not None
    assert solution == scramble.inverse
    print(f"Solution: {solution} ({len(solution)})")


=======
Credits
=======

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cube-solver",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Dave Barragan <itsdaveba@gmail.com>",
    "keywords": "rubik, cube, solver",
    "author": null,
    "author_email": "Dave Barragan <itsdaveba@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/59/27/567673e1a7031190d45f327b42dcf6d9823883a2669448e9b025f94b885e/cube_solver-1.1.3.tar.gz",
    "platform": null,
    "description": "===========\nCube Solver\n===========\n\n.. image:: https://img.shields.io/pypi/v/cube-solver.svg\n        :target: https://pypi.python.org/pypi/cube-solver\n\n.. image:: https://readthedocs.org/projects/cube-solver/badge/?version=latest\n        :target: https://cube-solver.readthedocs.io/en/latest/?version=latest\n        :alt: Documentation Status\n\n\nRubik's Cube Solver\n\n* Free software: MIT License\n* GitHub repo: https://github.com/itsdaveba/cube-solver\n* Documentation: https://cube-solver.readthedocs.io\n\n\nFeatures\n--------\n\n* Command-line interface\n* Transition and pruning tables\n* C extension module for table generation\n* Thistlethwaite and Kociemba solver algorithms\n\n\n============\nInstallation\n============\n\nStable release\n--------------\n\nTo install **Cube Solver**, run the following command in your terminal:\n\n.. code-block:: console\n\n    $ pip install cube-solver\n\nThis is the preferred method to install **Cube Solver**, as it will always install the most recent stable release.\n\n\n=====\nUsage\n=====\n\nAfter installation, you can use the ``cube`` command straight away:\n\n.. code-block:: console\n\n    $ cube --help\n\nTo perform a maneuver to a cube, use the ``maneuver`` subcommand:\n\n.. code-block:: console\n\n    $ cube maneuver --help       # maneuver subcommand help\n    $ cube maneuver \"R U R' U'\"  # apply maneuver\n            ---------\n            | W W O |\n            | W W G |\n            | W W G |\n    ---------------------------------\n    | B O O | G G Y | R R W | B R R |\n    | O O O | G G W | B R R | B B B |\n    | O O O | G G G | W R R | B B B |\n    ---------------------------------\n            | Y Y R |\n            | Y Y Y |\n            | Y Y Y |\n            ---------\n    Cube: WWOWWGWWGBOOOOOOOOGGYGGWGGGRRWBRRWRRBRRBBBBBBYYRYYYYYY\n\nTo generate a scramble, use the ``scramble`` subcommand:\n\n.. code-block:: console\n\n    $ cube scramble --help       # scramble subcommand help\n    $ cube scramble              # scramble of length 25\n    L' U' B' L' D2 R' D B L D R2 F D2 F L2 F2 B' R' F' B U' R L2 D B2\n\n    $ cube scramble --length 30  # scramble of length 30\n    F' L2 B' R D' L D2 F2 B L' F B' U' L' U' F2 B2 D' R B R D' L2 D L2 B2 L' U' L F'\n\n    $ cube scramble --wca        # scramble following WCA rules (uses the Kociemba solver)\n    R2 U' F2 U' R2 B2 U2 F2 D' B2 U' F2 D2 R2 B' R' D' L' R B D' R' B2\n\nTo solve a cube, use the ``solve`` subcommand.\nThe first time you solve a cube with a specific algorithm,\nthe required tables will be generated. This process takes around 5 minutes.\n\nThe cube string representation must contain characters from `{'W', 'G', 'R', 'Y', 'B', 'O'}`,\nrepresenting the colors ``WHITE``, ``GREEN``, ``RED``, ``YELLOW``, ``BLUE``, and ``ORANGE``, respectively.\nThe order of the string representation is:\n\n.. code-block:: console\n\n               ------------\n               | 01 02 03 |\n               | 04 05 06 |\n               | 07 08 09 |\n    ---------------------------------------------\n    | 10 11 12 | 19 20 21 | 28 29 30 | 37 38 39 |\n    | 13 14 15 | 22 23 24 | 31 32 33 | 40 41 42 |\n    | 16 17 18 | 25 26 27 | 34 35 36 | 43 44 45 |\n    ---------------------------------------------\n               | 46 47 48 |\n               | 49 50 51 |\n               | 52 53 54 |\n               ------------\n\n\n.. code-block:: console\n\n    $ cube solve --help                                                  # solve subcommand help\n    $ cube solve RGWWWWWWRWOOOOOOOOGGGGGWGGWYBBRRRRRRORBBBBBBBYYGYYYYYY  # solve cube representation\n    R U R' U'\n\n    $ cube solve --scramble \"U R U' R'\"                                  # solve scramble\n    R U R' U'\n\n    $ cube solve --random --verbose                                      # solve random cube\n            ---------\n            | W O Y |\n            | W W G |\n            | O R Y |\n    ---------------------------------\n    | R O W | B G G | O W B | R G G |\n    | O O B | O G G | Y R W | R B Y |\n    | B R W | B R O | W W G | R Y Y |\n    ---------------------------------\n            | R B G |\n            | Y Y B |\n            | O B Y |\n            ---------\n    Cube: WOYWWGORYROWOOBBRWBGGOGGBROOWBYRWWWGRGGRBYRYYRBGYYBOBY\n    Solution: U2 D2 F' D' L' B' U2 B2 R U F2 D B2 R2 D F2 B2 R2 D F2 L2 U2 L2 U' (24)\n\n    $ cube solve --random --verbose --verbose --algorithm kociemba       # Kociemba algorithm (default)\n            ---------\n            | W G W |\n            | B W G |\n            | O R O |\n    ---------------------------------\n    | O Y G | W B B | Y R G | R W B |\n    | G O Y | R G B | O R W | R B Y |\n    | G Y Y | R O B | R B G | R O O |\n    ---------------------------------\n            | B G W |\n            | O Y W |\n            | Y W Y |\n            ---------\n    Cube: WGWBWGOROOYGGOYGYYWBBRGBROBYRGORWRBGRWBRBYROOBGWOYWYWY\n    Solution: [\"D L2 B L B U2 D2 B' L\", \"U' R2 D' R2 B2 D2 R2 U' F2 D2 R2 D' R2 D' B2\"] (24)\n\n    $ cube solve --random --verbose --verbose --algorithm thistle        # Thistlethwaite algorithm\n            ---------\n            | B Y R |\n            | B W B |\n            | W B B |\n    ---------------------------------\n    | O O R | B W O | W R W | G R Y |\n    | G O W | R G G | R R W | G B O |\n    | G Y Y | G O Y | R O O | W Y O |\n    ---------------------------------\n            | R Y B |\n            | B Y W |\n            | Y G G |\n            ---------\n    Cube: BYRBWBWBBOORGOWGYYBWORGGGOYWRWRRWROOGRYGBOWYORYBBYWYGG\n    Solution: [\"B' R2 D F\", \"U R U R' L' U2 D L\", \"U' R2 U F2 L2 F2 B2 U\", 'R2 F2 D2 F2 R2 U2 R2'] (27)\n\n    $ cube solve --scramble \"L2 U R D' B2 D2 F B D\" --optimal --verbose  # find the optimal solution\n            ---------\n            | B O Y |\n            | W W G |\n            | B O G |\n    ---------------------------------\n    | W G Y | O B R | W R B | R G O |\n    | W O Y | O G R | W R B | R B O |\n    | G W O | W B R | W Y Y | G G O |\n    ---------------------------------\n            | G Y B |\n            | B Y R |\n            | Y Y R |\n            ---------\n    Cube: BOYWWGBOGWGYWOYGWOOBROGRWBRWRBWRBWYYRGORBOGGOGYBBYRYYR\n    INFO: Solution: D' F' B' U2 F2 D L L2 F2 D2 L2 F2 U D L2 B2 D L2 (18)\n    INFO: Solution: D' F' B' U2 F2 D L' F2 D2 L2 F2 U D L2 B2 D L2 (17)\n    INFO: Solution: D' F' B' D2 B2 D R R2 U' L2 (10)\n    INFO: Solution: D' F' B' D2 B2 D R' U' L2 (9)\n    Optimal: D' F' B' D2 B2 D R' U' L2 (9)\n\n    $ cube solve --random --optimal --verbose --timeout 10               # stop search after 10 seconds\n            ---------\n            | B W G |\n            | O W Y |\n            | R R R |\n    ---------------------------------\n    | W B G | Y G B | W O W | O B O |\n    | W O B | Y G W | R R R | Y B G |\n    | Y Y W | R W O | G R Y | R G O |\n    ---------------------------------\n            | G O Y |\n            | G Y B |\n            | B O B |\n            ---------\n    Cube: BWGOWYRRRWBGWOBYYWYGBYGWRWOWOWRRRGRYOBOYBGRGOGOYGYBBOB\n    INFO: Solution: U2 R' B U2 L' F' U F2 L R2 U L2 U F2 B2 U2 L2 D L2 B2 D (21)\n    INFO: Solution: U B' L2 F D' R L F' R U' B' U' B2 D2 R2 B2 D F2 U2 F2 (20)\n    Suboptimal: U B' L2 F D' R L F' R U' B' U' B2 D2 R2 B2 D F2 U2 F2 (20)\n\nTo use **Cube Solver** in a Python project:\n\n.. code-block:: python\n\n    from cube_solver import Cube, Maneuver, Kociemba\n\n    scramble = Maneuver.random()\n    print(f\"Scramble: {scramble}\")\n\n    cube = Cube(scramble)\n    print(cube)\n    print(f\"Cube: {repr(cube)}\")\n\n    solver = Kociemba()\n    solution = solver.solve(cube)\n    assert solution is not None\n    assert solution == scramble.inverse\n    print(f\"Solution: {solution} ({len(solution)})\")\n\n\n=======\nCredits\n=======\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Rubik's Cube Solver",
    "version": "1.1.3",
    "project_urls": {
        "changelog": "https://github.com/itsdaveba/cube-solver/blob/main/HISTORY.rst",
        "documentation": "https://cube-solver.readthedocs.io",
        "issues": "https://github.com/itsdaveba/cube-solver/issues",
        "source": "https://github.com/itsdaveba/cube-solver"
    },
    "split_keywords": [
        "rubik",
        " cube",
        " solver"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a55dee69b70f477113998fd8eae2759ca5c540c2f31a9bc0e8c64ef460b3284a",
                "md5": "44fae75f09dfbb7821577183c75533fa",
                "sha256": "49d5f5aa4bd45dc9d185b98815ead1b9ee8397d5fd49e5d81431558576d68ff6"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "44fae75f09dfbb7821577183c75533fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 61423,
            "upload_time": "2025-07-09T11:49:15",
            "upload_time_iso_8601": "2025-07-09T11:49:15.152802Z",
            "url": "https://files.pythonhosted.org/packages/a5/5d/ee69b70f477113998fd8eae2759ca5c540c2f31a9bc0e8c64ef460b3284a/cube_solver-1.1.3-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8da6d83975097f6f98e5ec95dce975bb9eaa63ac67c44777bfbcdf0436b7ee2",
                "md5": "725b07fdddcc61d6fb25951e61b7822a",
                "sha256": "6d1e16a3a74ad4cb206c85ee5367c190abb4f8eaccdcee0e2178a117419d9736"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "725b07fdddcc61d6fb25951e61b7822a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 61141,
            "upload_time": "2025-07-09T11:49:16",
            "upload_time_iso_8601": "2025-07-09T11:49:16.603966Z",
            "url": "https://files.pythonhosted.org/packages/e8/da/6d83975097f6f98e5ec95dce975bb9eaa63ac67c44777bfbcdf0436b7ee2/cube_solver-1.1.3-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cab06988b33bb20eb0a0bd2dc9afa959826e4d52e1ac0edb9800fc7a7715d15b",
                "md5": "b3b12ec0ce334cf2c546b8b27d2e458d",
                "sha256": "a6a431a55322f0aa36d188dfe05db609173c43dfa2e8d8a5bf5414a6455c8ab1"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b3b12ec0ce334cf2c546b8b27d2e458d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 85645,
            "upload_time": "2025-07-09T11:49:18",
            "upload_time_iso_8601": "2025-07-09T11:49:18.096512Z",
            "url": "https://files.pythonhosted.org/packages/ca/b0/6988b33bb20eb0a0bd2dc9afa959826e4d52e1ac0edb9800fc7a7715d15b/cube_solver-1.1.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f575243b6b9d427a4d404ee344383a7c7423ce1a5bc7acb34cd8519ff4c2386f",
                "md5": "f8dde39d64410614f4cd7e1eac7e31b5",
                "sha256": "a453dd23c7641fccc835b922206798f3b2b47881734e1709698f4239f4ecac61"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f8dde39d64410614f4cd7e1eac7e31b5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 86184,
            "upload_time": "2025-07-09T11:49:19",
            "upload_time_iso_8601": "2025-07-09T11:49:19.877790Z",
            "url": "https://files.pythonhosted.org/packages/f5/75/243b6b9d427a4d404ee344383a7c7423ce1a5bc7acb34cd8519ff4c2386f/cube_solver-1.1.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a36b2826b7761d123b238fc8fe48555dc25d722b18bd304260106c6ca37ca736",
                "md5": "f7d904de56c34aee5802627d3148eb38",
                "sha256": "625bffc3c394985cb45c3bbc95aae685e00308973e1fa759068a681aa54539c7"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f7d904de56c34aee5802627d3148eb38",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 84865,
            "upload_time": "2025-07-09T11:49:21",
            "upload_time_iso_8601": "2025-07-09T11:49:21.213796Z",
            "url": "https://files.pythonhosted.org/packages/a3/6b/2826b7761d123b238fc8fe48555dc25d722b18bd304260106c6ca37ca736/cube_solver-1.1.3-cp310-cp310-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "71809b3ed49707688e0a64620e6b6d161823ba0c10dc54c95f71a11b5f5bbfe3",
                "md5": "aa37e2dcb3a820e55d749232e5a4b2aa",
                "sha256": "daadfe081d0ddec34f1b69a88507b943b622b86218584c3ee5682c24490d9050"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa37e2dcb3a820e55d749232e5a4b2aa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 85146,
            "upload_time": "2025-07-09T11:49:22",
            "upload_time_iso_8601": "2025-07-09T11:49:22.643616Z",
            "url": "https://files.pythonhosted.org/packages/71/80/9b3ed49707688e0a64620e6b6d161823ba0c10dc54c95f71a11b5f5bbfe3/cube_solver-1.1.3-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2985e738d0b388eb13f4bbf40d573d0fa129d97df3ad285a06d9b44d06680a4b",
                "md5": "090f1cfc6a5c673ce33054997a3437bd",
                "sha256": "e5870a501676d136e047f873f6e1005f9661742fa40d8dfd4f0d0e232ad7e452"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "090f1cfc6a5c673ce33054997a3437bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 60085,
            "upload_time": "2025-07-09T11:49:23",
            "upload_time_iso_8601": "2025-07-09T11:49:23.995936Z",
            "url": "https://files.pythonhosted.org/packages/29/85/e738d0b388eb13f4bbf40d573d0fa129d97df3ad285a06d9b44d06680a4b/cube_solver-1.1.3-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "630af7aa89e38cd8a1a38178de0294ca264b2a624cb8c88ab79b1aafcf1923ff",
                "md5": "0f79b6b2d3f3814687ea848b14ab5270",
                "sha256": "ac4f0074b00f3105f094af2bbdf3f6ec39f05e5b02efce1eb7c414ec298e5663"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0f79b6b2d3f3814687ea848b14ab5270",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 61293,
            "upload_time": "2025-07-09T11:49:25",
            "upload_time_iso_8601": "2025-07-09T11:49:25.014245Z",
            "url": "https://files.pythonhosted.org/packages/63/0a/f7aa89e38cd8a1a38178de0294ca264b2a624cb8c88ab79b1aafcf1923ff/cube_solver-1.1.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f892d65faa95cadeccfb58a356d5a54231dda5f2641b4f18b5cbb2bbb6e988f",
                "md5": "e312056c2cfdf9bcdfb832d2e4135edd",
                "sha256": "826e7b1d204a11051e129bf341041654fd16ab414d456f20db52cbfb391caf37"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e312056c2cfdf9bcdfb832d2e4135edd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 61422,
            "upload_time": "2025-07-09T11:49:25",
            "upload_time_iso_8601": "2025-07-09T11:49:25.973616Z",
            "url": "https://files.pythonhosted.org/packages/7f/89/2d65faa95cadeccfb58a356d5a54231dda5f2641b4f18b5cbb2bbb6e988f/cube_solver-1.1.3-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6ad49d83b543157899896bbb4fa5b10b18cbf8cea5f3fc220fdd5fa6a9bc4588",
                "md5": "578fc566d22c07eed355481a8d341842",
                "sha256": "b77bd408e168da5b91a1d18940d6709da3d39d7ff9f7bb118d12a37045f47b94"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "578fc566d22c07eed355481a8d341842",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 61142,
            "upload_time": "2025-07-09T11:49:27",
            "upload_time_iso_8601": "2025-07-09T11:49:27.119184Z",
            "url": "https://files.pythonhosted.org/packages/6a/d4/9d83b543157899896bbb4fa5b10b18cbf8cea5f3fc220fdd5fa6a9bc4588/cube_solver-1.1.3-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "37825a82fd7b1b4711f0160ffcd80b521592f319f83d38982e7ccd8ba830f93c",
                "md5": "deff4b32a3bc900a12287a5d8f3dd346",
                "sha256": "94b24b2d4325c067bad726610de2307518cb8211d3513349a0de158d185f6697"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "has_sig": false,
            "md5_digest": "deff4b32a3bc900a12287a5d8f3dd346",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 85813,
            "upload_time": "2025-07-09T11:49:28",
            "upload_time_iso_8601": "2025-07-09T11:49:28.689409Z",
            "url": "https://files.pythonhosted.org/packages/37/82/5a82fd7b1b4711f0160ffcd80b521592f319f83d38982e7ccd8ba830f93c/cube_solver-1.1.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec178e42c4b0ed2a9c26c9d4907b1a8b0ee2d677fb4159e2114d14ec6c731e96",
                "md5": "7355ff4d9c4bb90a527fd165f9cd7d8e",
                "sha256": "9110f5acba9fffe775a523965396d96eeca4ccaec5786e608a455b73a5e93f8a"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "7355ff4d9c4bb90a527fd165f9cd7d8e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 86327,
            "upload_time": "2025-07-09T11:49:30",
            "upload_time_iso_8601": "2025-07-09T11:49:30.115050Z",
            "url": "https://files.pythonhosted.org/packages/ec/17/8e42c4b0ed2a9c26c9d4907b1a8b0ee2d677fb4159e2114d14ec6c731e96/cube_solver-1.1.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8791e18426cbecac65280c8f0901b39cd7f47b89b0736ccb33ea6246ef13886",
                "md5": "0413554c45f130b66c6a61bd7bf1efff",
                "sha256": "9ea6fdbebf0166228ee494e2e29e7c8b73bcadcfde841850ca1f7ba537312bac"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0413554c45f130b66c6a61bd7bf1efff",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 85043,
            "upload_time": "2025-07-09T11:49:31",
            "upload_time_iso_8601": "2025-07-09T11:49:31.128382Z",
            "url": "https://files.pythonhosted.org/packages/e8/79/1e18426cbecac65280c8f0901b39cd7f47b89b0736ccb33ea6246ef13886/cube_solver-1.1.3-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d83f9af65c20b30eba1adc116dedc66396763270f606178db2067c9ed1135b73",
                "md5": "7e64c875cc94ec9ccccf3964b32e0a30",
                "sha256": "d3c3d0bd9a8b4b1cffdd76a67b394b3e6292a53edce5935e93b34abf70c451fd"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7e64c875cc94ec9ccccf3964b32e0a30",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 85274,
            "upload_time": "2025-07-09T11:49:32",
            "upload_time_iso_8601": "2025-07-09T11:49:32.513349Z",
            "url": "https://files.pythonhosted.org/packages/d8/3f/9af65c20b30eba1adc116dedc66396763270f606178db2067c9ed1135b73/cube_solver-1.1.3-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e74c3476a92ef30df57e138b3d68cb9e2a49d5692fabd78ede5516fd5b9c4cb2",
                "md5": "3cb84eb443b2316864e84ec5307251d6",
                "sha256": "0750780023fd6531866cc9f04f48f0756a2d7762026bf55b38a38da73d211a4e"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "3cb84eb443b2316864e84ec5307251d6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 60085,
            "upload_time": "2025-07-09T11:49:33",
            "upload_time_iso_8601": "2025-07-09T11:49:33.588993Z",
            "url": "https://files.pythonhosted.org/packages/e7/4c/3476a92ef30df57e138b3d68cb9e2a49d5692fabd78ede5516fd5b9c4cb2/cube_solver-1.1.3-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "adff4e67de7c220c875b0b25e110c385508350dbbb7e1b3ee6ac069935b5965b",
                "md5": "1db6fb4b55605d2b029cc143da32223b",
                "sha256": "18d876f300451838cac3a5df21f894d3aca95016aa5a42c481cbd045a2ea19cb"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1db6fb4b55605d2b029cc143da32223b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 61290,
            "upload_time": "2025-07-09T11:49:35",
            "upload_time_iso_8601": "2025-07-09T11:49:35.016707Z",
            "url": "https://files.pythonhosted.org/packages/ad/ff/4e67de7c220c875b0b25e110c385508350dbbb7e1b3ee6ac069935b5965b/cube_solver-1.1.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ea725962b6dca2dbced9d7bfc5ba4161c4a64708623ddd3efa22c382752e79d9",
                "md5": "8db891f2c13792939febda8380c5d802",
                "sha256": "0b3b9cdab2550e046e5a6957975bb795b12ed8a0f7fbb37489b1a2df1e1060e1"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8db891f2c13792939febda8380c5d802",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 61466,
            "upload_time": "2025-07-09T11:49:36",
            "upload_time_iso_8601": "2025-07-09T11:49:36.501469Z",
            "url": "https://files.pythonhosted.org/packages/ea/72/5962b6dca2dbced9d7bfc5ba4161c4a64708623ddd3efa22c382752e79d9/cube_solver-1.1.3-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "936fbb18dd06f6b7192c4d1814fae4519e2b168dc6fff57b3ba318cfeb4d919c",
                "md5": "c333a22babbed55042f2b4b5fbf474a1",
                "sha256": "041e44c2e9731ad63df04ff8784ae4552e8d6d723d9c056eda18d59317572cac"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c333a22babbed55042f2b4b5fbf474a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 61154,
            "upload_time": "2025-07-09T11:49:37",
            "upload_time_iso_8601": "2025-07-09T11:49:37.989700Z",
            "url": "https://files.pythonhosted.org/packages/93/6f/bb18dd06f6b7192c4d1814fae4519e2b168dc6fff57b3ba318cfeb4d919c/cube_solver-1.1.3-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "39ae46cef7a5a7a0a6c99fcef7836aead52ec56a7594e84dd3bd5c5672a0f0ef",
                "md5": "514326c7d83b05106f6a953be400a300",
                "sha256": "fc24056d661d693da91bf8d742a1a12c7177b9fb4d45be4cc69df4c97b6e528b"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "has_sig": false,
            "md5_digest": "514326c7d83b05106f6a953be400a300",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 86257,
            "upload_time": "2025-07-09T11:49:39",
            "upload_time_iso_8601": "2025-07-09T11:49:39.363709Z",
            "url": "https://files.pythonhosted.org/packages/39/ae/46cef7a5a7a0a6c99fcef7836aead52ec56a7594e84dd3bd5c5672a0f0ef/cube_solver-1.1.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da4f187d92937c6f40cf24bd31955081387de5b7dba0141269be2f61743a192a",
                "md5": "52757a85c74844ef4d83f448c853398d",
                "sha256": "1a095d55755f1e00e4b5191a27f245374b216f7a10ce91045c63a2c48c7ceaa7"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "52757a85c74844ef4d83f448c853398d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 86779,
            "upload_time": "2025-07-09T11:49:40",
            "upload_time_iso_8601": "2025-07-09T11:49:40.431653Z",
            "url": "https://files.pythonhosted.org/packages/da/4f/187d92937c6f40cf24bd31955081387de5b7dba0141269be2f61743a192a/cube_solver-1.1.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f2e754a3dfbacac066c77eff44a184ae86bad33654e256ce6efff1e7b0450ab2",
                "md5": "554b25dc9e183fa1eb827d36d37eb544",
                "sha256": "f93c762e445b3426e3708667cdef321e1e610d1bce89fb6a09d86386eb5fdab0"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "554b25dc9e183fa1eb827d36d37eb544",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 85389,
            "upload_time": "2025-07-09T11:49:41",
            "upload_time_iso_8601": "2025-07-09T11:49:41.469761Z",
            "url": "https://files.pythonhosted.org/packages/f2/e7/54a3dfbacac066c77eff44a184ae86bad33654e256ce6efff1e7b0450ab2/cube_solver-1.1.3-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ed8883e2914668c6475f77a1a57f7da845a983bd1d63155aa0470c29d9a19d77",
                "md5": "4fff8749b9cdb46ee5ea12a0990a6b28",
                "sha256": "b7b1a6154262e7c1ae04967d672be954d783f41c8682aa23854ce5b7beb56b78"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4fff8749b9cdb46ee5ea12a0990a6b28",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 85710,
            "upload_time": "2025-07-09T11:49:42",
            "upload_time_iso_8601": "2025-07-09T11:49:42.937919Z",
            "url": "https://files.pythonhosted.org/packages/ed/88/83e2914668c6475f77a1a57f7da845a983bd1d63155aa0470c29d9a19d77/cube_solver-1.1.3-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "00948b2d7ba1e195e8b1cc736282ac37187b84824f1cc740deb75e4a4b1d1132",
                "md5": "d5bcff1de87b88ec6e0cb044067e5bdf",
                "sha256": "11c2263c86e6fdcfea9135903d70ef784f9e42c60fbe2879a06bad17ad88035c"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "d5bcff1de87b88ec6e0cb044067e5bdf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 60145,
            "upload_time": "2025-07-09T11:49:44",
            "upload_time_iso_8601": "2025-07-09T11:49:44.026899Z",
            "url": "https://files.pythonhosted.org/packages/00/94/8b2d7ba1e195e8b1cc736282ac37187b84824f1cc740deb75e4a4b1d1132/cube_solver-1.1.3-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e5129920e65d8212ad0e7c4e33716d14036f19b9dbcc1f9f977735df70d8076c",
                "md5": "41ad2e9fd7e0ed01a4715801dc1617fc",
                "sha256": "b1c73f3186800f78e947bdb3b07e85f490ab0cfab26529ab8324c421899348e9"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "41ad2e9fd7e0ed01a4715801dc1617fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 61350,
            "upload_time": "2025-07-09T11:49:45",
            "upload_time_iso_8601": "2025-07-09T11:49:45.393908Z",
            "url": "https://files.pythonhosted.org/packages/e5/12/9920e65d8212ad0e7c4e33716d14036f19b9dbcc1f9f977735df70d8076c/cube_solver-1.1.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6d5af2be5481e5492f697a2616f8304cd73407f0fecd637ba5f21805da00f609",
                "md5": "8f6d31bc124d0e9640a0fed413872a8c",
                "sha256": "59edef6147d8f5ec58a68fcf85f36d03766271f4769cd3d34206e5e0a465c6e7"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8f6d31bc124d0e9640a0fed413872a8c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 61452,
            "upload_time": "2025-07-09T11:49:46",
            "upload_time_iso_8601": "2025-07-09T11:49:46.408975Z",
            "url": "https://files.pythonhosted.org/packages/6d/5a/f2be5481e5492f697a2616f8304cd73407f0fecd637ba5f21805da00f609/cube_solver-1.1.3-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "19fca34d92b87ac8b608cb9c8a318211b995127b6649a18c07b4434372e63b9c",
                "md5": "9cc3bb2e87a1341f7e2e9fddc9d45f85",
                "sha256": "73544d53bff8ac2201343b7405b299e0dd2c6806c514167cbea8a7d001b460ca"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9cc3bb2e87a1341f7e2e9fddc9d45f85",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 61161,
            "upload_time": "2025-07-09T11:49:47",
            "upload_time_iso_8601": "2025-07-09T11:49:47.596453Z",
            "url": "https://files.pythonhosted.org/packages/19/fc/a34d92b87ac8b608cb9c8a318211b995127b6649a18c07b4434372e63b9c/cube_solver-1.1.3-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b1b138ee77a66c59c0585dc020e1b5c47cd984fa0e02d90d84a41077bb26981",
                "md5": "45b13a6d5ad13a398d4558026b235e23",
                "sha256": "323de0782a57214842f1699ff85fd8e6436b6ae05fc75a9677febb7e8e5b9861"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "has_sig": false,
            "md5_digest": "45b13a6d5ad13a398d4558026b235e23",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 86282,
            "upload_time": "2025-07-09T11:49:48",
            "upload_time_iso_8601": "2025-07-09T11:49:48.753082Z",
            "url": "https://files.pythonhosted.org/packages/5b/1b/138ee77a66c59c0585dc020e1b5c47cd984fa0e02d90d84a41077bb26981/cube_solver-1.1.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "271988b15cb7dce67e4f1d4c26251a5b72718f688f942e73d5e9e816163e82bf",
                "md5": "4812e71d7488c49f35df843061af8752",
                "sha256": "bc3998d1a4c06cf1b22845cf0ffc126f6478850df0502f4a0cbb038dcbac34f1"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4812e71d7488c49f35df843061af8752",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 86802,
            "upload_time": "2025-07-09T11:49:49",
            "upload_time_iso_8601": "2025-07-09T11:49:49.823043Z",
            "url": "https://files.pythonhosted.org/packages/27/19/88b15cb7dce67e4f1d4c26251a5b72718f688f942e73d5e9e816163e82bf/cube_solver-1.1.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "70d83de1171d4a0336a8d6921d1cc710306b2ca702735c5e615ce1f1af206eff",
                "md5": "11b3f6f842f9408a246ea477ad354f5d",
                "sha256": "45eb14c12b2de7d5016c98a913b0520d9d4053e1bb918f39a8082e4a62619bdf"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "11b3f6f842f9408a246ea477ad354f5d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 85447,
            "upload_time": "2025-07-09T11:49:50",
            "upload_time_iso_8601": "2025-07-09T11:49:50.828896Z",
            "url": "https://files.pythonhosted.org/packages/70/d8/3de1171d4a0336a8d6921d1cc710306b2ca702735c5e615ce1f1af206eff/cube_solver-1.1.3-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7708f843f814d21fadeccf4fa64dc5cde746bfb6486859b777fd06d046da2b1d",
                "md5": "1ef029287406cbcd8c89e3901fdde1f7",
                "sha256": "beae802a466e88de8f93296920ecd0acda202b3e17cae4b9d8af5a86da1cb637"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1ef029287406cbcd8c89e3901fdde1f7",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 85751,
            "upload_time": "2025-07-09T11:49:52",
            "upload_time_iso_8601": "2025-07-09T11:49:52.491193Z",
            "url": "https://files.pythonhosted.org/packages/77/08/f843f814d21fadeccf4fa64dc5cde746bfb6486859b777fd06d046da2b1d/cube_solver-1.1.3-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cdc4751f62aaabfa1727a97bfdb163be07324f9c7f8c615cfcb870c204c9420d",
                "md5": "28e24b2964047eb3a6dd0584be3f2f03",
                "sha256": "099be6aafd3db5514b283245ace775a57cd4b79ff2137119db16538a110c6b19"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "28e24b2964047eb3a6dd0584be3f2f03",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 60142,
            "upload_time": "2025-07-09T11:49:53",
            "upload_time_iso_8601": "2025-07-09T11:49:53.505153Z",
            "url": "https://files.pythonhosted.org/packages/cd/c4/751f62aaabfa1727a97bfdb163be07324f9c7f8c615cfcb870c204c9420d/cube_solver-1.1.3-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0d30cb191e87ca6acc7e5ca8d9518658da88839dcf11e4ab3a33957dc0bb5a67",
                "md5": "5681cf24592e9fc85a9f3dec7e25e51b",
                "sha256": "bd9bd47bcb2d46479cf3066e9c2c490d2fc13325a29c38c6c5c635b3a62457ea"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5681cf24592e9fc85a9f3dec7e25e51b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 61345,
            "upload_time": "2025-07-09T11:49:54",
            "upload_time_iso_8601": "2025-07-09T11:49:54.531979Z",
            "url": "https://files.pythonhosted.org/packages/0d/30/cb191e87ca6acc7e5ca8d9518658da88839dcf11e4ab3a33957dc0bb5a67/cube_solver-1.1.3-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ddc03d28ffa137c60cc0efdf42e64f7a063331fbef6d4d24081e095f3cf0e3c6",
                "md5": "8ffaf35fa9806187b5e54fa76dfe4463",
                "sha256": "95be85b6f9bc50afc82f11cdefb98eafa62a7e5c7f317daa6cbbe27862dffaf6"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8ffaf35fa9806187b5e54fa76dfe4463",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 61416,
            "upload_time": "2025-07-09T11:49:55",
            "upload_time_iso_8601": "2025-07-09T11:49:55.820623Z",
            "url": "https://files.pythonhosted.org/packages/dd/c0/3d28ffa137c60cc0efdf42e64f7a063331fbef6d4d24081e095f3cf0e3c6/cube_solver-1.1.3-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0d32de3ec5394d556f382fa7d134c3d2faaf5778aafbee54811352aaa968ade1",
                "md5": "eb19af094b0233937c37489c3fd1f0a7",
                "sha256": "8ebadb731d9dfbd48fbfae71d41cf20588454da2d2c5e3261048dfec997b92d4"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "eb19af094b0233937c37489c3fd1f0a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 61138,
            "upload_time": "2025-07-09T11:49:56",
            "upload_time_iso_8601": "2025-07-09T11:49:56.810709Z",
            "url": "https://files.pythonhosted.org/packages/0d/32/de3ec5394d556f382fa7d134c3d2faaf5778aafbee54811352aaa968ade1/cube_solver-1.1.3-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb8f218ee252841e14283ada74cc25f2e9b23ab9b76983ee708c7c72763b145a",
                "md5": "3e87cb8fabe01685180ffc4b311ed8a6",
                "sha256": "14b624b812db250f1403a2677266e1eccd618133b0dee8c0894fe4de3cfe8aa8"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3e87cb8fabe01685180ffc4b311ed8a6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 85510,
            "upload_time": "2025-07-09T11:49:57",
            "upload_time_iso_8601": "2025-07-09T11:49:57.933866Z",
            "url": "https://files.pythonhosted.org/packages/eb/8f/218ee252841e14283ada74cc25f2e9b23ab9b76983ee708c7c72763b145a/cube_solver-1.1.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8dec559357544eaad30b7ab1240355d94673b15b3dc790b99d99e46a9671104",
                "md5": "79ea30d19a8d71c8505baa0e857d9c6f",
                "sha256": "70b76c85221a734297347ad5a78717b6ea8563cdef3eea0081a12a925e92ac9f"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "79ea30d19a8d71c8505baa0e857d9c6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 86010,
            "upload_time": "2025-07-09T11:49:59",
            "upload_time_iso_8601": "2025-07-09T11:49:59.202722Z",
            "url": "https://files.pythonhosted.org/packages/a8/de/c559357544eaad30b7ab1240355d94673b15b3dc790b99d99e46a9671104/cube_solver-1.1.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fd809f1c926e65e0bba95443c705bba22206061daf87d8de4bcce3319cebc843",
                "md5": "afb7893edb2da4d2cd9b5d692bc21d77",
                "sha256": "9e7ba2493f6c7a8a7a2c4ee10519ab1327ecc130a265f800eb1fd618002e9d78"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "afb7893edb2da4d2cd9b5d692bc21d77",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 84724,
            "upload_time": "2025-07-09T11:50:00",
            "upload_time_iso_8601": "2025-07-09T11:50:00.366731Z",
            "url": "https://files.pythonhosted.org/packages/fd/80/9f1c926e65e0bba95443c705bba22206061daf87d8de4bcce3319cebc843/cube_solver-1.1.3-cp39-cp39-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6285d4a07b7805723ee114036ca6c04c487b0a5816968b5337fc61c2fd84d219",
                "md5": "f18f3a10834d7533f5d9402d768a1497",
                "sha256": "04925030475fec868116cb499c81dffd33c7a17e5b000688f0442791da8582ed"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f18f3a10834d7533f5d9402d768a1497",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 85017,
            "upload_time": "2025-07-09T11:50:01",
            "upload_time_iso_8601": "2025-07-09T11:50:01.385942Z",
            "url": "https://files.pythonhosted.org/packages/62/85/d4a07b7805723ee114036ca6c04c487b0a5816968b5337fc61c2fd84d219/cube_solver-1.1.3-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8fc5a94f199f808141510d818497df5c21b565f8ca07d1bb89419fd51cc4654",
                "md5": "100e2d87d6d20a00660eac1c96b0b357",
                "sha256": "4d87565795d1f283d6d31f7838d29aa496bee01fcfe55287d72edb87bf695e7d"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "100e2d87d6d20a00660eac1c96b0b357",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 60083,
            "upload_time": "2025-07-09T11:50:02",
            "upload_time_iso_8601": "2025-07-09T11:50:02.553482Z",
            "url": "https://files.pythonhosted.org/packages/e8/fc/5a94f199f808141510d818497df5c21b565f8ca07d1bb89419fd51cc4654/cube_solver-1.1.3-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b34513760a9df25261ab1056289a70406b01ac398d18d04539fd50d622d201fa",
                "md5": "58e19d2cb7e49f9986c1a1adf40108eb",
                "sha256": "f10444417bf445e955d5a30163b31a397659fea077f7e56861cefa7a18a7c170"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "58e19d2cb7e49f9986c1a1adf40108eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 61284,
            "upload_time": "2025-07-09T11:50:03",
            "upload_time_iso_8601": "2025-07-09T11:50:03.530853Z",
            "url": "https://files.pythonhosted.org/packages/b3/45/13760a9df25261ab1056289a70406b01ac398d18d04539fd50d622d201fa/cube_solver-1.1.3-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5927567673e1a7031190d45f327b42dcf6d9823883a2669448e9b025f94b885e",
                "md5": "9b9e945aeecd74dfaf758d82cb977944",
                "sha256": "020521c641f1975fcfeaf8b92cfe5f35286988490a7ff9a5c5c656740bfd177b"
            },
            "downloads": -1,
            "filename": "cube_solver-1.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "9b9e945aeecd74dfaf758d82cb977944",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 62652,
            "upload_time": "2025-07-09T11:50:04",
            "upload_time_iso_8601": "2025-07-09T11:50:04.801355Z",
            "url": "https://files.pythonhosted.org/packages/59/27/567673e1a7031190d45f327b42dcf6d9823883a2669448e9b025f94b885e/cube_solver-1.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 11:50:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "itsdaveba",
    "github_project": "cube-solver",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cube-solver"
}
        
Elapsed time: 1.34174s