Skip to main content

XOXO

Balanced diversity solver xoxo to the square.

License: MIT | Country of origin: Switzerland | Export control classification number(ECCN): EAR99

Third party dependencies are documented in the folder third-party.

version downloads wheel supported-versions supported-implementations maintenance-status

Documentation

User and developer documentation of xoxo.

Bug Tracker

Any feature requests or bug reports shall go to the todos of 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 - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.
  • at sourcehut - 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 or if you are a sourcehut user by selecting "Prepare a patchset" on the summary page of your fork at sourcehut.

Example

Given the input file:

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

for clarity showing the dump to expose the regularity:

❯ 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:

❯ 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

Status

Experimental.

Note The default branch is default.

Metadata

Release files for xoxo 2023.10.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xoxo 2023.10.21
File Size Uploaded Provenance Actions
xoxo-2023.10.21.tar.gz 10.3 kB Without provenance Details for xoxo-2023.10.21.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xoxo 2023.10.21
File Interpreter ABI Platform Actions
xoxo-2023.10.21-py3-none-any.whl Python 3 none any Details for xoxo-2023.10.21-py3-none-any.whl

Total release size: 17.9 kB

Release files / xoxo-2023.10.21.tar.gz

Download URL xoxo-2023.10.21.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8e790d138c487c8e2badc2d6710def9100765e0db14628172fe286f28a9255b1
BLAKE2b-256 checksum
How to use checksums
a8d6b73a6b47c6900c4b5f6593c724d9b6de004f4a74f0bcbd0c6dad87fee626
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / xoxo-2023.10.21-py3-none-any.whl

Download URL xoxo-2023.10.21-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bffcd3930aff655f13f68cace457501d443f11302f5bb58a5d5869e54ba39211
BLAKE2b-256 checksum
How to use checksums
c497b10028ba4f00c47a0dab817494b9b2597540647576ac502c3b4fc5fa6add
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Security for xoxo 2023.10.21

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page