A General Purpose Utility package for Python 3
Project description
Beetroot, a general purpose library full of random python functions that I thought were useful. Has file manipulation, random, tts and more! Have fun using it!
Also, to make JSON dumping and reading faster, do pip install ujson or pip install simplejson
If you find a problem, feel free to report it here.
To install the bare minimum from pip, use pip install beetroot, to install all dependencies for all classes, use pip install beetroot[all]
Upgrading python-beetroot uses the command pip install --upgrade beetroot
Warnings/Known Issues:
beetroot.file.bdump() might not work too well, use with caution.
beetroot.file.delete() doesn’t throw errors when trying to delete non-existent files, wtf.
beetroot.crash() doesn’t even do anything, damn my horrible python skills
Yay I fixed the previous crash() bug but the damn thing broke OMFG I DIDN’T EVEN TOUCH ANYTHING WHAT WHY AAAAAAAAAAAA
fixed it, still uses the old system
Different extras installation thingies:
beetroot[all]
beetroot[tts]
beetroot[img]
beetroot[yt]
beetroot[text]
beetroot[ram]
beetroot[keyboard]
beetroot[cython]
beetroot[speed]
Functions and uses:
Bad Obfuscation Stuff:
beetroot.obf.obfuscate(string) ; Minorly obfuscates objects, this is definitely not secure, don’t rely on this being irreversible or secure. If you want to obfuscate Python 3 code, use beetroot.cython()
beetroot.obf.unobfuscate(string) ; Deobfuscates objects made by beetroot.strobfuscate()
Random stuff:
beetroot.random.randint(start, end) ; generates random number but using SystemRandom
beetroot.random.srandint(seed, start, end) ; generates seeded pseudorandom number
Stopwatch stuff:
beetroot.stopwatch.start() ; Starts global stopwatch
beetroot.stopwatch.stop() ; Stops global stopwatch and returns time in milliseconds between start and stop
File Manipulation stuff:
beetroot.file.move(start, end) ; Moves files
beetroot.file.rename(start, end) ; Renames files
beetroot.file.delete(file_to_delete, force=<bool>) ; Deletes files
beetroot.file.dump(file, data) ; Dumps data to file as string or bytestring
beetroot.file.jdump(file, data, pp=<bool>) ; Dumps data
beetroot.file.load(file) ; Reads data from file as string
beetroot.file.bload(file) ; Reads data from file as bytestring
beetroot.file.jload(file) ; Reads data from file as JSON object
TTS stuff:
beetroot.tts.say(text) ; Reads text with tts installed, requires pyttsx3 to be installed or use pip install beetroot[tts]
beetroot.tts.changeRate(text) ; Changes global tts talk speed, requires pyttsx3 to be installed or use pip install beetroot[tts]
beetroot.tts.changeVoice(text) ; Changes global tts voice you can pick ids from 0-n, depending on how many voices you have on your computer, requires pyttsx3 to be installed or use pip install beetroot[tts]
beetroot.tts.changeVolume(text) ; Changes global tts volume, requires pyttsx3 to be installed or use pip install beetroot[tts]
Hash stuff:
beetroot.hashl.hashf(text, secure=<bool>) ; Hashes an object.
beetroot.hashl.dehash(hash) ; Dehashes a hash, this totally works and is definitely possible and is absolutely not a dumb joke that I’m making…
Miscellaneous stuff:
beetroot.objtype(obj) ; python type(), but better
beetroot.test() ; Literally just a hello world program.
beetroot.quicksort(arr) ; Quicksort, which in most cases is slightly faster than Python3’s default Timsort.
beetroot.cyclesort(arr) ; Significantly slower than beetroot.quicksort(), but uses less memory.
beetroot.swap(array, index_1, index_2) ; Swaps 2 items in list.
beetroot.execfile(file) ; Execute .py script
beetroot.sys_stats ; A variable that contains [Username, OS name, OS version, OS architecture, computer nodename, Local IP address, Public IP Address, MAC address]
beetroot.unline(string) ; Makes a multi-line string a single-line string
beetroot.reline(string) ; Reverses beetroot.unline()
beetroot.pixelgrab(x, y) ; Grabs the colour of the pixel on your screen at (x, y), requires PIL, use pip install pillow
beetroot.mousepixelgrab() ; Grabs colour of the pixel at your mouse, requires PIL and pyautogui, use pip install pillow pyautogui or pip install beetroot[img]
beetroot.remove(str, item_to_remove) ; Removes all occurences of item_to_remove in str
beetroot.siteize(str) ; Makes text into site names, for example “hello there” becomes “www.HelloThere.com”
beetroot.taskkill(task, killamount=1) ; I see a task and I E A T it. Pass tasks to it through the “task” argument. killamount argument determines how many instances will be killed. Use None for all.
beetroot.crash() ; Crashes pyth- Basically sends python SIGKILL.
beetroot.admin() ; Requests UAC elevation on Windows.
beetroot.cython(file, pypath=<path>) ; Generates a cython extension and cleans up afterwards. Requires python installed on PATH to use. Or whatever the Unix equivalent of PATH is. Uses pypath to find your python installation, or you can not include it and it uses sys.executable instead.
beetroot.printn() ; Prints an object without a trailing newline at the end.
beetroot.getch() ; Input, but it only waits for one character.
beetroot.delchar() ; Deletes the last character from stdout
beetroot.recursion() ; A context manager that lets you temporarily set your recursion depth. Use with beetroot.recursion(<some recursion limit here>): <do something here> Your recursion limit will be reset after.
beetroot.suppress() ; A suppression context manager, use it with the “with” keyword like beetroot.recursion(). This will temporarily suppres stdout and stderr, preventing anything from being printed to console, even with sys.stderr.write. This will, however, not silence error messages, although that’s probably a good thing.
beetroot.speed() ; Use as a decorator, memoizes and Cython compiles code to MASSIVELY speed up code. I think. If you are using this with random functions, use the nocache=True argument.
beetroot.retargs() ; Returns a list of all arguments of function.
beetroot.locate() ; Throws an error, allows you to locate your beetroot installation.
beetroot.strlist() ; Makes every single item in a list a string, with str() or .decode(), with proper bytestring handling.
beetroot.maplist() ; Basically map() but it gives an actual list
beetroot.errprint() ; Prints stuff to stderr.
beetroot.errprintn() ; Same as beetroot.errprint(), but it doesn’t print a trailing newline.
beetroot.isSorted() ; Checks if a list is sorted without actually sorting it.
beetroot.progBar(<length of bar>) ; Makes a Progress bar. use “inf” for infinity length progress bar. Don’t print output while progress bar is loading.
beetroot.screen_size ; Returns dimensions of screen.
beetroot.maxint ; Maximum size of integer that fits in a C function (i.e things like sys.setrecursionlimit()).
beetroot.segfault() ; Forces python to segfault using a recursion bug.
beetroot.func() ; Takes an object and creates a function that returns that object.
beetroot.analyze() ; Analyzes a function, returns a score based on it’s randomness by checking collisions. WARNING: Not great, a literal incrementation function would be reported as very random. UAYOR.
beetroot.delayWrite(string, delay=<some number>, out=<stdout/stderr>) ; Writes stuff to stdout, one letter at a time.
beetroot.tree(size) ; Builds a text tree and returns it. Inspired by code.golf.
Memory functions and stuff:
beetroot.mem.mem() ; Returns [All memory, currently used memory, available memory].
beetroot.mem.swapmem() ; Same thing as beetroot.mem(), except it’s Swap memory instead.
Youtube garbage:
beetroot.yt.search(search_term) ; Enter a search term, the function returns the link for the first hit on that search. Requires youtube-search, use pip install youtube-search or pip install beetroot[yt]
beetroot.yt.dl(url, filename, fileformat, playlist=<bool>) ; Downloads a video or playlist from url. Valid codecs include mp3, ogg, wav, m4a, aac, flac, mp4, webm, avi, opus, mkv, mov, flv, aiff and wma. Requires youtube-dl, use pip install youtube-dl or pip install beetroot[yt]
Text manipulation stuff:
beetroot.text.udown(text) ; Flips text upside-down
beetroot.text.zalgo(text, crazy=<int>) ; Adds zalgo to text, change crazy argument to modify craziness of zalgo text, default value is 1
beetroot.text.rouxls(sentence) ; Rouxls-ify text so it sounds stupid.
beetroot.text.spamton(text) ; Spamtonify text so you sound like [[Spamton G. Spamton]]
beetroot.text.greek(text) ; Replaces English alphabet with Greek alphabet.
beetroot.text.russian(text) ; Replaces English alphabet with Cyrillic alphabet.
beetroot.text.reverse(text) ; Self-explanatory. Reverses text.
beetroot.text.b65536encode(text) ; Encodes text into Base65536.
beetroot.text.base65536decode(text) ; Decodes Base65536.
beetroot.text.phoneencode(text) ; Encodes text using a cellphone keypad
beetroot.text.phonedecode(text) ; Reverses beetroot.text.phoneencode()
beetroot.text.dotify(text) ; Dotifies text, so “hi there” becomes “H.I. T.H.E.R.E.”
beetroot.text.spaceify(text) ; Spaceifies text, so “hi there” becomes “h i t h e r e”
beetroot.text.dc_weirdify(text) ; Applies a random number of random discord mini-MD effects to each char, making your string look weird in Discord or any service that supports mini-MarkDown.
beetroot.text.blank ; A blank invisible zero-width char for your zero-width needs.
Compression class:
beetroot.comp.compress(string) ; Compress an object using hybrid zlib/lzma
beetroot.comp.decompress(string) ; Reverses beetroot.comp.compress().
M A T H .
beetroot.math.increment(n) ; Increments n.
beetroot.math.double(n) ; Doubles n.
beetroot.math.square(n) ; Squares n.
beetroot.math.sqrt(n) ; Square roots n.
beetroot.math.factorial(n) ; Calculates the factorial of a number.
beetroot.math.b_round(n, a) ; Rounds “n” to “a” decimal digits. Much more accurate than python’s default round() (i think, i hope)
beetroot.math.prec(n) ; Converts to a Decimal, better for precision (bcuz floats r weird)
beetroot.math.isPrime(n) ; Checks if a number is prime. Returns a bool.
PICKLES.
beetroot.pkl.pkl(file_path_to_output_delicious_pickle, pickle) ; pass data and it gets turned into a big green pickle.
beetroot.pkl.unpkl(file_path_to_load_delicious_pickle_from) ; load pickle from pickle to eat pickle loaded from pickle.
An amazing function that should be called whenever possible
beetroot.totally_not_a_rickroll() ; Totally not a rickroll.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Beetroot-1.1.7.4.tar.gz
.
File metadata
- Download URL: Beetroot-1.1.7.4.tar.gz
- Upload date:
- Size: 38.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0802ac64d59a786a050148e490d7724faab7f1ddf7ca1d6718d739179a7de08d |
|
MD5 | ff31943afc395d01963fea5c84e62b7f |
|
BLAKE2b-256 | 2c45892663ce25c183664ac0e501d0aed80afd9c5abe3c4bf99cecb67f6794e4 |
File details
Details for the file Beetroot-1.1.7.4-py2.py3-none-any.whl
.
File metadata
- Download URL: Beetroot-1.1.7.4-py2.py3-none-any.whl
- Upload date:
- Size: 39.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db740e0f5517a1b14974e20800e90699c156479c9f91aea764f8da9e6d39d449 |
|
MD5 | 3c65d229590c2ff5a4b023a5608fe3c1 |
|
BLAKE2b-256 | 062abcd99cb3ad61313eb1f109f7d17b805f25da9adf211a3b9443cb65a663cd |