Skip to main content

This library includes a set of tools for using zero-width unicode characters to embed human-invisible messages in text.

Watermarking

You can use invisible ink to uniquely identify a piece of text by embedding a UUID:

>>> from invisible_ink import encode_watermark, decode_watermark
>>> encoded_text, uuid = encode_watermark(u'asdf')
>>> print encoded_text
asdf
>>> uuid
UUID('3ca37a37-9c5a-4b9e-a9c0-a50c47c48dba')
>>> decode_watermark(encoded_text)
(u'asdf', UUID('3ca37a37-9c5a-4b9e-a9c0-a50c47c48dba'))

encode_watermark (text, watermark_uuid=None, prepend=False)

Encodes the given text with a watermark string generated from the given uuid. Optionally appends or prepends the watermark string.

Parameters:

  • text: Unicode string to which the watermark will be added

  • watermark_uuid: uuid.UUID instance to use as the watermark. (uuid.uuid4() will be used to generate one if not provided.)

  • prepend: Indicates whether the watermark should be prended to text (defaults to False). If False, the watermark will be appended.

Returns:

A 2-tuple: (encoded_text, watermark_uuid)

decode_watermark (encoded_text)

Decodes the given text, separating out the original text and the watermark uuid.

Paramters:

  • encoded_text: Unicode string which potentially includes a watermark

Returns:

A 2-tuple: (text, watermark_uuid). If no watermark is detected, text is the original text and watermark_uuid is None.

Installation

$ pip install invisible-ink

Download files

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

Source Distribution

invisible-ink-0.1.1.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

invisible_ink-0.1.1-py2.py3-none-any.whl (4.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file invisible-ink-0.1.1.tar.gz.

File metadata

  • Download URL: invisible-ink-0.1.1.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for invisible-ink-0.1.1.tar.gz
Algorithm Hash digest
SHA256 756040760290efce3e2ba146838636f497afc9a5340f40cdbe9e4a80a67dbc5a
MD5 06e3664f3f377542cddaae7940bbe488
BLAKE2b-256 e29fbeac52516c3f0fbe3e668ba1745380e5d45807debe664d46a7a87268df63

See more details on using hashes here.

File details

Details for the file invisible_ink-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for invisible_ink-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5db83bce0e4a442b60eb41c533cfde19ebe7090ec2b6a1b1e4d14141beebe8be
MD5 fd52fc476dc7d9e8d21cd5aa916c743d
BLAKE2b-256 cf5394f204bb855e0660068bef0be897333b24d2765ba7ec88853ba2ee807a9e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1

2 files

Supported by

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