Skip to main content

Python client library and CLI tool for FilePreviews.io

Project description

Build Status PyPI Status

Python client library and CLI tool for the FilePreviews.io service. Generate image previews and metadata from almost any kind of file.

Installation

Using pip:

$ pip install filepreviews

Using easy_install:

$ easy_install filepreviews

Usage

>>> from filepreviews import FilePreviews
>>> fp = FilePreviews(api_key="API_KEY_HERE", api_secret="API_SECRET_HERE")
>>> fp.generate("https://filesamples.com/samples/image/heic/sample1.heic")
<PreviewResult at 4497022216> JSON: {
  "id": "220214ec-17ec-4f37-a790-eaea64522bf2",
  "original_file": null,
  "preview": null,
  "status": "pending",
  "thumbnails": null,
  "url": "https://api.filepreviews.io/v2/previews/220214ec-17ec-4f37-a790-eaea64522bf2/",
  "user_data": null
}

Options

Check out the endpoint docs for all available options.

>>> options = {
...     "sizes": ["200x200"],
...     "format": "png",
...     "metadata": ["exif"],
...     "pages": "1",
...     "data": {"content_id": "1234"},
... }
>>> fp.generate("https://filesamples.com/samples/image/heic/sample1.heic", **options)

CLI

$ filepreviews \
    --api_key=API_KEY_HERE \
    --api_secret=API_SECRET_HERE \
    generate https://filesamples.com/samples/image/heic/sample1.heic
{
  "id": "e48c645d-8c02-40ab-9f11-2b3f2316be15",
  "original_file": null,
  "preview": null,
  "status": "pending",
  "thumbnails": null,
  "url": "https://api.filepreviews.io/v2/previews/e48c645d-8c02-40ab-9f11-2b3f2316be15/",
  "user_data": null
}
$ filepreviews \
    --api_key=API_KEY_HERE \
    --api_secret=API_SECRET_HERE \
    retrieve e48c645d-8c02-40ab-9f11-2b3f2316be15
{
  "id": "e48c645d-8c02-40ab-9f11-2b3f2316be15",
  "original_file": null,
  "preview": null,
  "status": "pending",
  "thumbnails": null,
  "url": "https://api.filepreviews.io/v2/previews/e48c645d-8c02-40ab-9f11-2b3f2316be15/",
  "user_data": null
}

Supported by

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