significant past updates
(Feb–Mar '26)
- [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.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)
- [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]
- 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
(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
- repair scheme-detection functionality
- give user more fine-grained control over virāma-avoidance (i.e., which letter combinations)
- add number-exclusion option to transliteration
- add encoding-standardization function to front-end
- 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
- migrate Splitter 2018 server to Digital Ocean (maybe)
- refactor Splitter 2018 server to improve response time (maybe)
General
- add progress bar to estimate processing time
- 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.