HTTP/2 302
date: Sun, 28 Dec 2025 07:38:50 GMT
content-type: text/html; charset=utf-8
content-length: 0
location: https://leather.readthedocs.io/en/latest/
server: cloudflare
cf-ray: 9b4f6680ddb1999b-BLR
cf-cache-status: EXPIRED
cache-control: max-age=1200
content-language: en
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Language, Accept-Encoding
cdn-cache-control: public
cross-origin-opener-policy: same-origin
referrer-policy: no-referrer-when-downgrade
x-backend: web-i-0bc9d3ab2f61c0f1d
x-content-type-options: nosniff
x-rtd-domain: leather.readthedocs.io
x-rtd-force-addons: true
x-rtd-project: leather
x-rtd-project-method: public_domain
x-rtd-redirect: system
x-rtd-version-method: path
x-served: Django-Proxito
set-cookie: __cf_bm=dtMqgXgIIoksTv7_vdRvY1w5WDWGMlLrzTMRbO8QBrg-1766907530-1.0.1.1-goKSjwfHTGRCOnWq7b9TFB7ApoqASa_Ve4gXCp5GCBjQRKJedYN.ShpqZfmc_dTeAhJzSDrrmC60yRZBHvDVVdO_0n2ItnRsq3OQFy5YHWk; path=/; expires=Sun, 28-Dec-25 08:08:50 GMT; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
set-cookie: _cfuvid=7n8KP.unBGAapk1_Y1MXxWbon04ooJwEDjMsxALZAa0-1766907530711-0.0.1.1-604800000; path=/; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
alt-svc: h3=":443"; ma=86400
HTTP/2 200
date: Sun, 28 Dec 2025 07:38:51 GMT
content-type: text/html; charset=utf-8
server: cloudflare
cf-ray: 9b4f6682f8b9999b-BLR
cf-cache-status: REVALIDATED
access-control-allow-origin: *
cache-control: max-age=1200
content-encoding: gzip
etag: W/"e13942a60239899bb301106563e5d8e6"
last-modified: Mon, 15 Dec 2025 18:59:59 GMT
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: Accept-Encoding
access-control-allow-methods: HEAD, OPTIONS, GET
cdn-cache-control: public
cross-origin-opener-policy: same-origin
referrer-policy: no-referrer-when-downgrade
x-amz-id-2: wD82kIVnsmaH2c9JCyHEymiodFKkgNqoR2N1NPJsDlOakcQFDpBrUiXjh/pydNC2Q6YLEONopYTYczBg1mgscz/BAU0X/0Vw
x-amz-meta-mtime: 1765825195.786523736
x-amz-request-id: JY28GF6916J8HHKH
x-amz-server-side-encryption: AES256
x-backend: web-i-00a233f9147c90cdc
x-content-type-options: nosniff
x-rtd-domain: leather.readthedocs.io
x-rtd-force-addons: true
x-rtd-path: /proxito/html/leather/latest/index.html
x-rtd-project: leather
x-rtd-project-method: public_domain
x-rtd-resolver-filename: /
x-rtd-version: latest
x-rtd-version-method: path
x-served: Nginx-Proxito-Sendfile
set-cookie: __cf_bm=46wJym2FbS377uRg4DCTuTylptLN3KqdUqcly7bX00U-1766907531-1.0.1.1-NCCgSb_957sCpoHWWlGm2C1zTanr48DwcZWmzDDAbEAX9eNzk.TnV7t8wyyt_hsFzzoOVVzljmXZzb.I8XoPbU1uDCBuS4LUest.1.draI4; path=/; expires=Sun, 28-Dec-25 08:08:51 GMT; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
set-cookie: _cfuvid=8IOQlRjIuvT_xmcQtyM22C7niZvfZMry2Wj4BtJu5mM-1766907531640-0.0.1.1-604800000; path=/; domain=.readthedocs.io; HttpOnly; Secure; SameSite=None
alt-svc: h3=":443"; ma=86400
leather 0.4.1 documentation
Contents
Expand
Light mode
Dark mode
Auto light/dark, in light mode
Auto light/dark, in dark mode
Skip to content
Back to top
leather 0.4.1
Leather is the Python charting library for those who need charts now and don’t care if they’re perfect.
Leather isn’t picky. It’s rough. It gets dirty. It looks sexy just hanging on the back of a chair. Leather doesn’t need your accessories. Leather is how Snake Plissken would make charts.
Get it?
Important links:
Show me docs
About - why you should use leather
Install - how to install for users and developers
Examples - code + output examples of every feature of leather
API - technical documentation for the leather API
Changelog - a record of every change made for each release
Show me code
import random
import leather
dot_data = [( random . randint ( 0 , 250 ), random . randint ( 0 , 250 )) for i in range ( 100 )]
def colorizer ( d ):
return 'rgb( %i , %i , %i )' % ( d . x , d . y , 150 )
chart = leather . Chart ( 'Colorized dots' )
chart . add_dots ( dot_data , fill_color = colorizer )
chart . to_svg ( 'examples/charts/colorized_dots.svg' )
Who we are
The following individuals have contributed code, documentation, or expertise to leather: