Skip to main content

A Python algorithms module for learning

Project description


Pygorithm
=========

.. image:: https://readthedocs.org/projects/pygorithm/badge/?version=latest
:target: http://pygorithm.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://img.shields.io/badge/Python-3.6-brightgreen.svg
:target: https://github.com/OmkarPathak/pygorithm
:alt: Python 3.6

| A Python module to learn all the major algorithms on the go!
| Purely for educational purposes

Features
~~~~~~~~

* Super easy to use
* A very easy to understand `Documentation <http://pygorithm.readthedocs.io/en/latest/>`_
* Get the code right in your editor
* Get time complexities on the go

Installation
~~~~~~~~~~~~

* Just fire the following command in your terminal:

::

pip3 install pygorithm

- | It's that easy. If you are using Python 2.7 use pip instead. Depending on your
| permissions, you might need to use ``pip install --user pygorithm`` to install.

* Or you can download the source code from `here <https://github.com/OmkarPathak/pygorithm>`_, and then just install the package using

::

python setup.py install


Quick Start Guide
~~~~~~~~~~~~~~~~~

* To sort your list

.. code:: python

>>> from pygorithm.sorting import bubble_sort
>>> my_list = [12, 4, 3, 5, 13, 1, 17, 19, 15]
>>> sorted_list = bubble_sort.sort(my_list)
>>> print(sorted_list)
>>> [1, 3, 4, 5, 12, 13, 15, 17, 19]


* To get the code for function used

.. code:: python

>>> from pygorithm.sorting import bubble_sort
>>> code = bubble_sort.get_code()
>>> print(code)


* To get the time complexity of an algorithm

.. code:: python

>>> from pygorithm.sorting import bubble_sort
>>> time_complexity = bubble_sort.time_complexities()
>>> print(time_complexity)

* To see all the available functions in a module, you can just type ``help()`` with the module name as argument. For example,

.. code:: python

>>> from pygorithm import sorting
>>> help(sorting)
Help on package pygorithm.sorting in pygorithm:

NAME
pygorithm.sorting - Collection of sorting methods

PACKAGE CONTENTS
bubble_sort
bucket_sort
counting_sort
heap_sort
insertion_sort
merge_sort
modules
quick_sort
selection_sort
shell_sort


Tests
~~~~~

* Just type in the following command to run the tests
::

python3 -m unittest

* This will run all the tests defined in the files of the ``tests/`` directory


Donation
~~~~~~~~

If you have found my softwares to be of any use to you, do consider helping me pay my internet bills. This would encourage me to create many such softwares :)

- `PayPal <https://paypal.me/omkarpathak27>`_
- `₹ (INR) <https://www.instamojo.com/@omkarpathak/>`_


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

pygorithm-1.0.4.tar.gz (68.5 kB view details)

Uploaded Source

Built Distribution

pygorithm-1.0.4-py2.py3-none-any.whl (98.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pygorithm-1.0.4.tar.gz.

File metadata

  • Download URL: pygorithm-1.0.4.tar.gz
  • Upload date:
  • Size: 68.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pygorithm-1.0.4.tar.gz
Algorithm Hash digest
SHA256 214021a5abdb6bc7c5ed5a60ce4dd56d60ed9cdeb30a91cf7cf35332bb79d3a0
MD5 ec7226933cd5f3c2eb5142d0871ba703
BLAKE2b-256 1f8101e306513a0afc6cdfcd5fe7a9b122275601b559560b332be4bdfe68c594

See more details on using hashes here.

File details

Details for the file pygorithm-1.0.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pygorithm-1.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fac49add9d7f769cc357967d99223d311b52acfeec1014e89c24f7f22b618a6a
MD5 5c21b5395da9aafd9623b9a98896cce2
BLAKE2b-256 794534b5ab8fc2c3204382c96fbe2629daad3c8eb395fa5076a47b736237b7ff

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