Skip to content

algos-all/algos-py

Repository files navigation

Package algos-py

https://ci.appveyor.com/api/projects/status/j5ireye9mly39f9m/branch/main?svg=true https://coveralls.io/repos/github/algos-all/algos-py/badge.svg?branch=main

What is algos-py?

This package contains implementations of some classic computer science algorithms. My main goal is to understand these algorithms and the best way to do that is to implement them myself.

Along the way I practice test driven development (with pytest), continuous integration (with travis and appveyor), coverage tracking (with coveralls and codecov), version control (with git, github and gitlab), documentation (with sphinx and readthedocs) and a lot more.

How to test?

To run all of the unit-tests:

$ pytest -n 2

To run unit-tests for a specific module:

$ pytest ./tests/test_heap.py

To run all the unit-tests and produce a coverage report:

$ pytest -n 2 --cov=src

Where to find?

Primary repository:

https://github.com/algos-all/algos-py

Secondary (mirror) repository:

https://gitlab.com/alisianoi/algos-py

Release procedure:

$ # change version in setup.py
$ git add setup.py
$ git commit -m "Bump version to 1.0.0"
$ git tag v1.0.0
$ git push github main && git push github --tags
$ git push gitlab main && git push gitlab --tags
$ pip install --upgrade wheel
$ python setup.py bdist_wheel
$ pip install --upgrade twine
$ twine check ./dist/algos_py-1.0.0-py3-none-any.whl
$ twine upload ./dist/algos_py-1.0.0-py3-none-any.whl