significant past updates
(Apr '26)
- [lib v2.1.3] / [PyPI] / [app v1.11.1]
- fixed VH (Velthuis) transliteration mappings for aspirate consonants and liquid vowels
- [lib v2.1.2] / [PyPI]
- fixed splitter server URL
- [lib v2.1.1] / [PyPI] / [app v1.11.0]
- added anunāsika / candrabindu (ँ) support in transliteration, with optional normalization to anusvāra
- added "preserve anunāsika" setting (off by default) on settings page
- improved textarea font stack for better Unicode combining-diacritic rendering
(Feb–Mar '26)
- [lib v2.1.0] / [PyPI] / [app v1.10.0]
- added auto scheme detection ("Auto" option in input-scheme selector detects from input and updates label after processing)
- added "un-space" setting for Roman output (= equivalent of virāma-avoidance for Indic)
- fixed ITRANS transliteration bugs in scheme maps; improved IAST normalization
- [app v1.9.1]
- fixed dark mode meter-table colors; guarded melody player on load
- [app v1.9.0]
- added clear-text and redo-action buttons
- [lib v2.0.9] / [PyPi]
- fixed r̥ ordering bug in transliteration scheme maps
- [lib v2.0.8] / [PyPi]
- fixed Dharmamitra splitter for new upstream API endpoints and formats
- [app v1.8.0]
- fully redesigned appearance (colors, etc.)
- added sidebar
- added dark mode
- unified text workbench and upload-file modes (same page, sidebar controls)
- improved management and presentation of settings
- [app v1.7.4]
- improved API (added JSON mode, Swagger doc)
- refactored UI with Javascript
(Spring '25)
- [app v1.7.3]
- fixed two melody player bugs
- [app v1.7.2]
- added favicon
- [app v1.7.1]
- scaled up gunicorn workers/threads and nginx/gunicorn timeouts
- [app v1.7.0]
- added Google Cloud Vision OCR
(Dec '24)
- [lib v2.0.7] / [PyPi] / [app v1.6.11]
- improved batching for both Dharmamitra and 2018 splitters
- [lib v2.0.6] / [PyPi]
- fixed Windows encoding bug in config file loading
- [lib v2.0.5] / [PyPi] / [app v1.6.10]
- updated splitter for new endpoint path and JSON output format
- [lib v2.0.4] / [PyPi] / [app v1.6.9]
- migrated 2018 splitter server to Digital Ocean
- [lib v2.0.3] / [PyPi] / [app v1.6.8]
- communicated 2018 splitter server outage to users
(Oct '24)
- [lib v2.0.2] / [PyPi] / [app v1.6.7]
- added batching to Dharmamitra splitter; extended timeouts for 2018
- [lib v2.0.1] / [PyPi] / [app v1.6.6]
- cleaned up whole-file splitting (removed buffer file)
- [app v1.6.5]
- added 502 error handling for oversized Dharmamitra requests
- [lib v2.0.0] / [PyPi] / [app v1.6.4]
- refactored splitter import interface (breaking change, hence v2)
- [lib v1.5.2] / [PyPi] / [app v1.6.2]
- fixed punctuation interleaving bug in splitter
- [lib v1.5.1] / [PyPi] / [app v1.6.1]
- fixed SLP final-character transliteration bug from Indic script
(Sept '24)
- [lib v1.5.0] / [PyPi] / [app v1.6.0]
- added preserve-compound-hyphen setting for splitting with Dharmamitra model
- [lib v1.4.1] / [PyPi] / [app v1.5.0]
- added new Dharmamitra splitter-model setting
- [lib v1.3.1] / [PyPi] / [app v1.4.0]
- added new settings page
- improved settings reset behavior with separate reset button
- renamed help page (from "tutorial")
- reorganized nav bar
- added avoid-virāma setting for Indic-script transliteration output
- added preserve-punctuation setting for word splitting
(Aug '24)
- [app PR #10]
- refactored front end to use Flask templates (factored out shared head/nav)
- [app PR #9]
- refreshed docs; renamed help page (from "tutorial")
(Jul '24)
- [app PR #8]
- completed server migration by deactivating on PythonAnywhere (except separate splitter server)
- [app PR #7]
- massively expanded amount of text UI input box can handle (128mb rather than 4kb)
- partially fixed upload problem with non-ASCII filenames
(May '24)
- [lib v1.3.0] / [PyPi]
- added single-pāda samavṛtta identification (API only)
- [lib v1.2.1] / [PyPi]
- completed PyPi refactor of library
- [app PR #6]
- completed Dockerization of front end
- deployed duplicate server on Digital Ocean Droplet (ultimately kept)
(Mar '24)
- [app PR #5]
- began Dockerization of front end
- experimented with serving on Heroku (ultimately did not pursue)
(Jan '23)
- [app PR #2]
- added API endpoints
- [lib v1.2.0] / [PyPi]
- restructured library for PyPi; also released lib v1.1.0
- released lib v1.2.0 on Zenodo
- prepared second presentation for 18th WSC (mp4 ↓ of 20-min version of talk)
(Dec '22)
- switched to using new separate splitter_server API
- fixed /ChicagoApteIAST endpoint for https
(May '22)
- added hidden /ChicagoApteIAST endpoint to supplement searching DSAL online Apte (e.g. https://skrutable.info/ChicagoApteIAST?query=deva)
(Jan '22)
- presented project a first time for 18th WSC (pdf ↓ of paper; mp4 ↓ of full 36-min talk)
(Nov '21)
- released lib v1.0.0 on Zenodo / [app v1.0.0]
(Feb–Mar '21)
- implemented basic viṣamavṛtta meter identification
- incorporated recitation melodies with multiple voice options
- wrote up project for 18th WSC (2021/2023)
- implemented basic wrapper for Splitter
(Jan–Feb '21)
- added whole-file analysis to front end (transliteration, meter identification)
- improved pāda re-splitting ("re-split lite", keep midpoint)
- enabled mix-and-match scansion detail
- added many more meters from Apte
- improved various meter identification categories (upājati, ardhasamavṛtta, half-anuṣṭubh, etc.)
- added Prakrit support (ï and ü)
- further expanded transliteration (ITRANS, WX, "IAST reduced")
- created mature front end in Flask as separate but coordinated repo, deployed on PythonAnywhere
(2018–2020)
- created front end prototype with wx Python library
- invented "wiggle iterator" for re-splitting verse lines
- gradually expanded three main functions
(2015–2017)
- started development on Python library with transliteration, scansion, meter identification
ideas for future updates
Transliteration
- add number-exclusion option to transliteration
- add alphabetization function to front-end
Meter
- improve partial meter identification: samavṛtta, ardhasamavṛtta, jāti
- add TSV summary output options for meter identification
- implement metrical material detection (maybe)
Splitting
- fix small bug: Splitter 2018 cuts off buffer-final numbers
- refactor Splitter 2018 server to improve response time (maybe)
General
- add progress bar to estimate processing time for large file inputs
- continue cleaning up code and improving documentation
- implement more comprehensive testing with pytest
And maybe something you have in mind? Gmail me at tyler.g.neill and share your ideas.