Skip to main content

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/sigabrtio/thesoup.git Navigate to the root, and run all tests to ensure everything is working with nose2 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 adjacency list AdjListGraph
  • Heap

    • Min heap Minheap
    • Max heap MaxHeap
  • Binary trees

    • BST BinarySearchTree
  • Trie (ASCII only)

  • Sets

    • A set that keeps track of the number of occurrences of repeated elements CountSet
    • A disjoint sets utility. See the Wikipedia entry DisjointSets for details on what it is
  • Utilities

    • A result class, similar to Rust's Result.

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
    • Foreach method that works on all collections foreach
    • Group a collection into a map by some criteria group_by
  • Graph traversals

    • Bread first search bfs
    • Depth first search dfs
    • Dijkstra dijkstra
    • Specialized SP for DAGs shortest_path_dag
  • String related

    • Test if 2 strings are anagrams is_anagram
  • Other

    • K-way merge merge

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

thesoup-1.1.tar.gz (21.2 kB view hashes)

Uploaded Source

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