An open API service indexing awesome lists of open source software.

https://github.com/dsa-ou/paddles

A pedagogical algorithms and data structures library
https://github.com/dsa-ou/paddles

algorithms data-structures education

Last synced: about 1 month ago
JSON representation

A pedagogical algorithms and data structures library

Awesome Lists containing this project

README

          

`paddles` is a pedagogical algorithms and data structures library that aims to
- be thoroughly tested and documented
- be easy to install, use and understand
- adhere to good Python coding practices.

`paddles` is a work in progress. It currently implements
stacks, queues, deques, bags and several sorting algorithms.

## Usage
To use `paddles`, follow these steps:

1. Open a terminal and enter `python -V` to get your Python's version.
If the version is 3.10 or higher, go directly to step 3.
2. If the version is lower than 3.10 or if you get an error message
(e.g. 'python is an unknown command'), then close the terminal and
install the [latest Python version](https://www.python.org/downloads/).
3. In the same terminal as step 1, or a new one if you did step 2,
enter `pip install paddles`.
4. To check that the library is now available, enter `python -m paddles.stack`.
You should not get any error message.

If you have any problems during installation, please report them in the
[Q & A discussion forum](https://github.com/dsa-ou/paddles/discussions/categories/q-a).
(If you're an M269 student or tutor you can use the Technical Forum instead.)
Don't forget to indicate your operating system, your Python version,
and what you did before the problem occurred, so that we can help you more effectively.

5. Read the [documentation](https://dsa-ou.github.io/paddles) to learn how to
use the data structures and algorithms provided by `paddles`.

## Contributing

Any help to improve and extend `paddles` is welcome and appreciated.

- If you're an M269 student or tutor, you can report errors and suggest improvements
in the Technical Forum instead of using GitHub's forums and issue tracker.
- If you require a new feature, please suggest it in the
[ideas discussion forum](https://github.com/dsa-ou/paddles/discussions/categories/ideas).
- If you spot an error or omission in the code or documentation, please check if it
[has been reported](https://github.com/dsa-ou/paddles/issues), before creating a new issue.
- If you want to contribute code or documentation that addresses
an [open issue](https://github.com/dsa-ou/paddles/issues), please read first our
[contribution guide](https://github.com/dsa-ou/paddles/blob/main/CONTRIBUTING.md).
Your contribution will become available under the terms below.

## Licences

`paddles` is Copyright © 2024–2025 by The Open University, UK.
The code is licensed under a [BSD 3-clause licence](https://github.com/dsa-ou/paddles/blob/main/LICENSE).
The documentation is licensed under a
[Creative Commons Attribution 4.0 International Licence](http://creativecommons.org/licenses/by/4.0).