Makes Python simpler.
Project description
Simpler
A library to make Python even simpler.
It contains an assorted selection of utils that I use on my projects.
Installation
It is available in PyPI, just do pip install simpler
.
Usage
Every method is properly documented. To use it, just do from simpler import ...
and see all the choices that you have.
- simpler.files
- cwd: changes working directory, base of relative routes, to the one where the script is located.
- load: simplified load of a file with a single interface for string, bytes, json and pickle files.
- save: simplified save to a file with the same format as load.
- disk_cache: this @annotation caches a file in the disk.
- size: given a file, returns its size without loading it to memory.
- find_hidden_compressed: given a file, finds if it contains the signature for any compressed format.
- tvshow_rename: rename every TV show of a folder.
- directory_compare: compares the changes in two directories recursively.
- simpler.format
- human_bytes: transforms a size in bytes to a friendly amount.
- human_seconds: transforms a number of seconds to a friendly format.
- human_date: transforms a datetime to a relative friendly format.
- random_string: returns a random string.
- print_matrix: pretty-prints a 2D-array.
- safe_filename: given a string name, returns its safe-to-save version.
- profiling
- tic: adds the current time to a time stack.
- toc: pops the last added time from a time stack and prints the difference. Can be used with tic to profile methods.
- deep_size: recursively approximates the memory size of an object.
- simpler.math
- clamp: returns a value clamped in an interval.
- snap: returns a value snapped to a scale of a given size and offset.
- unique: given a list, returns a list in the same order excluding repeated elements according to a uniqueness function.
- all_equal: checks if every element of a sequence is the same.
- jaccard: returns the Jaccard index of two sequences.
- levenshtein: Returns the Levenshtein distance of two sequences.
- base_change: changes the base of a number represented as a list of integers.
- prime_list: returns the list of prime numbers from 2 to n.
- is_prime: checks if a number is prime.
- fibonacci: returns the n-th fibonacci number.
- lcm: least common multiple of two numbers.
- gcd: greatest common divisor of two numbers.
- factor: returns the factors of a number and its exponents.
- palindrome_list: returns every palindromic number with k digits.
- phi: Euler's phi function.
- validation
- assert_set: asserts that a given value exists and returns it.
- assert_str: asserts that a given value is a string and complies with some customisable checks, and returns it.
- assert_number: asserts that a given value is a number and complies with some customisable checks, and returns it.
- assert_id: asserts that a given value is a valid daabase id and returns it.
- assert_mail: asserts that a given string is a valid mail and returns it.
- assert_exists: asserts that the given path exists and returns it.
- simpler.bioinformatics
- codon_table: dictionary of codon translations.
- monoisotopic_mass_table: monoisotopic mass for every amino acid.
- monoisotopic_mass_water: just that.
- parse_fasta: given a fasta string, it returns every (or just the first) sequence found.
- dna_to_rna: given a DNA string, returns its RNA version.
- rna_to_dna: given a RNA string, returns its DNA version.
- rna_to_protein: given a RNA string, returns its proteins.
- reverse_complement: returns the reverse complement of a sequence, either DNA or RNA.
- simpler.algorithms
- DynamicProgramming: abstract dynamic programming class. After implementing methods .alternatives(state), .is_final(state) and .penalty(state) you can run .solve, asking for one solution, one optimal solution, every solution or every optimal solution.
- simpler.databases
- MySQL: easy way to connect to a MySQL database and forget about implementation stuff. Methods find_many and find_one methods return {col_name: value} dictionaries, find column returns just one value, insert returns the id of the inserted element, and apply returns the row count of deleted/updated rows.
- Excel: simple connector to an Excel file to retrieve cell ranges using the Excel range format.
- simpler.mail
- compose: simplified interface to compose a mail message.
- send: simplified interface to send a mail.
- simpler.sparql
- dbpedia: sends a query to DBPedia.
- entity_types: returns every entity type with values that contain a given string.
- terminal
- getch: reads a sngle byte from the user input.
- web
- download_file: stream a download a file from a URL while displaying the progress and ETA.
- DownloaderPool: pool of workers that download a set of URLs simultaneously.
- throttle: ensures that a piece of code is called every X seconds.
- reflection
- import_from_path: loads the script at the specified path and returns an object given its name.
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
simpler-2.0.1.tar.gz
(18.2 kB
view hashes)
Built Distribution
simpler-2.0.1-py3-none-any.whl
(19.6 kB
view hashes)