A soup of random python utils
Project description
The soup
A collection of python classes and functions.
Getting it
Github
Download it from github with a git clone https://github.com/amartya00/thesoup.git
Navigate to the root, and run all tests to ensure everything is working with nosetests -w tst/ --nocapture
Now install with sudo pip3 install .
PyPi
This is available on PyPi as well. Do a sudo pip3 install thesoup
to install.
NOTE: If you do not have nose tests, install it with sudo pip3 install nose
NOTE: This is python3 only
Components
Classes
It has the following utility classes:
-
Graphs
- Abstract class for directed graph
DiGraph
- Abstract class for directed mutable graph
MutableDiGraph
- A mutable digraph implementation with adjacensy list
AdjListGraph
- Abstract class for directed graph
-
Heap
- Min heap
Minheap
- Max heap
MaxHeap
- Min heap
-
Binary trees
- BST
BinarySearchTree
- BST
-
Trie (ASCII only)
-
Sets
- A set that keeps track of the number of occurrences of repeated elements
CountSet
- A set that keeps track of the number of occurrences of repeated elements
Functions
It has the following utility functions
-
Collection related
- Flatten a nested collection
flatten
- Flatten a nested collection except the tuples
flatten_to_tuple
- Find all subsequences of a list
subsequence
- Flatten a nested collection
-
Graph traversals
- Bread first search
bfs
- Depth first search
dfs
- Dijkstra
dijkstra
- Specialized SP for DAGs
shortest_path_dag
- Bread first search
-
String related
- Test if 2 strings are anagrams
is_anagram
- Test if 2 strings are anagrams
-
Other
- K-way merge
merge
- K-way merge
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.