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'

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DInk-0.0.5.tar.gz (7.4 kB view details)

Uploaded Source

File details

Details for the file DInk-0.0.5.tar.gz.

File metadata

  • Download URL: DInk-0.0.5.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for DInk-0.0.5.tar.gz
Algorithm Hash digest
SHA256 47bbe71da0b4c4dbdfecb9221ba065bae5a5edaca428ced62b9ea5ed4c04f199
MD5 d5246e027fb2a33af2b61c8385b3ade7
BLAKE2b-256 4034afacc638a812436a609211cdb3b6bf8403fc220bbb66b6fe21d397e36071

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.5 This release

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

1 file

0.0.1

1 file

0.0.0

1 file

Supported by

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