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.1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: colouration-2020.4.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.1.tar.gz
Algorithm Hash digest
SHA256 5223cce27cc9927937bd8ac42283cbc5381f1614c4c8a7795e07dccf9771b9cc
MD5 afce8dd6af849fbdba8a8bcf1274faa6
BLAKE2b-256 00cbbf67cc54ea636f63ccce01fa1be54b62b5c8426870c41372419a7bad45a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: colouration-2020.4.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1da077bb6ce737f0a2b3bfbd0be81da5d81b304734a63b5d1f37ada530048702
MD5 ac34b5a14a223e43937de7cb2df77c42
BLAKE2b-256 6f0d4a66682f49adfa71027da7b0ae8ab1754bdf92e7f80944a997b234578fd8

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