A Python library for anchoring annotations with text substring selectors.
Anchorpoint supplies TextQuoteSelector and TextPositionSelector classes based on the Web Annotation Data Model, which is a W3C Recommendation. Anchorpoint includes helper methods for switching between selector types, and a pydantic schema for serialization. Anchorpoint is used by Legislice for referencing laws such as statutes, and by AuthoritySpoke for referencing judicial opinions.
API Documentation is available on readthedocs.
Anchorpoint relies on python-ranges to perform set operations on spans of text.
In Javascript, try the Text Quote Anchor and Text Position Anchor packages.
In Python try python-ranges, which is the basis for much of the TextPositionSelector class's behavior.