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.6.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

blissful_basics-0.2.6-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: blissful_basics-0.2.6.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.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for blissful_basics-0.2.6.tar.gz
Algorithm Hash digest
SHA256 fdb36f57664ea37033c08c98bdd6d2a9bbcd1f220823fd8ee3c5d1366b970ddd
MD5 a0efbb7a708afaf77e6eab01fab60a58
BLAKE2b-256 0726078242b2e0d0d0800e842c91a3ca63cb8992165145e180524e8c7f5ca883

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blissful_basics-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for blissful_basics-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5f3a64689741e32ddc20f7224b757ccc8a20fec378b2821def8ac6b119f3f380
MD5 48447d4115e0c8cd5630cb7d2b7a0fce
BLAKE2b-256 98fffc285f86879364aadda5aa56b1c3f0af005e075dff0763be69da620fdecd

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