Skip to main content

Graph representation and tools for programming with pentagame

Project description

Python Version Code Style Version GitHub Workflow Status

pentagraph

Graph representation and tools for programming with pentagame. This is in active development an will be fully functional with the 0.0.1 release

Setup

Pip

You will need a working instance of pip.

python3 -m pip install pentagraph

Development

Clone from github (requires git): git clone https://github.com/Penta-Game/pentagraph

To install the dependencies you can use poetry: poetry install

All files are required to have full typing support and need to pass mypy (This is checked in the Python package workflow on push/ pull request).

License

The source code of pentagraph is distributed according to the MIT License by Cobalt

Libraries as listed in pyproject.toml please consider their respective Licenses before e.g. making commercial use of pentagraph.

The same applies for materialize and svg.js.

Development Notes

Contributing and CI

There are 2 github actions workflows. The Python Packge workflow is called on each push & merged pull request. This workflow runs test against the new version (pytest tests/) and checks if files in pentagraph/ could be formatted with black. If either files could be formatted, the tests fail or the requirements are broken, the run fails. For black errors format.py can recursively execute black against all files in pentagraph/ (you need to install black before using this). As an alternative python -m black . --target-version py38 would be an appropriate direct call.

The other workflow releases a new pip package on each github release. This release oriented workflow takes advantage of twine and github repository specific secrets. When this workflow crashes with authentication related errors contact Cobalt.

Dependency managing is handled by poetry. Poetry is also used fo the packaging runs though you should update requirements.txt at least before creating a release with poetry export -f requirements.txt > requirements.txt.

pentagraph.lib.graphic

An easy-to-use way of displaying the Board taking advantage of Flask in combination with materialize, svg.js. The final board svg is created with a variation of resources from boardgame.

pentagraph.lib.figures

Collection of Objects used for figure representation. These Objects also specifiy their respective drawing methods and types.

pentagraph.lib.graph

Graph representation as Board Object.

pentagraph.lib.math

Math usable for graphic representation of pentagame board. Python version of math used in pentagraph.lib.graphic.

Docs

Coming soon :cat:

The docs will be produced with pelican and github pages.

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

pentagraph-0.0.1b5.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

pentagraph-0.0.1b5-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file pentagraph-0.0.1b5.tar.gz.

File metadata

  • Download URL: pentagraph-0.0.1b5.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for pentagraph-0.0.1b5.tar.gz
Algorithm Hash digest
SHA256 90b3b4bfe586812346167727f4c8a535150c0354b61311a8e3d0c679884d4a0d
MD5 6713e85cf7aa8c86e634b2af449030e2
BLAKE2b-256 74a58c307d8414bdcf731feb0964e1c90ca164717702380b978c3fe9c1196bc6

See more details on using hashes here.

File details

Details for the file pentagraph-0.0.1b5-py3-none-any.whl.

File metadata

  • Download URL: pentagraph-0.0.1b5-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for pentagraph-0.0.1b5-py3-none-any.whl
Algorithm Hash digest
SHA256 6d1abbc5de1a57b27f6e55c9998e93d2e591235dfbe6335fe0b9a52664b14fa4
MD5 4b67abf2954c18f267dacc1676f2babf
BLAKE2b-256 00228fb599b4f7dc1db9b3b77e107fcdd91cc8fdb1f4afd23ca4f8906939a1e4

See more details on using hashes here.

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