Skip to main content

Python CLI to explore chessboard positions.

Project description

Chessboard
==========

Python CLI to explore chessboard positions.

.. image:: https://img.shields.io/travis/kdeldycke/chessboard/develop.svg?style=flat
:target: https://travis-ci.org/kdeldycke/chessboard
:alt: Unit-tests status
.. image:: https://img.shields.io/coveralls/kdeldycke/chessboard/develop.svg?style=flat
:target: https://coveralls.io/r/kdeldycke/chessboard?branch=develop
:alt: Coverage Status
.. image:: https://img.shields.io/requires/github/kdeldycke/chessboard/master.svg?style=flat
:target: https://requires.io/github/kdeldycke/chessboard/requirements/?branch=master
:alt: Requirements freshness
.. image:: https://img.shields.io/scrutinizer/g/kdeldycke/chessboard.svg?style=flat
:target: https://scrutinizer-ci.com/g/kdeldycke/chessboard/?branch=develop
:alt: Code Quality


Development philosophy
----------------------

1. First create something that work (to provide business value).
2. Then something that's beautiful (to lower maintenance costs).
3. Finally works on performance (to avoid wasting time on premature optimizations).


Install
-------

.. code-block:: bash

$ git clone git@github.com:kdeldycke/chessboard.git
$ cd ./chessboard
$ python ./setup.py develop


Usage
-----

.. code-block:: bash

$ chessboard --help
Usage: chessboard [OPTIONS]

Python CLI to explore chessboard positions.

Options:
--version Show the version and exit.
-l, --length INTEGER Length of the board.
-h, --height INTEGER Height of the board.
-v, --verbose Print much more debug statements.
--king INTEGER Number of kings to add to the board.
--queen INTEGER Number of queens to add to the board.
--help Show this message and exit.


Unit-tests
----------

.. code-block:: bash

$ python ./setup.py nosetests


Third-party
-----------

This project package's boilerplate is sourced from the `code I wrote
<https://github.com/scaleway/postal-address/graphs/contributors>`_ for
`Scaleway <https://scaleway.com/>`_'s `postal-address module
<https://github.com/scaleway/postal-address>`_, which is published under a
`GPLv2+ License <https://github.com/scaleway/postal-address#license>`_.

The CLI code is based on the one I wrote for the `kdenlive-tools module
<https://github.com/kdeldycke/kdenlive-tools>`_, published under a `BSD
license <https://github.com/kdeldycke/kdenlive-tools/blob/master/LICENSE>`_.


License
-------

This software is licensed under the `GNU General Public License v2 or later
(GPLv2+)
<https://github.com/kdeldycke/chessboard/blob/master/LICENSE>`_.

ChangeLog
=========


0.4.0 (2015-08-123)
------------------

* Add project status badges.
* Enable continuous integration metrics: build status, coverage and code
quality.
* Fix index to position computation in non-square boards.
* Remove restriction on board dimensions.
* Unit-tests result sets produced by the solver.


0.3.0 (2015-08-12)
------------------

* Add Queen piece.
* Fix displaying of piece representation.
* Fix persistence of square occupancy between each piece addition.


0.2.1 (2015-08-11)
------------------

* Fix King displacement map.


0.2.0 (2015-08-11)
------------------

* Allow initialization of board pieces.
* Implement brute-force solver.


0.1.1 (2015-08-08)
------------------

* Package re-release to fix bad version number.


0.1.0 (2015-08-08)
------------------

* First public release.
* Implements a CLI to inititalize the chessboard.


0.0.0 (2015-08-08)
------------------

* First commit.

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page