Skip to main content

DInk Python Library

The DInk Python library provides a pythonic interface to the DInk API. It includes an API client class, and a set of resource classes.

Installation

pip install dink

Requirements

  • Python 3.7+

Usage

import dink
import zipfile


client = dink.Client('your_api_key...')

assets = io.BytesIO()
with zipfile.ZipFile(assets, mode='w', compression=zipfile.ZIP_DEFLATED) as z:

    z.write('includes/footer.html')
    z.write('css/document.css')
    z.write('images/logo.png')
    z.write('fonts/company-font.otf')

assets.seek(0)

pdfs = dink.resources.PDF.create(
    client,
    template_html='''
<html>
    <head>
        <title>{{ title }}</title>
        <link
            rel="stylesheet"
            type="text/css"
            media="print"
            href="file://css/document.css"
        >
    </head>
    <body>
        <img src="images/logo.png" alt="logo">
        <h1>{{ title }}</h1>
        <main>
            {{ name }} you worked {{ hours_worked }} hours this week you
            {% if hours_worked > 40 %}
                star!
            {% else %}
                lazy bum!
            {% endif %}

            <img
                src="chart://hours_chart"
                alt="Hours worked each day this week"
                >
        </main>
        {% include 'includes/footer.html' %}
    </body>
</html>
    ''',
    document_args={
        'burt': {
            'hours_worked': 10,
            'hours_chart': dink.charts.BarChart(
                data=[{'data':  [1, 1, 2, 4, 2]}],
                labels=['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
                spacing=0.2
            ).to_json_type()
        },
        'harry': {
            'hours_worked': 44,
            'hours_chart': dink.charts.BarChart(
                data=[{'data':  [8, 8, 10, 8, 10]}],
                labels=['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
                spacing=0.2
            ).to_json_type()
        }
    },
    global_args={
        'title': 'Weekly sales report'
    },
    assets=assets
)

print(pdfs['burt'].store_key)

>> 'burt.ue32uw.pdf'

Metadata

Release files for DInk 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for DInk 0.0.5
File Size Uploaded
DInk-0.0.5.tar.gz 7.4 kB Details

Release files / DInk-0.0.5.tar.gz

Download URL DInk-0.0.5.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
47bbe71da0b4c4dbdfecb9221ba065bae5a5edaca428ced62b9ea5ed4c04f199
BLAKE2b-256 checksum
How to use checksums
4034afacc638a812436a609211cdb3b6bf8403fc220bbb66b6fe21d397e36071
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/2.7.17

Release history Release notifications | RSS feed

This release

0.0.5 This release

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page