borb is a library for reading, creating and manipulating PDF files in python.

Overview

borb logo borb

Code style: black Corpus Coverage : 99.0% Text Extraction : 88.6% Public Method Documentation : 100%

borb is a library for creating and manipulating PDF files in python.

0. About borb

borb is a pure python library to read, write and manipulate PDF documents. It represents a PDF document as a JSON-like datastructure of nested lists, dictionaries and primitives (numbers, string, booleans, etc)

This is currently a one-man project, so the focus will always be to support those use-cases that are more common in favor of those that are rare.

1. About the Examples

The examples can be found in a separate repository. This ensures the borb repository stays relatively small, whilst still providing a thorough knowledgebase of code-samples, screenshots and explanatory text.

Check out the examples repository here!

They include;

  • Reading a PDF and extracting meta-information
  • Changing meta-information
  • Extracting text from a PDF
  • Extracting images from a PDF
  • Changing images in a PDF
  • Adding annotations (notes, links, etc) to a PDF
  • Adding text to a PDF
  • Adding tables to a PDF
  • Adding lists to a PDF
  • Using a PageLayout manager

and much more

1.1 Hello World

To give you an immediate idea of the way borb works, this is the classic Hello World example, in borb:

from pathlib import Path

from borb.pdf.canvas.layout.page_layout.multi_column_layout import SingleColumnLayout
from borb.pdf.canvas.layout.text.paragraph import Paragraph
from borb.pdf.document import Document
from borb.pdf.page.page import Page
from borb.pdf.pdf import PDF

# create an empty Document
pdf = Document()

# add an empty Page
page = Page()
pdf.append_page(page)

# use a PageLayout (SingleColumnLayout in this case)
layout = SingleColumnLayout(page)

# add a Paragraph object
layout.add(Paragraph("Hello World!"))
    
# store the PDF
with open(Path("output.pdf"), "wb") as pdf_file_handle:
    PDF.dumps(pdf_file_handle, pdf)

2. License

borb is dual licensed as AGPL/Commercial software.

AGPL is a free / open source software license. This doesn't mean the software is gratis!

Buying a license is mandatory as soon as you develop commercial activities distributing the borb software inside your product or deploying it on a network without disclosing the source code of your own applications under the AGPL license. These activities include:

  • Offering paid services to customers as an ASP
  • Serving PDFs on the fly in the cloud or in a web application
  • Shipping borb with a closed source product

Contact sales for more information.

3. Acknowledgements

I would like to thank the following people, for their contributions / advice with regards to developing borb:

  • Aleksander Banasik
  • Benoît Lagae
  • Michael Klink
Comments
  • Can't import 'image'

    Can't import 'image'

    Hi,

    The line: from borb.pdf.canvas.layout.image import Image

    gives an error: ImportError: cannot import name 'Image' from 'borb.pdf.canvas.layout.image' (/home/user/.local/lib/python3.7/site-packages/borb/pdf/canvas/layout/image/__init__.py)

    Am I doing something wrong?

    opened by paulr4 18
  • Long table - how to write on multiple pages

    Long table - how to write on multiple pages

    Hi,

    I'm facing some difficulties to create a pdf with a long table. I get an assertion error assert height >= 0

    I didn't succeed to find the information. What is the best way to manage multiple pages?

    Thanks for the help.

    opened by julien-fr 17
  • Textfield value overwrites all

    Textfield value overwrites all

    Hello! Just discovered this awesome library today.

    I'm interested in the forms feature. I have the same issue as one commented on this post, long time ago:

    https://stackabuse.com/creating-a-form-in-a-pdf-document-in-python-with-borb/

    Comment: "Thank you very much. Awesome tutorial. Just one little note, you have used the values "Doe" and "John" as for the name and surname and in the output pdf, the values appeared "John" as for both name and surname, and when click in the name field "Doe" appeared"

    Likewise, when I try to structure my forms with a pre-filled value, the last value of the table overwrites other, until you actively click into the textbox.

    Is there any way to avoid this? Some of the source code I can comment out?

    Example code to recreate the problem:

    
      def main():
    
          # create Document
          doc: Document = Document()
      
          # create Page
          page: Page = Page()
      
          # add Page to Document
          doc.append_page(page)
      
          # set a PageLayout
          layout: PageLayout =SingleColumnLayout(page)
      
      
          layout.add(Paragraph("Your information", font_color=HexColor("150549"), font_size=Decimal(15)))
      
          layout.add(Paragraph("Kontaktinformationen:", font="Helvetica-Bold"))
      
         
          # Use a table to lay out the form
          table: FixedColumnWidthTable = FixedColumnWidthTable(number_of_rows=6, number_of_columns=2)
      
      
          # Name
          table.add(Paragraph("Name, Vorname : ", horizontal_alignment=Alignment.RIGHT, font_color=HexColor("050100")))
          table.add(TextField(value="Random 1 ", font_color=HexColor("050100"), font_size=Decimal(20)))
      
          # Surname
          table.add(Paragraph("Familienname : ", horizontal_alignment=Alignment.RIGHT, font_color=HexColor("050100")))
          table.add(TextField(value="Random 2", font_color=HexColor("050100"), font_size=Decimal(20)))
          
          # Name before marraige
          table.add(Paragraph("Geburtsname : ", horizontal_alignment=Alignment.RIGHT, font_color=HexColor("050100")))
          table.add(TextField(value="Random 3 ", font_color=HexColor("050100"), font_size=Decimal(20)))
      
          # Straße
          table.add(Paragraph("Straße : ", horizontal_alignment=Alignment.RIGHT, font_color=HexColor("050100")))
          table.add(TextField(value="Random 4", font_color=HexColor("050100"), font_size=Decimal(20)))
      
          # PLZ
          table.add(Paragraph("PLZ, Wohnort (bei Wehrpflichtigen Standort) : ", horizontal_alignment=Alignment.RIGHT, font_color=HexColor("050100")))
          table.add(TextField(value="Random 5", font_color=HexColor("050100"), font_size=Decimal(20)))
      
          # Birthday
          table.add(Paragraph("Geburtsdatum : ", horizontal_alignment=Alignment.RIGHT, font_color=HexColor("050100")))
          table.add(TextField(value="Random 6 ", font_color=HexColor("050100"), font_size=Decimal(20)))
      
          table.set_padding_on_all_cells(Decimal(5), Decimal(5), Decimal(5), Decimal(5))
          table.no_borders()
      
          layout.add(table)
      
          with open("output.pdf", "wb") as pdf_file_handle:
              PDF.dumps(pdf_file_handle, doc)
    
    
      if __name__ == "__main__":
          main()
    
    

    Kind regards

    opened by wenestam 15
  • BUG: `SimpleTextExtraction` returns Chinese characters in non-compliant PDF

    BUG: `SimpleTextExtraction` returns Chinese characters in non-compliant PDF

    Describe the bug borb extracts chinese characters only from a document that doesn't contain any chinese characters at all

    To Reproduce Get this PDF: https://arxiv.org/pdf/1601.03642.pdf and store it as 1601.03642.pdf

    def borb_get_text(data: bytes) -> str:
        text = ""
        try:
            l = SimpleTextExtraction()
            d = PDF.loads(BytesIO(data), [l])
            page_nb = 0
            extr = l.get_text_for_page(page_nb)
            while extr != "":
                text += extr
                extr = l.get_text_for_page(page_nb)
                page_nb += 1
        except Exception as exc:
            print(exc)
        return text
    
    
    with open("1601.03642.pdf", "rb") as f:
        data = f.read()
    print(borb_get_text(data))
    

    Expected behaviour Get this (or something similar): https://github.com/py-pdf/benchmarks/blob/main/read/extraction-ground-truth/1601.03642.txt

    Desktop (please complete the following information):

    • OS: Ubuntu (Linux)
    • borb version: borb==2.0.25
    • input PDF: https://arxiv.org/pdf/1601.03642.pdf and store it as `1601.03642.pdf

    Additional context

    I'm running a benchmark for text extraction of various libraries. Currently, the quality and speed of borb is by far the worst: https://github.com/py-pdf/benchmarks#text-extraction-quality

    opened by MartinThoma 15
  • Fonts with 'space' character id = 0 display incorrectly

    Fonts with 'space' character id = 0 display incorrectly

    I have been modifying borb to have paragraphs that will split across pages. That works. But while experimenting, I tried some different fonts that I downloaded. When viewing the results, the lines were too long. After some digging, I discovered that the fonts assigned the 'space' character to character id 0. When the GlyphLine class encountered this as a two byte character (0x00??) and retrieved the following character but discarded the space (glyph_line.py:line 66).

    I patched this by changing if i + 1 < len(text_bytes): to if i + 1 < len(text_bytes) and text_bytes[i]:

    I don't know if this is generally applicable (i.e. everything I know about fonts I learned while trying to figure this out), but it works for me. It also seems reasonable since a two-byte value starting with 0x00 returns the same value as a one-byte value.

    opened by oldmanofthemountain 15
  • Not all required packages installed on Windows from pypi

    Not all required packages installed on Windows from pypi

    Installed this from pypi and seems some packages are missing by default. Needed to install windows-curses and fonttools to get it going.

    ModuleNotFoundError: No module named '_curses'
    ...
    ModuleNotFoundError: No module named 'fontTools'
    
    opened by cdgriffith 14
  • Long PDF RecursionError: maximum recursion depth exceeded in comparison

    Long PDF RecursionError: maximum recursion depth exceeded in comparison

    I was working on generating a large PDF using borb (2.0.18) and I noticed that I was stumbling on RecursionError: maximum recursion depth exceeded in comparison issues at various points.

    I modified one of your examples/demos to recreate it:

    demo-pages.py

    from decimal import Decimal
    from pathlib import Path
    from borb.pdf.canvas.color.color import HexColor
    from borb.pdf.canvas.layout.page_layout.multi_column_layout import SingleColumnLayout
    from borb.pdf.canvas.layout.text.heading import Heading
    from borb.pdf.canvas.layout.text.paragraph import Paragraph
    from borb.pdf.document import Document
    from borb.pdf.page.page import Page
    from borb.pdf.pdf import PDF
    
    
    def main():
        # Create empty Document
        pdf = Document()
    
        for index in range(500):
            # Create empty Page
            page = Page()
    
            # Add Page to Document
            pdf.append_page(page)
    
            # Create PageLayout
            layout = SingleColumnLayout(page)
    
            paragraph_text = f"page {index}"
    
            layout.add(
                Heading(paragraph_text, font_color=HexColor("13505B"), font_size=Decimal(20))
            )
            layout.add(Paragraph(paragraph_text))
    
        with Path("output.pdf").open("wb") as pdf_file_handle:
            PDF.dumps(pdf_file_handle, pdf)
    
    
    if __name__ == "__main__":
        main()
    

    Traceback

    ❯ python demo-pages.py
    Traceback (most recent call last):
      File "/Users/jefftriplett/.virtualenvs/borb/src/demo-pages.py", line 38, in <module>
        main()
      File "/Users/jefftriplett/.virtualenvs/borb/src/demo-pages.py", line 34, in main
        PDF.dumps(pdf_file_handle, pdf)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/pdf/pdf.py", line 70, in dumps
        WriteAnyObjectTransformer().transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/document/document_transformer.py", line 76, in transform
        self.get_root_transformer().transform(object_to_transform["XRef"], context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/reference/xref_transformer.py", line 80, in transform
        self.get_root_transformer().transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/document/catalog_transformer.py", line 99, in transform
        return super(CatalogTransformer, self).transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 99, in transform
        self.get_root_transformer().transform(e, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/any_object_transformer.py", line 88, in transform
        super().transform(object_to_transform, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 100, in transform
        return_value = h.transform(
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/object/dictionary_transformer.py", line 69, in transform
        out_value[k] = self.get_reference(v, context)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/write/transformer.py", line 206, in get_reference
        ref = Reference(object_number=obj_number)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/read/types.py", line 733, in __init__
        add_base_methods(self)
      File "/Users/jefftriplett/.virtualenvs/borb/lib/python3.9/site-packages/borb/io/read/types.py", line 148, in add_base_methods
        def get_reference(self) -> typing.Optional["Reference"]:
      File "/Users/jefftriplett/.pyenv/versions/3.9.10/lib/python3.9/typing.py", line 274, in inner
        return cached(*args, **kwds)
    RecursionError: maximum recursion depth exceeded in comparison
    
    opened by jefftriplett 12
  • No Space between words

    No Space between words

    Hi team,

    We are trying to use the library to extract data from the pdf files but there are no spaces in between words and we cannot use that. Is there a way to fix this?

    Regards Mandeep

    opened by Mandeep258 11
  • cannot get it to work - list index out of range error

    cannot get it to work - list index out of range error

    I am not sure this is a bug so forgive me for being a noob and for possibly reporting something that is nog an issue but pure ignorance from my side

    With your example in the simplest form I am trying to read a PDF invoice. This results in a "list index out of range error"

    Here is my code:

    import typing
    from borb.pdf import Document
    from borb.pdf.pdf import PDF
    import os
    
    def main():
        d: typing.Optional[Document] = None
        with open("output.pdf", "rb") as pdf_in_handle:
            d = PDF.loads(pdf_in_handle)
    
        assert d is not None
    
    
    if __name__ == "__main__":
        main()
    

    Here is the error message:


    IndexError Traceback (most recent call last) Input In [3], in <cell line: 1>() ----> 1 main()

    Input In [2], in main() 2 d: typing.Optional[Document] = None 3 with open("output.pdf", "rb") as pdf_in_handle: ----> 4 d = PDF.loads(pdf_in_handle) 6 assert d is not None

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\pdf\pdf.py:54, in PDF.loads(file, event_listeners, password) 44 @staticmethod 45 def loads( 46 file: Union[io.BufferedIOBase, io.RawIOBase], 47 event_listeners: List[EventListener] = [], 48 password: typing.Optional[str] = None, 49 ) -> Document: 50 """ 51 This function reads a byte-stream input (which may be presented as an io.BufferedIOBase o io.RawIOBase) 52 and returns a Document. 53 """ ---> 54 return ReadAnyObjectTransformer().transform( 55 file, 56 parent_object=None, 57 context=ReadTransformerState(password=password), 58 event_listeners=event_listeners, 59 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\reference\xref_transformer.py:140, in XREFTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 135 raise NotImplementedError( 136 "password-protected PDFs are currently not supported" 137 ) 139 # transform /Trailer --> 140 trailer = self.get_root_transformer().transform( 141 context.root_object["XRef"]["Trailer"], 142 context.root_object, 143 context, 144 event_listeners, 145 ) 147 assert trailer is not None 148 assert isinstance(trailer, Dictionary)

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\dictionary_transformer.py:48, in DictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 46 # transform key/value pair(s) 47 for k, v in object_to_transform.items(): ---> 48 v = self.get_root_transformer().transform( 49 v, object_to_transform, context, event_listeners 50 ) 51 if v is not None: 52 object_to_transform[k] = v

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\reference\reference_transformer.py:105, in ReferenceTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 103 assert referenced_object is not None 104 context.indirect_reference_chain.add(object_to_transform) --> 105 transformed_referenced_object = self.get_root_transformer().transform( 106 referenced_object, parent_object, context, event_listeners 107 ) 108 context.indirect_reference_chain.remove(object_to_transform) 110 # update cache

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\page\root_dictionary_transformer.py:86, in RootDictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 84 for t in self.get_root_transformer().get_children(): 85 if isinstance(t, DictionaryTransformer): ---> 86 transformed_root_dictionary = t.transform( 87 object_to_transform, parent_object, context, event_listeners 88 ) 89 break 91 assert transformed_root_dictionary is not None

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\dictionary_transformer.py:48, in DictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 46 # transform key/value pair(s) 47 for k, v in object_to_transform.items(): ---> 48 v = self.get_root_transformer().transform( 49 v, object_to_transform, context, event_listeners 50 ) 51 if v is not None: 52 object_to_transform[k] = v

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\reference\reference_transformer.py:105, in ReferenceTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 103 assert referenced_object is not None 104 context.indirect_reference_chain.add(object_to_transform) --> 105 transformed_referenced_object = self.get_root_transformer().transform( 106 referenced_object, parent_object, context, event_listeners 107 ) 108 context.indirect_reference_chain.remove(object_to_transform) 110 # update cache

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\dictionary_transformer.py:48, in DictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 46 # transform key/value pair(s) 47 for k, v in object_to_transform.items(): ---> 48 v = self.get_root_transformer().transform( 49 v, object_to_transform, context, event_listeners 50 ) 51 if v is not None: 52 object_to_transform[k] = v

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\array_transformer.py:48, in ArrayTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 46 # transform child(ren) 47 for i in range(0, len(object_to_transform)): ---> 48 object_to_transform[i] = self.get_root_transformer().transform( 49 object_to_transform[i], object_to_transform, context, event_listeners 50 ) 52 # return 53 return object_to_transform

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\reference\reference_transformer.py:105, in ReferenceTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 103 assert referenced_object is not None 104 context.indirect_reference_chain.add(object_to_transform) --> 105 transformed_referenced_object = self.get_root_transformer().transform( 106 referenced_object, parent_object, context, event_listeners 107 ) 108 context.indirect_reference_chain.remove(object_to_transform) 110 # update cache

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\page\page_dictionary_transformer.py:64, in PageDictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 62 if k == "Parent": 63 continue ---> 64 v = self.get_root_transformer().transform( 65 v, page_out, context, event_listeners 66 ) 67 if v is not None: 68 page_out[k] = v

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\dictionary_transformer.py:48, in DictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 46 # transform key/value pair(s) 47 for k, v in object_to_transform.items(): ---> 48 v = self.get_root_transformer().transform( 49 v, object_to_transform, context, event_listeners 50 ) 51 if v is not None: 52 object_to_transform[k] = v

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\dictionary_transformer.py:48, in DictionaryTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 46 # transform key/value pair(s) 47 for k, v in object_to_transform.items(): ---> 48 v = self.get_root_transformer().transform( 49 v, object_to_transform, context, event_listeners 50 ) 51 if v is not None: 52 object_to_transform[k] = v

    [... skipping similar frames: AnyObjectTransformer.transform at line 100 (1 times), Transformer.transform at line 123 (1 times)]
    

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\reference\reference_transformer.py:105, in ReferenceTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 103 assert referenced_object is not None 104 context.indirect_reference_chain.add(object_to_transform) --> 105 transformed_referenced_object = self.get_root_transformer().transform( 106 referenced_object, parent_object, context, event_listeners 107 ) 108 context.indirect_reference_chain.remove(object_to_transform) 110 # update cache

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\any_object_transformer.py:100, in AnyObjectTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 93 return super().transform( 94 object_to_transform, 95 parent_object, 96 ReadTransformerState(), 97 event_listeners, 98 ) 99 else: --> 100 return super().transform( 101 object_to_transform, parent_object, context, event_listeners 102 )

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\transformer.py:123, in Transformer.transform(self, object_to_transform, parent_object, context, event_listeners) 121 self._level += 1 122 self._invocation_count += 1 --> 123 out = h.transform( 124 object_to_transform, 125 parent_object=parent_object, 126 context=context, 127 event_listeners=event_listeners, 128 ) 129 self._level -= 1 130 # print("%s</%s>" % (" " * self.level, h.class.name))

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\read\object\stream_transformer.py:55, in StreamTransformer.transform(self, object_to_transform, parent_object, context, event_listeners) 52 object_to_transform[k] = v 54 # apply filter(s) ---> 55 object_to_transform = decode_stream(object_to_transform) 57 # convert (remainder of) stream dictionary 58 for k, v in object_to_transform.items():

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\filter\stream_decode_util.py:74, in decode_stream(s) 72 # RunLengthDecode 73 if filter_name in ["RunLengthDecode"]: ---> 74 transformed_bytes = RunLengthDecode.decode(transformed_bytes) 75 continue 77 # unknown filter

    File c:\users\python\sites\pdf\venv\lib\site-packages\borb-2.0.26-py3.9.egg\borb\io\filter\run_length_decode.py:34, in RunLengthDecode.decode(bytes_in) 32 for i in range(0, len(bytes_in), 2): 33 b = bytes_in[i] ---> 34 n = bytes_in[i + 1] 35 for j in range(0, n): 36 bytes_out.append(b)

    IndexError: index out of range

    Desktop (please complete the following information):

    • OS: Windows 10
    • borb version 2.0.26
    • Python 3.9.5
    • input PDF: I tried 3 different PDF's from 2 different suppliers. See attachments for one of them

    Here is the invoice. I blocked out the recipients address from privacy reasons. The invoice generates the error above with or without the address blocked out.

    output.pdf

    opened by remar1972 9
  • Checkboxes are

    Checkboxes are "checked" when pressing only one of them

    I add a series of checkboxes within the cells of table. The problem is: When I checked one, all of them got checked. Is there a way to make them independent to each other?

    from re import A, I
    from borb.pdf.document.document import Document
    from borb.pdf.page.page import Page
    from borb.pdf.pdf import PDF
    from borb.pdf.canvas.layout.page_layout.multi_column_layout import SingleColumnLayout
    from borb.pdf.canvas.layout.page_layout.page_layout import PageLayout
    import geopandas as gpd
    from borb.pdf.canvas.layout.table.fixed_column_width_table import FixedColumnWidthTable
    from borb.pdf.canvas.layout.text.paragraph import Paragraph
    from borb.pdf.canvas.layout.forms.text_field import TextField
    from borb.pdf.canvas.color.color import HexColor
    from decimal import Decimal
    from borb.pdf.canvas.layout.layout_element import Alignment
    from borb.pdf.canvas.layout.forms.drop_down_list import DropDownList
    # New import(s)
    from borb.pdf.pdf import PDF
    import pandas as pd
    import shapely
    import folium
    from shapely import wkt
    from shapely.geometry import box 
    import matplotlib.pyplot as plt
    #from PIL import Image
    from borb.pdf.canvas.layout.image.barcode import Barcode, BarcodeType  
    from borb.pdf.canvas.layout.layout_element import LayoutElement
    from borb.pdf.canvas.layout.table.flexible_column_width_table import FlexibleColumnWidthTable
    from borb.pdf.canvas.layout.image.image import Image
    import logging
    import random 
    
    
    layout.add(Paragraph("Stammdaten:", font="Helvetica-Bold", font_size=10))
    layout.add(Paragraph(
            "Prüfbemerkungen Amt: ",
            font = "Helvetica-Bold", font_size=10, border_bottom=False,border_right=False,
            padding_bottom=Decimal(0.5),
            margin_bottom= Decimal(0.5,)))
    
        from borb.pdf.canvas.layout.forms.check_box import CheckBox
        from borb.pdf.canvas.layout.table.table import  TableCell
    
        table2: FixedColumnWidthTable = FixedColumnWidthTable(number_of_rows=2, number_of_columns=4)
        table2.add(Paragraph("bestätig  ", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(TableCell(CheckBox(font_color=HexColor("464E51"))))
        #table2.add(Paragraph("  ", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(Paragraph("Erfassung in profil c/s", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(CheckBox(font_color=HexColor("464E51")))
        #table2.add(Paragraph("  ", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(Paragraph("nicht bestätig  ", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(CheckBox(font_color=HexColor("464E51")))
        #table2.add(Paragraph("  ", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(Paragraph("Nachweiß:", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.add(CheckBox(font_color=HexColor("464E51")))
        #table2.add(Paragraph("  ", horizontal_alignment=Alignment.LEFT, font_color=HexColor("464E51"), font_size=8))
        table2.set_padding_on_all_cells(Decimal(5), Decimal(5), Decimal(5), Decimal(5))
        table2.no_borders()
        layout.add(table2) 
    

    I expected one checkbox activated at the time I clicked on it.

    Bug_checkbox
    • OS: Windows
    • borb version [e.g. 22]
    opened by rogeralmengor 8
  • Increase the usage of augmented assignment statements

    Increase the usage of augmented assignment statements

    :eyes: Some source code analysis tools can help to find opportunities for improving software components. :thought_balloon: I propose to increase the usage of augmented assignment statements accordingly.

    Would you like to integrate anything from a transformation result which can be generated by a command like the following? (:point_right: Please check also for questionable change suggestions because of an evolving search pattern.)

    [Markus_Elfring@fedora lokal]$ perl -p -i.orig -0777 -e 's/^(?<indentation>\s+)(?<target>\S+)\s*=\s*\k<target>[ \t]*(?<operator>[+\-%&|^@]|\*\*?|\/\/?|<<|>>)/$+{indentation}$+{target} $+{operator}=/gm' $(find ~/Projekte/borb/lokal -name '*.py')
    
    opened by elfring 8
  • BUG Some images fail to load (?)

    BUG Some images fail to load (?)

    Describe the bug On loading and immediately dumping certain PDFs, images are lost. I am unsure whether it is because they have failed to load or whether they have failed to dump. I haven't yet figured out what is in common with these PDFs. Of note, sumatrapdf cannot render PDFs that were produced this way (i.e. loading and dumping at all. Though the Firefox PDF reader does, it loses the images. I have not investigated whether other readers can render these.

    To Reproduce A file where this has been produced: fleur-dining-menu-210220.pdf

    
    from borb.pdf import PDF
    from borb.toolkit import ImageExtraction
    
    bad_file = "fleur-dining-menu-210220.pdf"
    exportname = 'fleur_export.pdf'
    def main():
        l : ImageExtraction = ImageExtraction()
        
        with open(bad_file, 'rb') as f:
            pdf = PDF.loads(f, [l])
            
        print(l.extract_images()[0]) # returns a single image, the background. 
        # I wonder if the logo should be printed here?
    
        with open(exportname, 'wb') as f:
            PDF.dumps(f, pdf) # the logo 'fleur' is lost
    
    if __name__ == "__main__":
        main()
    

    Expected behaviour The same PDF should be reproduced after loading it and dumping it.

    Screenshots Left - original; Right - after loading and dumping using borb. Sumatrapdf would not render the PDF on the right; firefox was used.

    Screenshot 2022-12-06 202152

    Desktop (please complete the following information):

    I imagine that I'm missing or doing something wildly incorrect! Please correct me if so.

    opened by andrewang0001 2
  • BUG TextField objects are not editable when added to an existing PDF

    BUG TextField objects are not editable when added to an existing PDF

    Describe the bug TextField objects that are added to existing PDF pages with absolute positioning are displayed, but not editable.

    To Reproduce

    1. Open an existing PDF.
    2. Iterate the document pages and add TextField objects to a specific position with paint method.
    3. Save document as a new PDF
    from borb.pdf import Document
    from borb.pdf import PDF
    from borb.pdf.canvas.geometry.rectangle import Rectangle
    from decimal import Decimal
    from borb.pdf import Page
    from borb.pdf import Paragraph
    from borb.pdf import TextField
    
    with open("questionnaire.pdf", "rb") as in_file_handle:
        doc = PDF.loads(in_file_handle)
    
    info = doc.get_document_info()
    N = int(info.get_number_of_pages())
    r: Rectangle = Rectangle(
            Decimal(50),
            Decimal(5),
            Decimal(100),
            Decimal(5),
        )
    subfield = TextField(field_name="subject_id")
    for i in range(0, N):
        page = doc.get_page(i)
        subfield.paint(page, r)
        
    
    with open("borbtest.pdf", "wb") as pdf_out_handle:
        PDF.dumps(pdf_out_handle, doc)
    

    Expected behaviour The TextField object should be editable in the output PDF.
    The aim is that entering text in any of the pages updates all text fields. That is why I'm using one TextField object for all pages. I'm unsure if this is the right approach or possible at all.

    Screenshots screenshot

    Desktop (please complete the following information):

    • OS: Mac OSX 12.6
    • borb version: 2.1.5.2
    • The input PDF is a Clinical Research Form and should not be shared because it includes licensed clinical tests.

    Additional context The aim is to add an input text field to enter the subject ID and carry it over all pages before printing.

    opened by stimon 5
  • BUG DCTDecode Filter throws error

    BUG DCTDecode Filter throws error

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce I created a script for OCR-ing pdfs based on your blog. Very excited by this library but yet to have it work for me. THis time it throws this exception when trying to OCR this pdf file -- https://ppc.files.com/f/64bfd2745c276cb6

    AssertionError: Unknown /Filter DCTDecode
    python-BaseException
    

    This was an issue for Py2PDF too: https://stackoverflow.com/questions/47730944/error-while-image-extraction-from-pdf-in-python

    
    from pathlib import Path
    
    from borb.toolkit.ocr.ocr_as_optional_content_group import OCRAsOptionalContentGroup
    from borb.pdf.pdf import PDF
    
    
    class OCRMachine:
        def __init__(self, tesseract_data_path):
            self.tesseract_data_dir = Path(tesseract_data_path)
    
        def build_ocr_pdf_copy(self, input_pdf_path, copy_destination_path):
    
            # Set up everything for OCR
            assert self.tesseract_data_dir.exists()
            l: OCRAsOptionalContentGroup = OCRAsOptionalContentGroup(self.tesseract_data_dir)
    
            # Read Document
            doc = None
            with open(input_pdf_path, "rb") as pdf_file_handle:
                doc = PDF.loads(pdf_file_handle, [l])
    
            assert doc is not None
    
            # Store Document
            with open(copy_destination_path, "wb") as pdf_file_handle:
                PDF.dumps(pdf_file_handle, doc)
    
    scanned_pdf_example = r"C:\Users\adankert\Downloads\tess_example.pdf"
    example_output_path = r"C:\Users\adankert\Downloads\ocr_example.pdf"
    ocr_machine = OCRMachine(tesseract_data_path=r"C:\Program Files\Tesseract-OCR\tessdata")
    ocr_machine.build_ocr_pdf_copy(input_pdf_path=scanned_pdf_example,
                                   copy_destination_path=example_output_path)
    

    Expected behaviour

    
    **Screenshots**
    ```
    Traceback (most recent call last):
      File "C:/Users/adankert/Google Drive/GitHub/file_server_management/ocr/ocr_pdf.py", line 21, in build_ocr_pdf_copy
        doc = PDF.loads(pdf_file_handle, [l])
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\pdf\pdf.py", line 54, in loads
        return ReadAnyObjectTransformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\reference\xref_transformer.py", line 140, in transform
        trailer = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\object\dictionary_transformer.py", line 48, in transform
        v = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\reference\reference_transformer.py", line 105, in transform
        transformed_referenced_object = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\page\root_dictionary_transformer.py", line 86, in transform
        transformed_root_dictionary = t.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\object\dictionary_transformer.py", line 48, in transform
        v = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\reference\reference_transformer.py", line 105, in transform
        transformed_referenced_object = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\object\dictionary_transformer.py", line 48, in transform
        v = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\object\array_transformer.py", line 48, in transform
        object_to_transform[i] = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\reference\reference_transformer.py", line 105, in transform
        transformed_referenced_object = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\page\page_dictionary_transformer.py", line 64, in transform
        v = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\object\dictionary_transformer.py", line 48, in transform
        v = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\object\dictionary_transformer.py", line 48, in transform
        v = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\reference\reference_transformer.py", line 105, in transform
        transformed_referenced_object = self.get_root_transformer().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\any_object_transformer.py", line 100, in transform
        return super().transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\transformer.py", line 123, in transform
        out = h.transform(
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\read\image\grayscale_image_transformer.py", line 76, in transform
        x for x in decode_stream(object_to_transform)["DecodedBytes"]
      File "C:\Users\adankert\.virtualenvs\file_server_management-Bevy2CbZ\lib\site-packages\borb\io\filter\stream_decode_util.py", line 78, in decode_stream
        assert False, "Unknown /Filter %s" % filter_name
    AssertionError: Unknown /Filter DCTDecode
    python-BaseException
    ```
    
    **Desktop (please complete the following information):**
     - OS: Windows 10
     - borb version 2.0.31
     - Python 3.9.11
    - input PDF[ (if applicable)](https://ppc.files.com/f/64bfd2745c276cb6)
    
    
    opened by aa-dank 4
  • Support font subsetting to reduce size of pdf

    Support font subsetting to reduce size of pdf

    Describe the bug

    I want to add Chinese and Japanese in PDF. I did present Chinese and Japanese characters (は哈) successfully, but the size of output.pdf is too large (14MB).

    I read the example doc and found the chapter 8.6.2 Composite fonts. I just want to render each character seperately, namely extract the font of a single character and then package these characters in PDF file. How to achieve this using borb? I wonder if there is an exact configuration in borb?

    To Reproduce

    Steps to reproduce the behaviour:

    Download Microsoft Yahei.ttf at https://github.com/dolbydu/font/blob/master/unicode/Microsoft%20Yahei.ttf

    from borb.pdf.document.document import Document
    from borb.pdf.page.page import Page
    from borb.pdf.canvas.layout.page_layout.multi_column_layout import SingleColumnLayout
    from borb.pdf.canvas.layout.page_layout.page_layout import PageLayout
    from borb.pdf.canvas.layout.text.paragraph import Paragraph
    from borb.pdf.pdf import PDF
    from borb.pdf.canvas.font.simple_font.true_type_font import TrueTypeFont
    import time
    
    from pathlib import Path
    
    def print_current_time():
        print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    
    if __name__ == "__main__":
    
        print_current_time()
    
        font_path = Path(__file__).parent / "font" / "Microsoft Yahei.ttf"
        custom_font = TrueTypeFont.true_type_font_from_file(font_path)
    
        print_current_time()
    
        doc = Document()
        page = Page()
        doc.append_page(page)
        layout = SingleColumnLayout(page)
        layout.add(Paragraph("はははは哈哈", font=custom_font))
    
        print_current_time()
    
        timestamp = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())
        pdf_name = timestamp + ".pdf"
        pdf_path = Path(__file__).parent / "pdf" / pdf_name
        with open(pdf_path, "wb") as pdf_file_handle:
            PDF.dumps(pdf_file_handle, doc)
    
        print_current_time()
    
    2022-05-27 21:19:11
    2022-05-27 21:19:26
    2022-05-27 21:19:27
    2022-05-27 21:20:02
    
    [ 288]  .
    ├── [  97]  README.md
    ├── [ 128]  font
    │   ├── [ 21M]  Microsoft Yahei.ttf
    │   └── [ 74M]  PingFang.ttc
    ├── [1.3K]  main.py
    └── [  96]  pdf
        └── [ 14M]  2022_05_27_20_49_11.pdf
    

    Expected behaviour

    The size of PDF file should be less than 1MB.

    Desktop (please complete the following information):

    • OS: macOS 12.3
    • borb version 2.0.26
    • Python 3.9.5
    opened by Yang-Xijie 14
  • Support password-protected PDFs

    Support password-protected PDFs

    Opening an encrypted PDF without a password (bank statement) results in:

    NotImplementedError: password-protected PDFs are currently not supported

    This is a TODO mentioned here

    opened by gco 1
Releases(v2.1.7)
  • v2.1.7(Dec 6, 2022)

    :mega: borb release notes

    This release is a feature release.

    • Introducing SimpleFindReplace which enables you to find and replace text in a PDF
      • For examples on how to use it, check the examples repository
      • You can also check the tests directory in this project

    This release fixes inconsistencies in toolkit

    Most of the classes in the following table implement EventListener and are part of the package toolkit. They have a class method (which you can call if you instantiate them and add them as EventListener to a PDF). They also have a static method that you can call. The class method and static method typically return the same type/thing.

    The static method has the advantage that it allows you to work with a Document, whereas the class method only works with a PDF that is being loaded. Or, to put it simply, the static method can be used at any point in the life-cycle of Document, whereas the class method can only be used when reading an existing PDF.

    This table gives you an overview of the available classes in toolkit and their methods:

    | class | class method | static method | status | |-----------------------------------|----------------------------|--------------------------------------|--------------------| | ColorExtraction | get_color | get_color_from_pdf | :heavy_check_mark: | | FontExtraction | get_fonts | | | | FontExtraction | get_font_names | | | | HTMLToPDF | | convert_html_to_layout_element | :heavy_check_mark: | | HTMLToPDF | | convert_html_to_pdf | :heavy_check_mark: | | ImageExtraction | get_images | get_images_from_pdf | :heavy_check_mark: | | MarkdownToPDF | | convert_markdown_to_layout_element | :heavy_check_mark: | | MarkdownToPDF | | convert_markdown_to_pdf | :heavy_check_mark: | | PDFToJPG | convert_to_jpg | convert_pdf_to_jpg | :heavy_check_mark: | | PDFToMP3 | convert_to_mp3 | convert_pdf_to_mp3 | :heavy_check_mark: | | PDFToSVG | convert_to_svg | convert_pdf_to_svg | :heavy_check_mark: | | RegularExpressionTextExtraction | get_matches | get_matches_for_pdf | :heavy_check_mark: | | SimpleLineOfTextExtraction | get_lines_of_text | get_lines_of_text_from_pdf | :heavy_check_mark: | | SimpleNonLigatureTextExtraction | get_text | get_text_from_pdf | :heavy_check_mark: | | SimpleParagraphExtraction | get_paragraphs | get_paragraphs_from_pdf | :heavy_check_mark: | | SimpleTextExtraction | get_text | get_text_from_pdf | :heavy_check_mark: | | TableDetectionByLines | get_tables | | | | TableDetectionByLines | get_table_bounding_boxes | | | | TextRankKeywordExtraction | get_keywords | get_keywords_from_pdf | :heavy_check_mark: | | TFIDFKeywordExtraction | get_keywords | get_keywords_from_pdf | :heavy_check_mark: |

    Source code(tar.gz)
    Source code(zip)
  • v2.1.6(Nov 6, 2022)

  • v2.1.5(Oct 25, 2022)

    :mega: borb release notes

    This release is a maintenance release.

    • FormField elements behave more like LayoutElement now
    • Add more SmartArt
    • Add automated testing using GitHub actions
    • Add Version class to have 1 point of reference for getting version/author/producer information

    Usage Statistics

    Recently, borb has gone into the early stages of finding a reseller. This is a very exciting step that I am sure will bring positive things for all of us, both borb and its users.

    Understandably, the marketing/sales team would like some data to figure out what our target audience is, where to invest effort and resources, and more. So I have added UsageStatistics to borb. This class gathers the following data:

    • anonymous user ID (This is a randomly generated UUID, it is persisted in the installation directory of borb to ensure consistency between calls)
    • city
    • country name
    • country code
    • system platform (the operating system on which borb is running)
    • state
    • utc time in ms
    • version (the version of borb that is running)

    These statistics are periodically sent to our server(s). I have done my best to ensure this does not hinder the performance of borb in any way. I urge to look at the source code of the License package to reassure yourself of the fact that we are gathering only the bare minimum of data.

    Nevertheless, I fully understand that you may prefer not to send this information. You can turn it off by calling UsageStatistics.disable().

    Source code(tar.gz)
    Source code(zip)
  • v2.1.4(Oct 1, 2022)

    :mega: borb release 2.1.4

    This release is a maintenance/feature release.

    • Fixed inconsistent function names in borb.toolkit
      • Updated examples repository
    • Fixed issue with deepcopy on borb objects
      • Added tests for deepcopy
    • Added more random text generators so users can pick a flavor
    • Added SmartArt to allow document designers to easily create beautiful charts and illustrations
      • Added tests for SmartArt
      • More SmartArt to come in future releases
    Source code(tar.gz)
    Source code(zip)
  • v2.1.3(Sep 14, 2022)

    :mega: borb release 2.1.3

    This release is a minor bugfix release:

    • Following the large refactor of LayoutElement, some minor classes still needed to be updated to work with the new framework. Most notable among these is HTMLToPDF`.

    • GradientColoredDisjointShape has become GradientColoredDisconnectedShape to follow suit with the rename of DisjointShape to DisconnectedShape.

    • InlineFlow and BlockFlow have been moved to page_layout. Easy imports have been provided for them.

    • More convenient imports have been made possible for FormField elements.

    • The documentation of borb (to be found in the examples repository) has been given a major check. There is also a script that will automatically attempt to run each example code snippet. This should make it easier to detect when a new release breaks something in the examples repository.

    Source code(tar.gz)
    Source code(zip)
  • v2.1.2(Sep 14, 2022)

    :mega: borb release 2.1.2

    This release is a minor bugfix release:

    • Following the large refactor of LayoutElement, some minor classes still needed to be updated to work with the new framework. Most notable among these is HTMLToPDF`.

    • GradientColoredDisjointShape has become GradientColoredDisconnectedShape to follow suit with the rename of DisjointShape to DisconnectedShape.

    • InlineFlow and BlockFlow have been moved to page_layout. Easy imports have been provided for them.

    • More convenient imports have been made possible for FormField elements.

    • The documentation of borb (to be found in the examples repository) has been given a major check. There is also a script that will automatically attempt to run each example code snippet. This should make it easier to detect when a new release breaks something in the examples repository.

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Sep 11, 2022)

    :mega: borb release 2.1.1

    This release is a feature release:

    • HTMLToPDF has been updated to ensure even more HTML syntax is supported
      • HTMLToPDF allows you to specify a typing.List[Font] of fallback fonts
      • This allows you to use non-western characters in HTML and markdown
    • MarkdownToPDF now uses HTMLToPDF (making it easier for me to maintain the code)
    • Added BlockFlow and InlineFlow elements
    • Added SingleColumnLayoutWithOverflow to enable certain LayoutElement implementations to be split across multiple Page objects. Currently only splitting of Table is supported.
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Sep 4, 2022)

    :mega: borb release 2.1.0

    This release is a feature release:

    • The LayoutElement framework has had a major upgrade
      • Each LayoutElement now offers a get_layout_box method which tells you how much space a LayoutElement takes up
      • Each LayoutElement now offers a paint method which renders the LayoutElement on a Page
      • LayoutElement only adds its own content to the Page (previously it would change the order of page content to ensure backgrounds get drawn first)
    • As a result of these changes, layout is a bit faster in this release, compared to previous releases
    • All tests have been checked and changed to take into account the new behaviour
    • Tests that perform visual comparison ignore HexColor("00ff00"), which allows me to add the date of the test in the output, and still compare only the relevant pixels
    • MarkdownToPDF has been refactored to convert Markdown to HTML
    • HTMLToPDF still needs work to produce PDF documents
    Source code(tar.gz)
    Source code(zip)
  • v2.0.32(Aug 7, 2022)

    :mega: borb release 2.0.32

    This release is a small bugfix release:

    • fixed Checkbox to produce valid PDF syntax
    • refactored a few tests to have consistent naming
    • included ProgressBar and ProgressSquare classes to make it easier to make reports
    • included TableUtil and TableUtil.from2DArray to make it easier to build tables
    Source code(tar.gz)
    Source code(zip)
  • v2.0.31(Jul 31, 2022)

  • v2.0.30(Jul 23, 2022)

    :mega: borb release 2.0.30

    This release is a feature release.

    • Initial support for Font subsetting in PDF
    • Small fix for TextField appearance dictionary
    • Small fix for CheckBox appearance dictionary
    Source code(tar.gz)
    Source code(zip)
  • v2.0.29(Jul 3, 2022)

  • v2.0.28(Jun 26, 2022)

    :mega: borb release 2.0.28

    This release is a feature release.

    • Massive rename of all append methodes to add for the sake of consistency
    • Introduced header_footer_multi_column_layout to enable a PageLayout with repeating header and footer
    • Remove unimplemented BoxLayout
    • Add header_row_color option to even_odd_row_colors method in Table
    Source code(tar.gz)
    Source code(zip)
  • v2.0.27(Jun 4, 2022)

    :mega: borb release 2.0.27

    This release is a small bugfix release.

    • fixed RunLengthDecode
    • fixed ImageTransformer to allow reading (JPEG) images, even when the /Type and /Subtype entry are not set
    • fixed DocumentInfo.get_file_size()
    Source code(tar.gz)
    Source code(zip)
  • v2.0.26(May 26, 2022)

  • v2.0.25(May 5, 2022)

    :mega: borb release 2.0.25

    This release is a small feature release.

    • Small fix in TextAnnotation.
    • Small fix(es) in tests related to redaction.
    • All tests that produce a PDF now check the validity of that PDF using an external validator.
      • The default profile of this validator checks against the latest version of the PDF spec. borb was built to adhere to iso32000. Most notable difference is the embedding of the standard 14 fonts. I made a separate profile that checks only against the iso32000 spec.
      • CheckBox should be debugged. The validator marks it as a bad PDF.
      • For PDF A1/b to really match the spec, the fonts (even standard 14) need to be embedded.
    • You can now specify multiplied_inter_column_spacing in MultiColumnLayout.
    • x or Decimal(y) evaluates to Decimal(y) when x == Decimal(0). This was unintended. I only wanted it to evaluate to Decimal(y) when x is None. I fixed all unwanted occurrences. This mostly affected the LayoutElement classes.
    • Add Alignment to easy imports
    • Add LoremIpsum class to quickly generate dummy text (using a markov chain)
    Source code(tar.gz)
    Source code(zip)
  • v2.0.24(Apr 16, 2022)

    :mega: borb release 2.0.24

    This release is a small feature release.

    • a strong effort has been made to annotate all asserts
    • all public methods are documented
    • fixed a small bug in Page.apply_redact_annotations
    • fixed a ton of mypy warnings
    Source code(tar.gz)
    Source code(zip)
  • v2.0.23.2(Apr 3, 2022)

    :mega: borb release 2.0.23.2

    This release is a small feature release.

    • rounded corners are available on LayoutElement and all its children
    • all properties of LayoutElement are now available on all its children
      • with the exception of FormField
      • with the exception of nonsensical properties
        • e.g.: font_size on Shape
    • PDFToJPG can now locate fonts on Windows and Mac
    • OCRImageRenderEventListener has been made more resilient to bad input
    Source code(tar.gz)
    Source code(zip)
  • v2.0.23(Apr 3, 2022)

    :mega: borb release 2.0.23

    This release is a small feature release.

    • rounded corners are available on LayoutElement and all its children
    • all properties of LayoutElement are now available on all its children
      • with the exception of FormField
      • with the exception of nonsensical properties
        • e.g.: font_size on Shape
    • PDFToJPG can now locate fonts on Windows and Mac
    • OCRImageRenderEventListener has been made more resilient to bad input
    Source code(tar.gz)
    Source code(zip)
  • v2.0.22.2(Mar 26, 2022)

    :mega: borb release 2.0.22.2

    This release is a small bugfix release. By adding al lot of imports to borb/pdf/__init__.py suddenly all imports for Chart were imported. This included matplotlib.pyplot. This import is only needed when working with Chart. I changed the code in Chart to only declare the type, but not do the import (as it didn't really need to in the first place).

    Source code(tar.gz)
    Source code(zip)
  • v2.0.22(Mar 23, 2022)

    :mega: borb release 2.0.22

    This release is a small feature release:

    • Test have been added corresponding to issues on GitHub.
    • More documentation has been added in general. No undocumented public methods!
    • Unsplash API has been added, to ensure you can build rapid prototypes for Documents by just specifying keywords for images, rather than having to look for the perfect Image
    • Small bugfix w.r.t. annotation names
    • Small improvement in writing a PDF to bytes, inline array objects no longer have trailing newline character
    • Small bugfix to fix layout of FormField objects using FlexibleWidthColumnTable
    • Added some imports to borb/pdf/__init__.py to make it easier to import borb objects in general
    • Added the EURion symbol to the LineArtFactory
    • Added methods to rotate Shape and DisjointShape
    Source code(tar.gz)
    Source code(zip)
  • v2.0.21(Mar 6, 2022)

    :mega: borb release 2.0.21

    This release is a small feature release:

    • borb can now read some broken PDF documents
    • tests have been added for this use case
    • more documentation has been added in general (less than 10 undocumented methods)
    • border for RemoteGoToAnnotation has been removed
    Source code(tar.gz)
    Source code(zip)
  • v2.0.20(Feb 27, 2022)

    :mega: borb release 2.0.20

    This release is a small feature release.

    • SoundAnnotation can now be added to a PDF, enabling you to add voice-clips, music or other audio to your document
    • JavaScriptPushButton makes it easier to add your own JavaScript enabled buttons
    • minor improvement to TextRankKeywordExtraction

    The majority of the work this sprint went into updating the documentation. You should check it out. All code-samples in the README are now actually stand-alone code files that can be run. They are automatically included in the README, rather than duplicated (as before), making it a lot easier to maintain the examples repo.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.19(Feb 19, 2022)

    :mega: borb release 2.0.19

    This release is a small feature release.

    • Forms have been extended with PushButton, which enables you to place a PushButton in a PDF and tie an action to it.

    • Tests for PushButton have been added to the repository.

    • Examples for PushButton have been added to the examples repository.

    • A test was added for issue #69 on GitHub, which deals with adding 500 Heading objects to a PDF. Turns out recursive parsing has its limits :face_with_spiral_eyes:

    • A small fix was introduced for issue #71 on GitHub

    • Annotation now is its own proper class, each seperate Annotation has its own subclass. This makes the Page class a lot lighter (where the code previously resided).

    • Document level JavaScript is now supported, examples and tests have been added to the corresponding repositories.

    • Both embedded files and JavaScript use the concept of a NameTree which is now its own separate class.

    In order to make sure your code runs smoothly, check your imports when upgrading to the latest version.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.18(Jan 28, 2022)

    :mega: borb release 2.0.18

    This release is a cleanup release.

    • The library (previously called ptext) still had some imports being renamed as pDecimal or pString or pList. These occurences have been completely removed from the code.
    • borb can now create PDF documents that are almost PDF/A-1b valid. Some effort for fonts remains.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.17(Jan 14, 2022)

    :mega: borb release 2.0.17

    This is a bugfix release.

    • Fixes for Hyphenation
    • Add extra features to line-art
      • Add GradientColoredDisjointShape to enable users to draw a gradient
      • Add RectangularMazeFactory to enable users to draw mazes
      • Add RectangularHitomezashi to enable users to draw space-filling shapes

    Some minor administrative work has also been done.

    • A EULA is being drafted by lawyers to ensure borb can be licensed to customers.
    • The license in the borb repository have been modified to ensure no copyright violation.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.16(Dec 12, 2021)

    :mega: borb release 2.0.16

    This is a bugfix release.

    • Fixes how Alignment.JUSTIFIED is handled when there is only 1 line of text.
    • Fixed how hyphenation handles words shorter than 4 characters.
    • Everything formatted by black.
    • Added hyphenation for:
      • be : Belarusian
      • bn : Bengali
      • fi : Finnish
      • lt : Lithouanian
      • ro : Romanian
      • ru : Russian
    Source code(tar.gz)
    Source code(zip)
  • v2.0.15(Nov 17, 2021)

  • v2.0.14(Nov 9, 2021)

  • v2.0.13(Oct 31, 2021)

    :mega: borb release 2.0.13

    With this release, borb is one step closer to being able to write a PDF/A-1b document. We still need to create an \OutputIntents Dictionary in the document to be fully compliant. This is planned for the next release.

    This release features:

    • Minor bugfix to estimating width of a space character
      • Useful in text extraction
    • Bugfix in TrueTypeFont to build a proper \Widths array and cmap
    • Fixes in XMPDocumentInfo class
      • Title
      • Author
      • Creator
      • CreatorTool
    • Separate logic that writes \Info Dictionary
      • This class now also writes the XMP \Metadata when needed
      • Enables PDF/A-1b
      • Added tests for PDF/A-1b (preservation of metadata)
    Source code(tar.gz)
    Source code(zip)
Owner
Joris Schellekens
I'm a software-architect. I love a good puzzle, a challenge and boardgames. Bonus points for problems that are "simply too hard".
Joris Schellekens
pikepdf is a Python library for reading and writing PDF files.

A Python library for reading and writing PDF, powered by qpdf

null 1.6k Jan 3, 2023
PDFSanitizer - Renders possibly unsafe PDF files and outputs harmless PDF files

PDFSanitizer Renders possibly malicious PDF files and outputs harmless PDF files

null 9 Jan 30, 2022
PyPDF2 is a pure-python PDF library capable of splitting, merging together, cropping, and transforming the pages of PDF files.

PyPDF2 is a pure-python PDF library capable of splitting, merging together, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. It can retrieve text and metadata from PDFs as well as merge entire files together.

Matthew Stamy 5k Jan 4, 2023
Compare-pdf - A Flask driven restful API for comparing two PDF files

COMPARE-PDF A Flask driven restful API for comparing two PDF files. Description

Karthikeyan JC 3 Mar 13, 2022
Convert PDF to AudioBook and Audio Speech to PDF

In this Python project, we will build a GUI-based PDF to Audio and Audio to PDF converter using the Tkinter, OS, path, pyttsx3, SpeechRecognition, PyPDF4, and Pydub libraries and the messagebox module of the Tkinter library.

RISHABH MISHRA 1 Feb 13, 2022
Trata PDF para torná-lo compatível com PDF/X e com impressoras em escala de cinza.

tratapdf Trata PDF para torná-lo compatível com PDF/X e com impressoras em escala de cinza. dependências icc-profiles ghostscript visualizador de PDF

null 1 Nov 30, 2021
minipdf is a package for creating simple, single-page PDF documents.

minipdf minipdf is a package for creating simple, single-page PDF documents. Installation You can install the development version from GitHub with: #

mikefc 41 Dec 19, 2022
Converting Html files to pdf using python script, pdfkit module and wkhtmltopdf.

Html-to-pdf-pdfkit-wkhtml- This repository has code for converting local html files and online html resources into pdf. It is an python script which u

Hemachandran P 1 Nov 9, 2021
Python script that split PDF files.

Automatic PDF Splitter This script can create new single-page PDFs files from multipaged PDFs. Requirements Python 3.0+ # Debian distros sudo apt-get

Leandro Padula 5 Apr 2, 2022
pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative markdown file as input

pystitcher pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative input in the form of a mark

Nemo 387 Dec 10, 2022
Generate a bunch of malicious pdf files with phone-home functionality. Can be used with Burp Collaborator

Malicious PDF Generator ☠️ Generate ten different malicious pdf files with phone-home functionality. Can be used with Burp Collaborator. Used for pene

Jonas Lejon 1.9k Jan 1, 2023
Merge multiple PDF files into one.

PDF Merger Merge multiple PDF files into one. Usage % python pdf_merger.py -h usage: pdf_merger.py [-h] [-o OUTPUT] [-f [FILES ...]] optional argumen

Duo Apps 6 Oct 3, 2022
Program that locks/unlocks pdf files🐍

?? ?? PDFtools ?? ?? Programa que bloqueia/desbloqueia arquivos pdf Requisitos • Como usar • Capturas de Tela ?? Aviso ?? Altere os caminhos referente

João Victor Vilela dos Santos 1 Nov 4, 2021
Telegram bot that can do a lot of things related to PDF files.

Telegram PDF Bot A Telegram bot that can: Compress, crop, decrypt, encrypt, merge, preview, rename, rotate, scale and split PDF files Compare text dif

null 130 Dec 26, 2022
Convert MD files to PDF automatically (with CSS) 📄🚀

MD2PDF Action Convert MD files to PDF automatically (with CSS)! Converts a pattern described set of markdown files and converts them to pdf whilst app

Will Fantom 1 Feb 9, 2022
A python library for extracting text from PDFs without losing the formatting of the PDF content.

Multilingual PDF to Text Install Package from Pypi Install it using pip. pip install multilingual-pdf2text The library uses Tesseract which can be ins

Shahrukh Khan 49 Nov 7, 2022
x-ray is a Python library for finding bad redactions in PDF documents.

A tool to detect whether a PDF has a bad redaction

Free Law Project 73 Dec 19, 2022
Small python-gtk application, which helps the user to merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface

Small python-gtk application, which helps the user to merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface

null 1.8k Dec 29, 2022
Simple HTML and PDF document generator for Python - with built-in support for popular data analysis and plotting libraries.

Esparto is a simple HTML and PDF document generator for Python. Its primary use is for generating shareable single page reports with content from popular analytics and data science libraries.

Dom 76 Dec 12, 2022