Skip to main content

A suite of random but useful functions that are aimed at giving you 'piece of cake' level comfortability

Project description

py-qol logo

qolpy v0.1.2

Are you tired of making the same module in every project? Not a problem! Qol has your back.

A suite of random but useful functions that are aimed at giving you "piece of cake" level comfortability. This is a python port of the javascript quality of life and javascript fstring package

Installation

pip install qolpy

or

pip3 install qolpy

Importing

# full import
import qolpy

# partial imports
from qolpy import random_colour, parse_date, num_parse, abbreviate, to_title_case, to_sentence_case

Functions

random_colour

Get a random colour; For those scenarios where you couldn't care less!

Returns a string

c = random_colour()
c_rgb = random_colour("rgb")
c_cmyk = random_colour("cmyk")
c_hsv = random_colour("hsv")
c_hsl = random_colour("hsl")

print(c, c_rgb, c_cmyk, c_hsv, c_hsl)
# #f7f7f7, rgb(247,247,247), cmyk(0%,0%,0%,3%), hsv(0,0%,97%), hsl(0,0%,97%)
Params
Parameter Default Setting Required? Definition Options
setting hex No The type of colour you would like returned hex, rgb, cmyk, hsv, hsl

parse_date

Send in date parameters and receive either an object with their metadata, or a parsed date (e.g 2 Sep 2020); American formatting is possible (e.g Sep 2 2020).

Returns a string or Date_Object. You can spread the args and use kwargs such as below:

import datetime

dt = datetime.datetime.now()
date_list = [dt.day, dt.weekday(), dt.month, dt.year]

pd = parse_date(*date_list, c_format="nll", american=True)
pd_full = parse_date(*date_list, c_format="lll")

print(pd, pd_full)
# April 15 2023, Saturday 15th April, 2023
interface
	"day": {
		"short": str,
		"long": str,
		"ordinal_month": str,
		"ordinal_week": str,
		"week_number": int,
		"month_number": int
	},
	"month": {
		"short": str,
		"long": str,
		"ordinal": str,
		"number": int
	},
	"year": {
		"short": int,
		"long": int
	}

Params
Parameter Default Setting Required? Definition Options
monthDay none Yes The day of the month type number
weekDay none Yes The day of the week type number
month none Yes The numeric month type number
year none Yes The full numeric year type number
format none No The date format you would like n = numeric, s = shorthand text, l = full text; nns, nnl, sss, ssl, lll, nss, nsl, nls, nll
american false No Whether or not you would like the format to be 'Americanised' true, false

num_parse

Convert a number into a string as if it's MS Excel!

Returns a string

num = num_parse(2100.45)
num_europe = num_parse(2100.45, "punct")
num_custom = num_parse(2100.45, "-")

print(num, num_europe, num_custom)
# 2,100.45, 2.100,45, 2-100.45)
Params
Parameter Default Setting Required? Definition Options
value undefined Yes The number you want to be parsed none
setting comma No The delimiter for the number space, comma, punct, any other delimiter as a string

abbreviate

name = "lEwiS mOsho junior"

print(abbreviate(name))
# LMJ

Make an abbreviation of a string; Usually used for names. It returns an upper case abbreviation of the string.

Params
Parameter Default Setting Required? Definition
text null Yes The string you wish to abbreviate
delimiter " " No The character or string that seperates words in the string

to_title_case

Make any string title cased. it returns a string in which every first letter of a word is upper cased with the rest being lower cased.

const name = "lEwiS mOsho junior"

print(to_title_case(name))
# Lewis Mosho Junior
Params
Parameter Default Setting Required? Definition
text null Yes The string you wish to change to title case
delimiter " " No The character or string that seperates words in the string

to_sentence_case

Make any string sentence cased; The current sentence delimiters are:

  • .
  • ;
  • :
  • !
  • ?

It returns a string in which every first letter of the first word of a sentence is capitalised, with the remainder of the senter being lower cased.

sentence = "heLLo wOrLD, mY NAME is lEwis; i am a Developer."

print(to_sentence_case(sentence))
# Hello world, my name is lewis; I am a developer.
Params
Parameter Default Setting Required? Definition
txt null Yes The string you wish to change to sentence case
delimiter " " No The character or string that seperates words in the string

Changelog

v0.1.x

v0.1.2
  • README updated
    • Repo links updated
  • color dir typing fixed; No more import error
v0.1.1
  • README completed
  • parse_date error fixed
    • Used tp return month object when nll was specifically set as an arg for c_format
  • Moved codebase into src folder
v0.1.0
  • Initial release
  • Excel number formatting, date parsing, random colour generation,string sentence casing, title casing, and abrreviations added and typed

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

qolpy-0.1.2.tar.gz (11.4 kB view hashes)

Uploaded Source

Built Distribution

qolpy-0.1.2-py3-none-any.whl (11.4 kB view hashes)

Uploaded Python 3

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