Skip to main content

Python library for working with colours

Project description

Colouration

Colouration is a Python library for working with colours. It unifies three representation of colour:

  • RGB (red, green, blue)
  • HSL (hue, saturation, lightness)
  • HSV (hue, saturation, value)

Installation

pip install colouration

Usage

Colour

from colouration import Colour

default_arguments = Colour(
	obj=None,
	red=None, green=None, blue=None, 
	hexadecimal=None,
	hue=None, saturation=None, lightness=None, value=None,
	min_value=0.0, max_value=1.0, 
	name=None, id=None, scheme=None,
	weight=1.0
)

# you can use the rgb hexadecimal code to create a Colour object
red = Colour('#FF0000')

# you can enter red, green, and blue as separate values
green = Colour(red=0, green=1, blue=0)

# max value is 1 by default but other values can be used too
blue = Colour(red=0, green=0, blue=255, max_value=255)

# and you can use colour names 
literal_red = Colour('red')
print(f'is red equal to literal_red? {"yes" if red == literal_red else "no"}\n')

# you can print with it
literal_red.print('by default the main colour is used for background\n')

# to use the colour as the text colour you should use the main_colour argument
red.print(string='red text\n', main_colour='text', secondary='auto') # secondary='auto' is default

# the secondary colour is white when the main colour is dark and it is black otherwise
red.print(string='the secondary colour is white when the main colour is dark and it is black otherwise.\n')

# you can choose a secondary colour
red.print(string='red on white\n', main_colour='text', secondary='white')

# you can use string or a Colour object
red.print(string='blue on red\n', secondary=Colour('blue'))

# you can darken or lighten a colour
dark_red = red.darken(ratio=0.5)
dark_red.print(string='dark red\n') 

# ratio can be between 0 and 1
light_red = red.lighten(ratio=0.8) 

# you can change the hue of a colour
new_colour = red.increase_hue(0.2)
new_colour.print('hue increased by 0.2\n')

# you can assign a new hue, lightness, value, red, green, or blue too
new_colour.red = 0.2
new_colour.print('setting red = 0.2 causes this.\n')
new_colour.hue = 0.8
new_colour.print('setting hue = 0.4 causes this.\n')
new_colour.value = 0.3
new_colour.print('setting value = 0.3 causes this.\n')
new_colour.lightness = 0.9
new_colour.print('setting lightness = 0.9 causes this.\n')

# you can mix colours by adding them together
yellow = green + red
yellow.print(string='mixing green and red produces this.\n')

# Colour finds the best name for itself
bluish = Colour(red=220, green=243, blue=255, max_value=255) # max_value is 1 by default
bluish.print(string=f'Colour finds the best name for itself: {bluish.name}.\n')

Scheme

Gradient

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

colouration-2020.4.28.1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

colouration-2020.4.28.1-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file colouration-2020.4.28.1.tar.gz.

File metadata

  • Download URL: colouration-2020.4.28.1.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.2

File hashes

Hashes for colouration-2020.4.28.1.tar.gz
Algorithm Hash digest
SHA256 d48791aa22711387aa804120bcb116f1e7b2d9f682ee23c2bbdd0c6c9a1f5fc3
MD5 c23ace1b3cc645472d1cba29adecbb5c
BLAKE2b-256 992716dd6b3fc672adbee9c19e84f4d2a29621b1f7af03e96bb8c517019d8853

See more details on using hashes here.

File details

Details for the file colouration-2020.4.28.1-py3-none-any.whl.

File metadata

  • Download URL: colouration-2020.4.28.1-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.2

File hashes

Hashes for colouration-2020.4.28.1-py3-none-any.whl
Algorithm Hash digest
SHA256 99ffa8caad213e675ee8bcef301caa724996dd2130430900ad6d168a68a30323
MD5 88081ce3b37e06793159e7524f71c9c0
BLAKE2b-256 b003e18f32c66d6d516e1490efdcf47c1e4d6f4c5e85058362acaaaad27bece8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page