xoxo


Namexoxo JSON
Version 2023.10.21 PyPI version JSON
download
home_page
SummaryBalanced diversity solver xoxo to the square.
upload_time2023-10-21 12:44:38
maintainer
docs_urlNone
author
requires_python>=3.9
license
keywords games solver
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # XOXO

Balanced diversity solver xoxo to the square.

[License: MIT](https://git.sr.ht/~sthagen/xoxo/tree/default/item/LICENSE) | 
[Country of origin: Switzerland](https://git.sr.ht/~sthagen/xoxo/tree/default/item/COUNTRY-OF-ORIGIN) | 
[Export control classification number(ECCN): EAR99](https://git.sr.ht/~sthagen/xoxo/tree/default/item/EXPORT-CONTROL-CLASSIFICATION-NUMBER)

Third party dependencies are documented in the folder [third-party](docs/third-party/README.md).

[![version](https://img.shields.io/pypi/v/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)
[![downloads](https://static.pepy.tech/badge/xoxo/month)](https://pepy.tech/project/xoxo)
[![wheel](https://img.shields.io/pypi/wheel/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)
[![supported-versions](https://img.shields.io/pypi/pyversions/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)
[![supported-implementations](https://img.shields.io/pypi/implementation/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)
[![maintenance-status](https://img.shields.io/github/commit-activity/y/sthagen/xoxo.svg?style=flat)](https://git.sr.ht/~sthagen/xoxo/log)

## Documentation

User and developer [documentation of xoxo](https://codes.dilettant.life/docs/xoxo).

## Bug Tracker

Any feature requests or bug reports shall go to the [todos of xoxo](https://todo.sr.ht/~sthagen/xoxo).

## Primary Source repository

The main source of `xoxo` is on a mountain in central Switzerland.
We use distributed version control (git).
There is no central hub.
Every clone can become a new source for the benefit of all.
The preferred public clones of `xoxo` are:

* [on codeberg](https://codeberg.org/sthagen/xoxo) - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.
* [at sourcehut](https://git.sr.ht/~sthagen/xoxo) - a collection of tools useful for software development.

## Contributions

Please do not submit "pull requests" (I found no way to disable that "feature" on GitHub).
If you like to share small changes under the repositories license please kindly do so by sending a patchset.
You can either send such a patchset per email using [git send-email](https://git-send-email.io) or 
if you are a sourcehut user by selecting "Prepare a patchset" on the summary page of your fork at [sourcehut](https://git.sr.ht/).

## Example 

Given the input file:

```console
❯ cat test/fixtures/grid_s_1.txt
O
X
OX   X
 XX
   OO
XXO
```

for clarity showing the dump to expose the regularity:

```console
❯ xxd -c 7 test/fixtures/grid_s_1.txt
00000000: 4f20 2020 2020 0a  O     .
00000007: 5820 2020 2020 0a  X     .
0000000e: 4f58 2020 2058 0a  OX   X.
00000015: 2058 5820 2020 0a   XX   .
0000001c: 2020 204f 4f20 0a     OO .
00000023: 5858 4f20 2020 0a  XXO   .
```

`xoxo` will try to solve the puzzle in a diverse but balanced way:

```console
❯ xoxo test/fixtures/grid_s_1.txt
Problem:

,---+---+---+---+---+---,
| O |   |   |   |   |   |  1
|---+---+---+---+---+---|
| X |   |   |   |   |   |  2
|---+---+---+---+---+---|
| O | X |   |   |   | X |  3
|---+---+---+---+---+---|
|   | X | X |   |   |   |  4
|---+---+---+---+---+---|
|   |   |   | O | O |   |  5
|---+---+---+---+---+---|
| X | X | O |   |   |   |  6
*---+---+---+---+---+---*
  1   2   3   4   5   6


Solution:

,---+---+---+---+---+---,
| O | O | X | O | X | X |  1
|---+---+---+---+---+---|
| X | O | O | X | X | O |  2
|---+---+---+---+---+---|
| O | X | O | X | O | X |  3
|---+---+---+---+---+---|
| O | X | X | O | X | O |  4
|---+---+---+---+---+---|
| X | O | X | O | O | X |  5
|---+---+---+---+---+---|
| X | X | O | X | O | O |  6
*---+---+---+---+---+---*
  1   2   3   4   5   6

```

More in the [usage documentation](https://codes.dilettant.life/docs/xoxo/usage/)

# Status

Experimental.

**Note** The default branch is `default`.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "xoxo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Stefan Hagen <stefan@hagen.link>",
    "keywords": "games,solver",
    "author": "",
    "author_email": "Stefan Hagen <stefan@hagen.link>",
    "download_url": "https://files.pythonhosted.org/packages/a8/d6/b73a6b47c6900c4b5f6593c724d9b6de004f4a74f0bcbd0c6dad87fee626/xoxo-2023.10.21.tar.gz",
    "platform": null,
    "description": "# XOXO\n\nBalanced diversity solver xoxo to the square.\n\n[License: MIT](https://git.sr.ht/~sthagen/xoxo/tree/default/item/LICENSE) | \n[Country of origin: Switzerland](https://git.sr.ht/~sthagen/xoxo/tree/default/item/COUNTRY-OF-ORIGIN) | \n[Export control classification number(ECCN): EAR99](https://git.sr.ht/~sthagen/xoxo/tree/default/item/EXPORT-CONTROL-CLASSIFICATION-NUMBER)\n\nThird party dependencies are documented in the folder [third-party](docs/third-party/README.md).\n\n[![version](https://img.shields.io/pypi/v/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)\n[![downloads](https://static.pepy.tech/badge/xoxo/month)](https://pepy.tech/project/xoxo)\n[![wheel](https://img.shields.io/pypi/wheel/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)\n[![supported-versions](https://img.shields.io/pypi/pyversions/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)\n[![supported-implementations](https://img.shields.io/pypi/implementation/xoxo.svg?style=flat)](https://pypi.python.org/pypi/xoxo/)\n[![maintenance-status](https://img.shields.io/github/commit-activity/y/sthagen/xoxo.svg?style=flat)](https://git.sr.ht/~sthagen/xoxo/log)\n\n## Documentation\n\nUser and developer [documentation of xoxo](https://codes.dilettant.life/docs/xoxo).\n\n## Bug Tracker\n\nAny feature requests or bug reports shall go to the [todos of xoxo](https://todo.sr.ht/~sthagen/xoxo).\n\n## Primary Source repository\n\nThe main source of `xoxo` is on a mountain in central Switzerland.\nWe use distributed version control (git).\nThere is no central hub.\nEvery clone can become a new source for the benefit of all.\nThe preferred public clones of `xoxo` are:\n\n* [on codeberg](https://codeberg.org/sthagen/xoxo) - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.\n* [at sourcehut](https://git.sr.ht/~sthagen/xoxo) - a collection of tools useful for software development.\n\n## Contributions\n\nPlease do not submit \"pull requests\" (I found no way to disable that \"feature\" on GitHub).\nIf you like to share small changes under the repositories license please kindly do so by sending a patchset.\nYou can either send such a patchset per email using [git send-email](https://git-send-email.io) or \nif you are a sourcehut user by selecting \"Prepare a patchset\" on the summary page of your fork at [sourcehut](https://git.sr.ht/).\n\n## Example \n\nGiven the input file:\n\n```console\n\u276f cat test/fixtures/grid_s_1.txt\nO\nX\nOX   X\n XX\n   OO\nXXO\n```\n\nfor clarity showing the dump to expose the regularity:\n\n```console\n\u276f xxd -c 7 test/fixtures/grid_s_1.txt\n00000000: 4f20 2020 2020 0a  O     .\n00000007: 5820 2020 2020 0a  X     .\n0000000e: 4f58 2020 2058 0a  OX   X.\n00000015: 2058 5820 2020 0a   XX   .\n0000001c: 2020 204f 4f20 0a     OO .\n00000023: 5858 4f20 2020 0a  XXO   .\n```\n\n`xoxo` will try to solve the puzzle in a diverse but balanced way:\n\n```console\n\u276f xoxo test/fixtures/grid_s_1.txt\nProblem:\n\n,---+---+---+---+---+---,\n| O |   |   |   |   |   |  1\n|---+---+---+---+---+---|\n| X |   |   |   |   |   |  2\n|---+---+---+---+---+---|\n| O | X |   |   |   | X |  3\n|---+---+---+---+---+---|\n|   | X | X |   |   |   |  4\n|---+---+---+---+---+---|\n|   |   |   | O | O |   |  5\n|---+---+---+---+---+---|\n| X | X | O |   |   |   |  6\n*---+---+---+---+---+---*\n  1   2   3   4   5   6\n\n\nSolution:\n\n,---+---+---+---+---+---,\n| O | O | X | O | X | X |  1\n|---+---+---+---+---+---|\n| X | O | O | X | X | O |  2\n|---+---+---+---+---+---|\n| O | X | O | X | O | X |  3\n|---+---+---+---+---+---|\n| O | X | X | O | X | O |  4\n|---+---+---+---+---+---|\n| X | O | X | O | O | X |  5\n|---+---+---+---+---+---|\n| X | X | O | X | O | O |  6\n*---+---+---+---+---+---*\n  1   2   3   4   5   6\n\n```\n\nMore in the [usage documentation](https://codes.dilettant.life/docs/xoxo/usage/)\n\n# Status\n\nExperimental.\n\n**Note** The default branch is `default`.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Balanced diversity solver xoxo to the square.",
    "version": "2023.10.21",
    "project_urls": {
        "Bug-Tracker": "https://todo.sr.ht/~sthagen/xoxo",
        "Documentation": "https://codes.dilettant.life/docs/xoxo",
        "Homepage": "https://git.sr.ht/~sthagen/xoxo",
        "Source-Code": "https://git.sr.ht/~sthagen/xoxo",
        "Test-Coverage": "https://codes.dilettant.life/coverage/xoxo"
    },
    "split_keywords": [
        "games",
        "solver"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c497b10028ba4f00c47a0dab817494b9b2597540647576ac502c3b4fc5fa6add",
                "md5": "c8611a3ce324f430f229aa1e000f5072",
                "sha256": "bffcd3930aff655f13f68cace457501d443f11302f5bb58a5d5869e54ba39211"
            },
            "downloads": -1,
            "filename": "xoxo-2023.10.21-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c8611a3ce324f430f229aa1e000f5072",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 7654,
            "upload_time": "2023-10-21T12:44:36",
            "upload_time_iso_8601": "2023-10-21T12:44:36.906234Z",
            "url": "https://files.pythonhosted.org/packages/c4/97/b10028ba4f00c47a0dab817494b9b2597540647576ac502c3b4fc5fa6add/xoxo-2023.10.21-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8d6b73a6b47c6900c4b5f6593c724d9b6de004f4a74f0bcbd0c6dad87fee626",
                "md5": "01a949681cbf6635879022e13251a3f3",
                "sha256": "8e790d138c487c8e2badc2d6710def9100765e0db14628172fe286f28a9255b1"
            },
            "downloads": -1,
            "filename": "xoxo-2023.10.21.tar.gz",
            "has_sig": false,
            "md5_digest": "01a949681cbf6635879022e13251a3f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 10286,
            "upload_time": "2023-10-21T12:44:38",
            "upload_time_iso_8601": "2023-10-21T12:44:38.548715Z",
            "url": "https://files.pythonhosted.org/packages/a8/d6/b73a6b47c6900c4b5f6593c724d9b6de004f4a74f0bcbd0c6dad87fee626/xoxo-2023.10.21.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-21 12:44:38",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "xoxo"
}
        
Elapsed time: 0.12363s