Skip to main content

Tools I need in every python project

Project description

What is this?

The tools I find myself copying and pasting between every python project.

How do I use this?

pip install blissful_basics

from blissful_basics import print, flatten, to_pure, stringify, stats, product, countdown, large_pickle_save, large_pickle_load, FS, Object

# 
# print helpers
# 
if 1:
    # settings
    print.indent.string = "    "
    
    # recursively indents function calls
    @print.indent.function 
    def my_func(counter=5):
        if counter <= 0: return
        print(f"function call {counter} start")
        my_func(counter-1)
        print(f"function call {counter} done")
    
    
    my_func()
    
    #    function call 5 start
    #        function call 4 start
    #            function call 3 start
    #                function call 2 start
    #                    function call 1 start
    #                    function call 1 done
    #                function call 2 done
    #            function call 3 done
    #        function call 4 done
    #    function call 5 done
    
    
    # simple indent
    with print.indent:
        print("howdy1")
        with print.indent:
            print("howdy2")
        print("howdy3")
    
    #    howdy1
    #        howdy2
    #    howdy3
    
    # also indents stuff from the function
    with print.indent.block("stuff"):
        print("hi")
        my_func()
    
    # stuff
    #     hi
    #        function call 5 start
    #            function call 4 start
    #                function call 3 start
    #                    function call 2 start
    #                        function call 1 start
    #                        function call 1 done
    #                    function call 2 done
    #                function call 3 done
    #            function call 4 done
    #        function call 5 done

# 
# to_pure()
# 
if 1:
    import numpy
    import torch

    to_pure(numpy.array([1,2,3,4,5]))   # [1,2,3,4,5]
    to_pure(torch.tensor([1,2,3,4,5]))  # [1,2,3,4,5] # even if its on a GPU device

# 
# stats
# 
if 1:
    stats([1,2,3,4,5])
    # Object(
    #     max = 5,
    #     min = 1,
    #     range = 4,
    #     count = 5,
    #     sum = 15,
    #     average = 3.0,
    #     stdev = 1.5811388300841898,
    #     median = 3,
    #     q1 = 1.5,
    #     q3 = 4.5,
    #     normalized = (0.0, 0.25, 0.5, 0.75, 1.0),
    # )

# 
# plain object
# 
if 1:
    a = Object(thing=10)
    a.thing # 10
    a.thing = 99
    a.thing # 99

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

blissful_basics-0.2.4.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

blissful_basics-0.2.4-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file blissful_basics-0.2.4.tar.gz.

File metadata

  • Download URL: blissful_basics-0.2.4.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.9.6

File hashes

Hashes for blissful_basics-0.2.4.tar.gz
Algorithm Hash digest
SHA256 33142ed1fa8dfd20befaa74d1973dc191dfb8819e8aa2f3405fad7da04f87e02
MD5 cc3e5f93a6ede7a100b881c306f5d34e
BLAKE2b-256 95c98aa6bbf0e66057b27aef1457f0074387f4a8cd6726a07a003d31bd86bfd0

See more details on using hashes here.

File details

Details for the file blissful_basics-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: blissful_basics-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.9.6

File hashes

Hashes for blissful_basics-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1171d6cba90c937aa4aa92a115a8399eccc8b841418809b9ceac6478a5a98169
MD5 86e284c3d76c7ddb7bfd18cee94ba0df
BLAKE2b-256 e09cdf8cf6086806b7c6807686993cdd3b0b14390276125699d7b6f9371daf65

See more details on using hashes here.

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