Skip to main content

Python REST API wrapper for cloud convert

Project description

cloudconvert-python

This is the official Python SDK v2 for the CloudConvert API v2. For API v1, please use v1 branch of this repository.

Build Status

Installation

 pip install cloudconvert

Creating API Client

  import cloudconvert

  cloudconvert.configure(api_key = 'API_KEY', sandbox = False)

Or set the environment variable CLOUDCONVERT_API_KEY and use:

  import cloudconvert

  cloudconvert.default()

Creating Jobs

 import cloudconvert

 cloudconvert.configure(api_key = 'API_KEY')

 cloudconvert.Job.create(payload={
     "tasks": {
         'import-my-file': {
              'operation': 'import/url',
              'url': 'https://my-url'
         },
         'convert-my-file': {
             'operation': 'convert',
             'input': 'import-my-file',
             'output_format': 'pdf',
             'some_other_option': 'value'
         },
         'export-my-file': {
             'operation': 'export/url',
             'input': 'convert-my-file'
         }
     }
 })

Downloading Files

CloudConvert can generate public URLs for using export/url tasks. You can use these URLs to download output files.

exported_url_task_id = "84e872fc-d823-4363-baab-eade2e05ee54"
res = cloudconvert.Task.wait(id=exported_url_task_id) # Wait for job completion
file = res.get("result").get("files")[0]
res = cloudconvert.download(filename=file['filename'], url=file['url'])
print(res)

Uploading Files

Uploads to CloudConvert are done via import/upload tasks (see the docs). This SDK offers a convenient upload method:

job = cloudconvert.Job.create(payload={
    'tasks': {
        'upload-my-file': {
            'operation': 'import/upload'
        }
    }
})

upload_task_id = job['tasks'][0]['id']

upload_task = cloudconvert.Task.find(id=upload_task_id)
res = cloudconvert.Task.upload(file_name='path/to/sample.pdf', task=upload_task)

res = cloudconvert.Task.find(id=upload_task_id)

Webhook Signing

The node SDK allows to verify webhook requests received from CloudConvert.

payloadString = '...'; # The JSON string from the raw request body.
signature = '...'; # The value of the "CloudConvert-Signature" header.
signingSecret = '...'; # You can find it in your webhook settings.

isValid = cloudconvert.Webhook.verify(payloadString, signature, signingSecret); # returns true or false

Unit Tests

# Run Task tests
$ python tests/unit/testTask.py

# Run Job tests
$ python tests/unit/testJob.py

# Run Webhook tests
$ python tests/unit/testWebhookSignature.py

Integration Tests

# Run Integration test for task
$ python tests/integration/testTasks.py 

# Run Integration test for Job
$ python tests/integration/testJobs.py 

Resources

Project details


Download files

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

Source Distribution

cloudconvert-2.0.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

cloudconvert-2.0.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file cloudconvert-2.0.0.tar.gz.

File metadata

  • Download URL: cloudconvert-2.0.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

File hashes

Hashes for cloudconvert-2.0.0.tar.gz
Algorithm Hash digest
SHA256 552106e2e8dae9af0a4c6a978baa6754ac86063fc9618b0edda6b1e7ffec83d3
MD5 094292082f69b04a4e1667e615b0894c
BLAKE2b-256 acc9a0d3aa963f5075491ed7a0a10d0f2f033b379c09122cb4c5df01dffe479b

See more details on using hashes here.

File details

Details for the file cloudconvert-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: cloudconvert-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

File hashes

Hashes for cloudconvert-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 084b5e6babe1c62124738d1109c04c67994e53d34d9cf0ab169574772683ddbf
MD5 ca605619c29a4125a59bffb9134f9065
BLAKE2b-256 73cf2bb70713712c0e9c0c8fdbf6877ceec72abaf2b0e583b9f6594dc3569480

See more details on using hashes here.

Supported by

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