The goal of this repository is to serve as a guide for developing and testing algorithms. This is a core skill of anyone who wishes to pursue a career in data engineering, so if you have none or little experience you just found a nugget my friend. On the other hand if you are an experienced developer, I hope some of the examples provided might help you on your day to day. If you have any suggestions on other examples feel free to pitch in.
We need algorithms because they help us solve real world problems, so each example you will find is backed up by a coding challenge. There is always more than one way to get around the problem so you will find multiple techniques defined as class methods. As time goes on, I will continue adding more examples to this repository and improving the code quality.
To ensure code stability I have taken a Test Driven Development, thus each algorithm have their own tests. This repository has also been packaged into a python module and I used Tox to test into multiple environments. I'll get around into Dockerizing it aswell in the near future.
I'll probably add some benchmarking features aswell to test which are the slowest and fastest methods. I think this will add a lot of value into the guideline aspects of this repo.
Maybe throw in a database aswell because databases are cool.
Peace!
-- Heinz