Suffolk LIT Lab Document Assembly Line
The Assembly Line Project is a collection of volunteers, students, and institutions who joined together during the COVID-19 pandemic to help increase access to the court system. Our vision is mobile-friendly, easy to use guided online forms that help empower litigants to access the court remotely.
Our signature project is CourtFormsOnline.org.
We designed a step-by-step, assembly line style process for automating court forms on top of Docassemble and built several tools along the way that you can use in your home jurisdiction.
This package contains runtime code and pre-written questions to support authoring robust, consistent, and attractive Docassemble interviews that help complete court forms.
Read more on our documentation page.
Related repositories
- https://github.com/SuffolkLitLab/docassemble-ALWeaver
- https://github.com/SuffolkLitLab/docassemble-ALMassachusetts
- https://github.com/SuffolkLitLab/docassemble-MassAccess
- https://github.com/SuffolkLitLab/docassemble-ALThemeTemplate
- https://github.com/SuffolkLitLab/EfileProxyServer
Documentation
https://suffolklitlab.org/docassemble-AssemblyLine-documentation/
Installation
Menu-driven installation
The recommended installation method is with the guided installation script.
Manual installation
Normally you do not need to manually install the Assembly Line. Use the installation script if you can. The instructions below are for your optional reference.
This package depends on the following configuration changes on your Docassemble server:
- Ensure that font-awesome is enabled (this may be on by default:
default icons: font awesome
- Add a Google API key that has access to:
- Google Places API
- Google Geocoding API
- Add a VoiceRSS API key
- Add a Twilio API key for SMS support
- Add an email account: Mailgun or SendGrid recommended for email support
- To show package update time and to enable the feedback form, add a GitHub Private Access token to your config.yml file, like this:
# Needs access to create new issues on repositories
github issues:
username: "suffolklitlab-issues"
token: "12345"
# Does not need any special access to public repositories
github readonly:
username: "suffolklitlab-issues"
password: "45678"
type: "basic"
- If you are also using the Assembly Line Weaver, you may want to set up a Docassemble API key in your config.yml file to allow you to install packages automatically, like this:
install packages api key: 12345
Migration
See discussion here
ALDocument class
Purpose
The ALDocument class is a small utility library that makes it simpler to use the following features in an interview:
- Conditional assembly of multiple, optional documents that are triggered in different ways in your interview
- An addendum for PDF files that makes it simple to deal with overflow text
- A customizable download screen that lists the documents in a neat table
- A customizable "send" button that allows the user to email the final forms to a location of their choice
Here is a small snippet that you can copy and modify that shows how to use the most important features of the ALDocument class.
---
objects:
- CRA_Motion_to_Dismiss_attachment: ALDocument.using(filename="CRA_Motion_to_Dismiss", title="Motion to Dismiss CRA", enabled=True, has_addendum=True, default_overflow_message="[See addendum]")
---
objects:
- al_user_bundle: ALDocumentBundle.using(elements=[CRA_Motion_to_Dismiss_attachment], title="Forms to download and deliver to court", filename="motion_to_dismiss_CRA.pdf")
- al_court_bundle: ALDocumentBundle.using(elements=[CRA_Motion_to_Dismiss_attachment], title="Forms to download and deliver to court", filename="motion_to_dismiss_CRA.pdf")
---
generic object: ALDocument
attachment:
variable name: x.addendum
docx template file: docx_addendum.docx
---
code: |
CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].overflow_trigger = 640
CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].label = "Reasons for request"
CRA_Motion_to_Dismiss_attachment.overflow_fields.gathered = True
---
attachment:
variable name: CRA_Motion_to_Dismiss_attachment[i]
name: CRA Motion to Dismiss
filename: CRA_Motion_to_Dismiss
skip undefined: True
pdf template file: CRA_Motion_to_Dismiss.pdf
fields:
- "court_county": ${ trial_court.address.county }
- "docket_number": ${ docket_number }
- "user_signature": ${ users[0].signature_if_final(i) }
- "signature_date": ${ signature_date }
It is very common to have a contingent document in ALDocument. If your document is contingent, remove the enabled=True from the object declaration, and use
some other method to "turn on" the attachment.
E.g.,
code: |
CRA_Motion_to_Dismiss_attachment.enabled = condition1 and condition2
Changelog
See CHANGELOG.MD
Metadata
Release files for docassemble.AssemblyLine 4.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| docassemble_assemblyline-4.8.0.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| docassemble_assemblyline-4.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.3 MB
Release files / docassemble_assemblyline-4.8.0.tar.gz
| Download URL | docassemble_assemblyline-4.8.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
740f37c2522a8c4c6eacb5966b2171a209dc3fdc218d37b2ad1717cdc0333614
|
|
BLAKE2b-256 checksum How to use checksums |
98a6cfceda152bec156817861523c9d3dd0520e2a8c90e3567b742411fee27b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency logRelease files / docassemble_assemblyline-4.8.0-py3-none-any.whl
| Download URL | docassemble_assemblyline-4.8.0-py3-none-any.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
333b1a12de6ef0a0a896e3db7fee0210226efdc123c8e5d21b442bece6ad6d82
|
|
BLAKE2b-256 checksum How to use checksums |
67bc4f39990570d9a763a93270d7be301ceab431b54c186b88781190d68d752d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency log