specifications
Specifications for the DTS API
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.9%) to scientific vocabulary
Repository
Specifications for the DTS API
Basic Info
- Host: GitHub
- Owner: distributed-text-services
- Language: HTML
- Default Branch: master
- Homepage: https://w3id.org/dts
- Size: 854 KB
Statistics
- Stars: 28
- Watchers: 17
- Forks: 11
- Open Issues: 23
- Releases: 1
Metadata Files
README.md
Distributed Text Services (DTS)
Google group{: .btn .btn--info .btn--x--small} Raise Issues and Ask Questions{: .btn .btn--info .btn--x--small} Check Source and Propose Changes{: .btn .btn--info .btn--x--small}
Distributed Text Services 1.0 Release Candidate Published – July 11, 2025
After years of development, independent implementations, interoperability testing, and a public comment period, the Distributed Text Services Technical Committee is pleased to announce the publication of the Distributed Text Services 1.0 Release Candidate (RC1).
We strongly encourage you to implement DTS now and share your feedback. The specification is feature-complete and stable, and we expect only minor clarifications before the final 1.0 release in three months (11/10/2025). Early adoption will ensure your projects are ready and help the community validate the standard in real-world use.
What is DTS?
The Distributed Text Services (DTS) Specification defines an API for working with collections of text as machine-actionable data.
Publishers of digital text collections can use the DTS API to help them make their textual data Findable, Accessible, Interoperable and Reusable (FAIR).
DTS enables machine-consumption of digital text collections, and can be used by consumers of these collections in a variety of ways, such as for data analysis and the development of user-interfaces, tools and services.
DTS is a specification for an API and not in and of itself an implementation of that API. Reference Implementations are available (see below) and individual text publishers are encouraged to implement this API in their own projects where appropriate.
See the FAQ for more information and a list of frequently asked questions about DTS.
Supported Operations
DTS specifies 3 distinct operation endpoints:
- Navigation across texts is supported by the Collection Endpoint
- Navigation within a text is supported by the Navigation Endpoint
- Retrieval of complete or partial texts is supported by the Document Endpoint
The Collection and Navigation endpoints return JSON-LD. The Document endpoint is specified to return TEI/XML of the requested text or fragment.
Capabilities
The DTS API provides the following core capabilities to clients:
- Retrieve lists of collection members
- Retrieve metadata about individual collection items
- Retrieve lists of citeable passages within a text
- Retrieve metadata about the citation structure of a document
- Retrieve a single text passage at any level of the citation hierarchy
- Retrieve a range of text passages with a clearly defined start and end passage
- Retrieve an entire text
Generic Implementations
This list includes implementations that should be generic enough to be compatible with a lot of different corpora.
- MyDapytains is a python implementation by a member of the technical committee which uses Flask for web and SaxonC implementation for XPath, XSLT and XQuery.
- DoTS is an implementation from Biblissima + & the Ecole nationale des chartes built on top of BaseX.
Implementation of older versions (Before 1-alpha)
The following open source libraries implement the DTS API (1.0 Draft):
- TEI Publisher client
- Implementation of the DTS API + a Client interface to the API
- Currently supports browsing collections and document retrieval, but not navigation.
- MyCapytain + Nautlius
- MyCapytain is a Python library that implements the DTS data model and Nautlius is a Python library that implements the DTS API Endpoints backed by the MyCapytain libary. Both operate on TEI text collections that adhere to the Capitains Guidelines
- Perseids DTS API
- Ruby on Rails implementation of the DTS API . Operates on TEI text collections that adhere to the Capitains Guidelines
Known Corpora Accessible via the DTS API
The following open source libraries implement the DTS API (1.0 Draft):
- Dracor https://dev.dracor.org/api/v1/dts
- Ecole Nationale des Chartes http://dev.chartes.psl.eu/api/nautilus/dts and http://http://dev.chartes.psl.eu/dts-demo/
- A small collection of contemporaneous and medieval French literature. The contemporaneous texts are lightly marked up, and the medieval texts are finely annotated. Uses the MyCapytain/Nautilus libraries.
- Alpheios http://texts.alpheios.net/api/dts
- A small collection of Latin and Greek texts that have been aligned with linguistic annotations for learning ancient languages. Uses the MyCapytain/Nautilus libraries.
- Perseids https://dts.perseids.org/
- Serves all textual resources available from Perseus within the Ancient Greek and Latin corpora as well as some resources in Hebrew and Farsi.
- Beta maṣāḥǝft http://betamasaheft.eu/
- Collection of written artefacts from the highlands of Ethiopia and Eritrea mainly in Gǝʿǝz (Classical Ethiopic). In the collection are present both transcriptions of manuscripts and editions of textual units. The scarce availability of transcriptions as well as available editions means that the actual text contents are few in comparison with the textual units and written artefacts identified and described.
- Epigraphische Datenbank Heidelberg https://edh-www.adw.uni-heidelberg.de/api/dts/
- A corpus of 80,000 short texts from the Latin epigraphic databases.
Owner
- Name: Distributed Text Services
- Login: distributed-text-services
- Kind: organization
- Email: distributed-text-services@googlegroups.com
- Website: https://w3id.org/dts
- Repositories: 5
- Profile: https://github.com/distributed-text-services
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Distributed Text Services Specifications
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Hugh
family-names: Cayless
affiliation: Duke University
- family-names: Clérice
given-names: Thibault
affiliation: Inria
- given-names: Robie
family-names: Jonathan
- given-names: Ian
family-names: Scott
affiliation: Michigan State University
- given-names: Bridget
family-names: Almas
identifiers:
- type: url
value: 'https://www.w3id.org/dts'
repository-code: >-
https://github.com/distributed-text-services/specifications
url: 'https://w3id.org'
license: CC-BY-4.0
version: 1-alpha
GitHub Events
Total
- Issues event: 9
- Issue comment event: 19
- Push event: 10
- Pull request event: 5
- Fork event: 1
- Create event: 1
Last Year
- Issues event: 9
- Issue comment event: 19
- Push event: 10
- Pull request event: 5
- Fork event: 1
- Create event: 1
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 4
- Total pull requests: 1
- Average time to close issues: 3 months
- Average time to close pull requests: 7 days
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 2.75
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 1
- Average time to close issues: 3 months
- Average time to close pull requests: 7 days
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 2.75
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- PonteIneptique (14)
- monotasker (9)
- balmas (8)
- geoffroy-noel-ddh (7)
- kbrueckmann (5)
- mromanello (4)
- hcayless (3)
- jonathanrobie (3)
- philippepons (2)
- ingoboerner (2)
- rerouj (2)
- PietroLiuzzo (2)
- robcast (1)
- mhucka (1)
Pull Request Authors
- monotasker (10)
- PonteIneptique (4)
- dependabot[bot] (3)
- ingoboerner (1)
- mromanello (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- github-pages >= 0 development
- jekyll-algolia >= 0 development
- jekyll-feed >= 0 development
- jekyll-gist >= 0 development
- jekyll-include-cache >= 0 development
- jekyll-octicons >= 0 development
- jekyll-paginate >= 0 development
- jekyll-sitemap >= 0 development
- jemoji >= 0 development
- pkg-config ~> 1.3
- tzinfo-data >= 0
- activesupport 4.2.11.1
- addressable 2.8.0
- algolia_html_extractor 2.6.4
- algoliasearch 1.27.1
- coffee-script 2.4.1
- coffee-script-source 1.11.1
- colorator 1.1.0
- commonmarker 0.17.13
- concurrent-ruby 1.1.9
- dnsruby 1.61.3
- em-websocket 0.5.1
- ethon 0.12.0
- eventmachine 1.2.7
- execjs 2.7.0
- faraday 0.17.0
- ffi 1.11.1
- filesize 0.2.0
- forwardable-extended 2.6.0
- gemoji 3.0.1
- github-pages 201
- github-pages-health-check 1.16.1
- html-pipeline 2.14.0
- http_parser.rb 0.6.0
- httpclient 2.8.3
- i18n 0.9.5
- jekyll 3.8.5
- jekyll-algolia 1.5.0
- jekyll-avatar 0.6.0
- jekyll-coffeescript 1.1.1
- jekyll-commonmark 1.3.1
- jekyll-commonmark-ghpages 0.1.6
- jekyll-default-layout 0.1.4
- jekyll-feed 0.11.0
- jekyll-gist 1.5.0
- jekyll-github-metadata 2.12.1
- jekyll-include-cache 0.2.0
- jekyll-mentions 1.4.1
- jekyll-octicons 9.1.1
- jekyll-optional-front-matter 0.3.0
- jekyll-paginate 1.1.0
- jekyll-readme-index 0.2.0
- jekyll-redirect-from 0.14.0
- jekyll-relative-links 0.6.0
- jekyll-remote-theme 0.4.0
- jekyll-sass-converter 1.5.2
- jekyll-seo-tag 2.5.0
- jekyll-sitemap 1.2.0
- jekyll-swiss 0.4.0
- jekyll-theme-architect 0.1.1
- jekyll-theme-cayman 0.1.1
- jekyll-theme-dinky 0.1.1
- jekyll-theme-hacker 0.1.1
- jekyll-theme-leap-day 0.1.1
- jekyll-theme-merlot 0.1.1
- jekyll-theme-midnight 0.1.1
- jekyll-theme-minimal 0.1.1
- jekyll-theme-modernist 0.1.1
- jekyll-theme-primer 0.5.3
- jekyll-theme-slate 0.1.1
- jekyll-theme-tactile 0.1.1
- jekyll-theme-time-machine 0.1.1
- jekyll-titles-from-headings 0.5.1
- jekyll-watch 2.2.1
- jemoji 0.10.2
- json 2.6.1
- kramdown 1.17.0
- liquid 4.0.0
- listen 3.1.5
- mercenary 0.3.6
- mini_portile2 2.6.1
- minima 2.5.0
- minitest 5.14.4
- multipart-post 2.1.1
- nokogiri 1.12.5
- octicons 9.1.1
- octokit 4.14.0
- pathutil 0.16.2
- pkg-config 1.3.9
- progressbar 1.10.1
- public_suffix 3.1.1
- racc 1.6.0
- rb-fsevent 0.10.3
- rb-inotify 0.10.0
- rouge 3.11.0
- ruby-enum 0.7.2
- ruby_dep 1.5.0
- rubyzip 2.0.0
- safe_yaml 1.0.5
- sass 3.7.4
- sass-listen 4.0.0
- sawyer 0.8.2
- terminal-table 1.8.0
- thread_safe 0.3.6
- typhoeus 1.3.1
- tzinfo 1.2.9
- tzinfo-data 1.2019.3
- unicode-display_width 1.6.0
- verbal_expressions 0.1.5