A response is due “30 days after service.” The order was served on a Monday. Does the weekend count? What if day 30 is Independence Day? What if service was by mail?
Paralegals and docketing clerks answer these questions every day. Get them wrong and the consequence is not an annoyed client — it is a waived argument or a malpractice claim.
Commercial docketing tools exist. So do generic business-day libraries. What was thin in open source was a small, installable engine that implements FRCP Rule 6–style counting and shows its work.
courtdays
courtdays is a Python library and CLI:
pip install courtdays
courtdays deadline 2024-06-03 30
courtdays deadline 2024-06-03 14 --service mail
courtdays deadline 2024-06-07 5 --mode business --calendar CA
Enter fullscreen mode Exit fullscreen mode
Every result includes the steps that produced it — exclude trigger day, count, extend off a holiday, add mail days — so a human can check the math.
What it implements
- Exclude the day of the triggering event
- Count intermediate calendar days (modern Rule 6 style)
- If the last day is a weekend or legal holiday, continue to the next business day
- Optional service add-on (mail → +3 under FRCP 6(d) defaults)
- U.S. federal and state holiday calendars
- Separate business-day mode for contracts and SLAs
Not legal advice. Local rules, standing orders, and state codes differ. courtdays makes the arithmetic explicit so verification is faster — it does not replace that verification.
Python
from courtdays import compute_deadline
result = compute_deadline("2024-06-03", 14, service="mail")
print(result.deadline)
print(result.steps)
Enter fullscreen mode Exit fullscreen mode
Links
- Install:
pip install courtdays - Source: github.com/SybilGambleyyu/courtdays
- PyPI: pypi.org/project/courtdays
- Live demo: sybilgambleyyu.github.io/demo/courtdays.html
- Blog (canonical): sybilgambleyyu.github.io/posts/courtdays.html
MIT licensed. Built for docketing desks that still double-check the math.
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.