Skip to main content

Python library of useful but lonely functions and classes

Project description

Slytherin

Slytherin is a collection of useful but lonely functions and classes that don't belong to other libraries.

Installation

pip install slytherin

Usage

collections

cross_lists()

from slytherin.collections import cross_lists
list1 = [1, 2, 3]
list2 = [4, 5]
list3 = [[6, 7], [8, 9]]

cross_lists(list1, list2, list3)

outputs:

[(1, 4, [6, 7]),
 (1, 4, [8, 9]),
 (1, 5, [6, 7]),
 (1, 5, [8, 9]),
 (2, 4, [6, 7]),
 (2, 4, [8, 9]),
 (2, 5, [6, 7]),
 (2, 5, [8, 9]),
 (3, 4, [6, 7]),
 (3, 4, [8, 9]),
 (3, 5, [6, 7]),
 (3, 5, [8, 9])]
cross_lists([list1, list2, list3])

also outputs:

[(1, 4, [6, 7]),
 (1, 4, [8, 9]),
 (1, 5, [6, 7]),
 (1, 5, [8, 9]),
 (2, 4, [6, 7]),
 (2, 4, [8, 9]),
 (2, 5, [6, 7]),
 (2, 5, [8, 9]),
 (3, 4, [6, 7]),
 (3, 4, [8, 9]),
 (3, 5, [6, 7]),
 (3, 5, [8, 9])]

get_size(obj)

The get_size() method calculates the memory footprint of a Python object recursively.

The exclude_objects argument is a list of objects and is optional with the default value of None. Any object in the exclude_objects list will be excluded from the recursive search. It can be used to avoid double counting the size when objects point to each other.

from slytherin import get_size
get_size(obj=[1,2,3], exclude_objects=None)

import pandas as pd
get_size(obj=pd.DataFrame({'id': range(1000), 'name':['Godric', 'Helga', 'Rowena', 'Salazar']*250}))

colour(text, text_colour, style, background_colour)

The colour() method can be used to add colour to printing text.

The colour are integers from 0 to 7:

  • black: 0
  • red: 1
  • green: 2
  • yellow: 3
  • blue: 4
  • purple: 5
  • cyan: 6
  • white: 7

The style argument is an integer between 0 and 5:

  • normal: 0
  • bold: 1
  • underline: 2
  • negative1: 3
  • negative2: 5
from slytherin import colour
print(colour(text='Hello world!', text_colour=4))

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

slytherin-2020.11.12.tar.gz (14.9 kB view hashes)

Uploaded source

Built Distribution

slytherin-2020.11.12-py3-none-any.whl (23.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page