Skip to main content

An Urdu-Hindi metrical scanner inspired by bioinformatics

Project description

Urdu BioMeter


Documentation Status

Build Status


An Urdu-Hindi metrical scanner inspired by bioinformatics


  • TODO

  • Easily readable rule declaration


This package was created with Cookiecutter.


All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


  • convert tokens to numbers inside ParserRules to improve performance

  • convert rules to number in , or add detailed result option

  • allow toggle of validation to decrease load speed

  • add minimum tokens to match to graphparser edge constraints

  • add coverage badge

  • rename GhazalScanner to GhazalScanner

  • variable rules for modern vs. classical language

  • adjust code to move long and short unit markers to constants

  • change rule_found to rule_id


  • adjust license to support any additional software (if necessary)

  • confirm settings/transcription.yml is compatible with new UTMO standard

  • decide on parser/transliterator terminology

  • remove visited from _add_subgraph_to_graph if cycle check means it’s no longer necessary (?)

  • add visualizations and check if _add_subgraph_to_graph() is broken

  • add documentation

  • fix contributors

  • add requirements.txt

  • fix code documentation and proofread

  • add black to contributing

  • raise warning/error in constraints if nothing matched or multiple matches

  • add feet to Mir meters


  • returned to find_packages due to travis errors in 3.6, 3.5

0.2.9 - 2019-08-14

  • removed Markdown due to pypi errors, converted to RST

  • fixes to CHANGELOG.rst due to bad conversion

  • Adjusted to use find_namespace_packages

0.2.8 - 2019-08-13

  • renamed DefaultScanner to GhazalScanner

  • added basic Mir meters in settings/mir_meters.yml

  • changed show_feet for missing Mir feet

  • added with_mir parameter to GhazalScanner

  • renamed to

  • rewrote constrained_parsers_of to allow for regular expressions in constraints and to reuse already generated parsers

  • added translations/urdubiometer/messages

  • adjusted settings/constraints.yml

  • modified scanner/ due to regex use in constraints

  • preliminary tie in with Transifex

  • added scripts/, scripts/, scripts/

  • adjusted .travis.yml

  • added short long vowels to transcription.yml

0.2.7 - 2019-08-03

  • fixed setup.cfg,, to correct bumpversion problem with single quotes

0.2.6 - 2019-08-03

  • added black code formatting

0.2.5 - 2019-08-02

  • change to .travis.yml repo name

  • added python 3.7 to

0.2.4 - 2019-08-02

  • adjusted urdubiometer/ to fix all and import

  • changed “id” in meters_list to string and fixed tests in scanner/, settings/ghazal_meters.yml,,

  • modification to doc structure (following earlier docs, needs adjustment) #### Added

  • added api.rst to docs (in progress)

0.2.3 - 2019-07-30

  • added to PyPI

  • added pyup

  • added pypi, pyup badges to

  • added notebooks/

  • adjust docs/index and added docs/api.rst

0.2.2 - 2019-07-30

  • added settings/*

  • added urdubiometer/,

  • added tests/

  • added scanner/*

  • use of graphtransliterator using nodes as list rather than dict required rewrite of _minimize_ndfa()

  • adjusted for markdown

  • modified (minor)

  • removed

0.2.1 - 2019-07-28

  • removed tests/

  • removed urdubiometer/graphparser/* to replace with graphtransliterator

  • removed graphparser from

  • adusted .travis.yml tags

0.2.0 - 2018-03-14

  • added module with ParserRule, ParserOutput, OnMatchRule, WhiteSpace, and DirectedGraph classes

  • added tests/

  • added graphparser init and constructors: from_yaml_file, from_yaml, from_dict. They are cascaded: from_yaml_file calls from_yaml, which calls from_dict. Added a “raw” parameter, to from_dict as to whether or the dict needs to be processed from easy-reading format (default is True)

  • added _unescape_charnames to graphparser module to unescape \N{CHARNAME} strings (from files, especially)

  • added graphparser/ to handle validation of raw and processed settings, using Cerberus

  • created graphparser/ to convert rules, onmatch rules, and whitespace to internal types Rules, OnMatchRules, and Whitespace; and, to generate the parser’s internal DirectedGraph

  • added GraphParser.parse() method

  • modified tests to fail

  • updated

0.1.2 - 2018-02-22

  • initialized and graphparser submodule

  • added tests to check loading

0.1.1 - 2018-02-22

  • fixed badges in

0.1.0 - 2018-02-22

  • added, (from cookiecutter, converted to md from rst)

  • added docs, adjusting for markdown and sphinx_rtd_theme; enabled Napo

  • added requirements_dev.txt, the dev requirements for a virtualenv; included m2r, sphinx_rtd_theme, and

  • added Makefile (generated by cookiecutter)

  • added, with some changes for md

  • added setup.cfg, (customized for markdown), and tox.ini

  • added urdubiometer directory with,, and (cookiecutter)

  • added tests/ (cookiecutter)

  • generated module documentation using Sphinx

  • updated based off cookiecutter

  • updated .gitignore

  • adjusted .travis.yml (may need some work)

0.0.1 - 2018-02-21

  • Added This file to record changes.

  • Added contains guidelines for participation.

  • created. It links to, which I have initialized, and travis-ci.

  • added file, which is BSD and (c) Michigan State University

  • added .travis.yml file for travis-ci

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

urdubiometer-0.2.9-py2.py3-none-any.whl (28.5 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page