A native Python client for the DocRaptor document generation service.
Python Shell
Latest commit b4b26ac Nov 3, 2016 @esquivalient esquivalient committed on GitHub Reminder to verify package release

README.md

DocRaptor Python Native Client Library

This is a Python package for using DocRaptor API to convert HTML to PDF and XLSX. It is compatible with Python 2 and Python 3.

Installation

pip install --upgrade docraptor

or

easy_install --upgrade docraptor

If you are on a system with easy_install but not pip, you can use easy_install instead. If you're not using virtualenv, you may have to prefix those commands with sudo.

Usage

See examples for runnable examples with file output, error handling, etc.

import docraptor

docraptor.configuration.username = "YOUR_API_KEY_HERE" # this key works for test documents
# docraptor.configuration.debug = True

doc_api = docraptor.DocApi()

response = doc_api.create_doc({
  "test": True,                                                   # test documents are free but watermarked
  "document_content": "<html><body>Hello World</body></html>",    # supply content directly
  # "document_url": "http://docraptor.com/examples/invoice.html", # or use a url
  "name": "docraptor-python.pdf",                                 # help you find a document later
  "document_type": "pdf",                                         # pdf or xls or xlsx
  # "javascript": True,                                           # enable JavaScript processing
  # "prince_options": {
  #   "media": "screen",                                          # use screen styles instead of print styles
  #   "baseurl": "http://hello.com",                              # pretend URL when using document_content
  # },
})

Docs created like this are limited to 60 seconds to render, check out the async example which allows 10 minutes.

We have guides for doing some of the common things:

More Help

DocRaptor has a lot of more styling and implementation options.

Stuck? We're experts at using DocRaptor so please email us if you run into trouble.

Development

The majority of the code in this repo is generated using swagger-codegen on docraptor.yaml. You can modify this file and regenerate the client using script/generate_language python.

The generated client needed a few fixes

Release Process

  1. Pull latest master
  2. Merge feature branch(es) into master
  3. script/test
  4. Increment version in code:
    • swagger-config.json
    • setup.py
    • docraptor/api_client.py
    • docraptor/configuration.py
  5. Update CHANGELOG.md
  6. Commit "Release version vX.Y.Z"
  7. Push to GitHub
  8. Tag version: git tag 'vX.Y.Z' && git push --tags
  9. Clean out any old packages rm dist/*
  10. Build packages python setup.py sdist bdist_wheel
  11. Upload packages twine upload dist/*
  12. Verify package release at https://pypi.python.org/pypi/docraptor
  13. Update documentation on docraptor.com

Version Policy

This library follows Semantic Versioning 2.0.0.