G2p

Latest version: v2.0.0

Safety actively analyzes 641872 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

2.0.0

Please visit [the migration guide](https://roedoejet.github.io/g2p/latest/migration-2/) for information on how to update 1.x mappings to g2p 2.x!

:boom: BREAKING CHANGES
- due to [`1d8e4fb`](https://github.com/roedoejet/g2p/commit/1d8e4fb665a6d3c066b1d8b0ac635390887d025a) - switch to pydantic 2 *(commit by roedoejet)*:

requires python 3.7


:sparkles: New Features
- [`fd33a26`](https://github.com/roedoejet/g2p/commit/fd33a26023e6038660858fe8699d181fc3c42390) - **cli**: add update-schema command *(commit by roedoejet)*
- [`f85c4f2`](https://github.com/roedoejet/g2p/commit/f85c4f283c19c44dad4fd51f166e15dc21802cd2) - use json for network as well *(commit by dhdaines)*
- [`b01ec23`](https://github.com/roedoejet/g2p/commit/b01ec234e86f067647c5f57412c0f426a9b5655b) - upgrade networkx now that we can *(commit by dhdaines)*
- [`9fe200d`](https://github.com/roedoejet/g2p/commit/9fe200d83dd6ea433b10f5348e605ce3a97ae729) - **schema**: update schema generation to include dialect spec by default *(commit by roedoejet)*
- [`a04aeff`](https://github.com/roedoejet/g2p/commit/a04aeff3918eaac05b37ffc70ba8b518d13b7955) - add case preservation option to mappings *(commit by roedoejet)*
- [`c31c66b`](https://github.com/roedoejet/g2p/commit/c31c66bd4632182856490c5186ad3374fae950c5) - g2p-studio also needs to support preserve_case *(commit by joanise)*
- [`7447fe6`](https://github.com/roedoejet/g2p/commit/7447fe656a5b6877b3f50f8116bbf0acbc8101f5) - make x caron equiv to x dot below in clm *(commit by joanise)*
- [`d4fdc8c`](https://github.com/roedoejet/g2p/commit/d4fdc8caa40fbb3e5dd849f9963b826130715931) - **str**: accept space+comb-cedilla or space+comb-comma as equiv to cedilla *(commit by joanise)*

:bug: Bug Fixes
- [`20e3bcb`](https://github.com/roedoejet/g2p/commit/20e3bcbae840c821fb6f5bf348522b4c0c7897f8) - **pkl**: remove generated default date *(commit by roedoejet)*
- [`22644e7`](https://github.com/roedoejet/g2p/commit/22644e7cf5fb0fbf6ad07086c23eb86095b0f9e5) - **studio**: refactor to 'rules' instead of 'mapping' key *(commit by roedoejet)*
- [`30dc282`](https://github.com/roedoejet/g2p/commit/30dc282bd26180372af9f36e10ad300b7b97866c) - **ci**: require 3.8 for windows ci *(commit by roedoejet)*
- [`1df2dfd`](https://github.com/roedoejet/g2p/commit/1df2dfd8256485ec7301d0d52324bc011a2ba962) - add miscellaneous style fixes and typos *(commit by roedoejet)*
- [`5ccd595`](https://github.com/roedoejet/g2p/commit/5ccd5950754d4dcd89e4c4954eeba404a59c8625) - **update**: prevent loading all the mappings multiple times *(commit by roedoejet)*
- [`45d5ecf`](https://github.com/roedoejet/g2p/commit/45d5ecf26eaeefc33af6f62b19ba22a6e9061aa6) - **tests**: fix studio tests *(commit by roedoejet)*
- [`16e4869`](https://github.com/roedoejet/g2p/commit/16e4869ae9bd60370fc7267b3e95c7a4ecb15e75) - restore Python 3.7 compatibility *(commit by joanise)*
- [`060a8aa`](https://github.com/roedoejet/g2p/commit/060a8aa77b9eff8c911ab04ec6d593dc00890f5b) - use more generic variable names *(commit by dhdaines)*
- [`ac2d42d`](https://github.com/roedoejet/g2p/commit/ac2d42dc6c665f1b55fe58cb394b5d5496008e53) - **deps**: back off networkx dep for python 3.7 *(commit by dhdaines)*
- [`fa27730`](https://github.com/roedoejet/g2p/commit/fa27730399f631bdafc40a7127b091cbd009e632) - **crg**: fix various rule feeding and ordering bugs for Michif *(commit by joanise)*
- [`007aef5`](https://github.com/roedoejet/g2p/commit/007aef5b28afceb15d448c3bae019fd555ef9485) - **crg**: manually clean up crg-ipa -> eng-ipa *(commit by joanise)*
- [`0e9271a`](https://github.com/roedoejet/g2p/commit/0e9271af789c976682dcfcec10f85fcef2c52f37) - **test**: fix failure in test failure *(commit by dhdaines)*
- [`15d5b64`](https://github.com/roedoejet/g2p/commit/15d5b64a91cc6f69a3067de85da952c1c144a409) - test file could have arbitrary extra fields *(commit by dhdaines)*
- [`25f4713`](https://github.com/roedoejet/g2p/commit/25f4713dddb4a848b5af3060f654ab814ad44ae2) - output a compatible config-g2p.yaml though some filenames change *(commit by dhdaines)*
- [`32fe87c`](https://github.com/roedoejet/g2p/commit/32fe87c6dbe18366fb7183ab8ae91bd165765905) - add config_only option to export_to_dict *(commit by dhdaines)*
- [`b5f9747`](https://github.com/roedoejet/g2p/commit/b5f974745b850f00761af6d77df76fb47a0de3b9) - um, yes, model_dump() exists *(commit by dhdaines)*
- [`2e5e560`](https://github.com/roedoejet/g2p/commit/2e5e5607020bad2050b9c5defee16b843850e925) - do not exclude defaults, just inappropriate keys for config *(commit by dhdaines)*
- [`9975100`](https://github.com/roedoejet/g2p/commit/9975100a5d9c775edf2ddc49661fd8ad625454cd) - add missing double vowel vowels to crg *(commit by dhdaines)*
- [`83b6c1c`](https://github.com/roedoejet/g2p/commit/83b6c1c0cb7f9b7ca2d8a95f79aa4e8adcc98559) - cursèd unicode g strikes again *(commit by dhdaines)*
- [`f766a66`](https://github.com/roedoejet/g2p/commit/f766a66ba313d30708dcfee4773273ddecb7c7bd) - remove werkzeug lock since it is no longer necessary *(commit by joanise)*
- [`1c7792f`](https://github.com/roedoejet/g2p/commit/1c7792f170db87376b7a4cad993b2253a0f51f2c) - correct the unit testing output for g2p mapping errors *(commit by joanise)*
- [`996a060`](https://github.com/roedoejet/g2p/commit/996a060bef49ba2bb9be1c85850491c77d01663e) - remove unused kwargs in transducer call *(commit by roedoejet)*
- [`d1aa6dd`](https://github.com/roedoejet/g2p/commit/d1aa6dd02aa496aab121d6848bc6dd43b03b0b1e) - sort rules without explicit indices *(commit by roedoejet)*
- [`d768d74`](https://github.com/roedoejet/g2p/commit/d768d749fc227ca70279c2e1725b42305c6b2ba0) - detect incompatible case_sensitive+preserve_case instances *(commit by joanise)*
- [`35868bb`](https://github.com/roedoejet/g2p/commit/35868bb8a3250bf52452740759244bff86beaca9) - preserve indices through prevent-feeding intermediate form *(commit by joanise)*
- [`01ff75e`](https://github.com/roedoejet/g2p/commit/01ff75e1c34aab1c679df8c9c32b6c334c40330f) - fix coverage issues and grepping for slow imports *(commit by joanise)*
- [`251739a`](https://github.com/roedoejet/g2p/commit/251739a5f614714c698662700e0aa3502f68c4d9) - **deps**: lock numpy<2 because 2.0.0 is coming and has breaking changes *(commit by joanise)*
- [`27d0d2d`](https://github.com/roedoejet/g2p/commit/27d0d2d5cc12849a51c9e0bb10b69f36558c53c1) - rename crj and crl "East Cree, Nor/Southern" so they sort nicely *(commit by joanise)*
- [`17519d8`](https://github.com/roedoejet/g2p/commit/17519d811ee96c035ee0ba888e6348960c5fc2a4) - y in oka should go to /j/, palatal glide, not /y/ *(commit by joanise)*
- [`b52a819`](https://github.com/roedoejet/g2p/commit/b52a819ef3551d3523a95706cf7c9ed97820426d) - issue a fatal error when reading an empty mapping *(commit by joanise)*
- [`95bf4be`](https://github.com/roedoejet/g2p/commit/95bf4be192cbeb24d9c78da4318ff050f46dedcf) - **app**: errors in mappings should just trigger console warnings *(commit by joanise)*
- [`5993242`](https://github.com/roedoejet/g2p/commit/5993242788e636ccedda9f1216f6b05c461057ff) - **str**: cedilla is now the default glottal stop character *(commit by joanise)*
- [`d18d17a`](https://github.com/roedoejet/g2p/commit/d18d17a33c3fc02d6e9125daff7a0897317c9487) - publish schemas only for major.minor, ignoring .patch *(commit by joanise)*
- [`f2a7563`](https://github.com/roedoejet/g2p/commit/f2a7563a03ff62eca40579ddf268e25f96bfef96) - assertEquals is removed from Python 3.12 *(commit by joanise)*
- [`5592659`](https://github.com/roedoejet/g2p/commit/55926592686c19a3c4a06df495ff50407fca4b8b) - close xlsx workbook after reading *(commit by joanise)*
- [`7f34057`](https://github.com/roedoejet/g2p/commit/7f3405766fe34a04d5c99adf47fe85c3fe42b25d) - loading xlsx workbooks should not fail on empty cells *(commit by joanise)*

:zap: Performance Improvements
- [`a5f51b7`](https://github.com/roedoejet/g2p/commit/a5f51b7114e3b7a9fd7cd7738fefec5997f97b10) - only create APP when it is really needed *(commit by joanise)*
- [`0b8d773`](https://github.com/roedoejet/g2p/commit/0b8d773282f4c1ae6f7b4ba6b348ea1717842673) - defer a whole bunch of expensive imports from the CLI *(commit by joanise)*
- [`978153b`](https://github.com/roedoejet/g2p/commit/978153b8155a224db9d6778c914aa16bd20cc1d6) - remove the app from the cli to make the CLI faster *(commit by joanise)*

:recycle: Refactors
- [`eec8e82`](https://github.com/roedoejet/g2p/commit/eec8e82d33f268c91b8abb66345574962644e84d) - massive refactor to pydantic *(commit by roedoejet)*
- [`1d8e4fb`](https://github.com/roedoejet/g2p/commit/1d8e4fb665a6d3c066b1d8b0ac635390887d025a) - switch to pydantic 2 *(commit by roedoejet)*
- [`a753e07`](https://github.com/roedoejet/g2p/commit/a753e07c31ab129b711bead45574c204927abb3d) - **config**: require a 'mappings' key *(commit by roedoejet)*
- [`006d370`](https://github.com/roedoejet/g2p/commit/006d370a85aeff56d89cb5439a1b6f5944622509) - in_char and out_char to rule_input and rule_output *(commit by roedoejet)*
- [`b448523`](https://github.com/roedoejet/g2p/commit/b4485230718ab72b094ddb9ae1842187649ff184) - change to config-g2p.yaml *(commit by roedoejet)*
- [`5a67040`](https://github.com/roedoejet/g2p/commit/5a670408721b5a433a97102e6e0a5605adb34a67) - change langs.pkl to langs.json *(commit by roedoejet)*
- [`5b259ff`](https://github.com/roedoejet/g2p/commit/5b259ffeaab38251335c50e73ec7d2136eee7b41) - separate data and path for rules, abbreviations, and alignments *(commit by roedoejet)*
- [`ddefe77`](https://github.com/roedoejet/g2p/commit/ddefe77f55eedc630cb9f1e0c23ed2cc66b9f634) - make mapping.rules the only way to get to the rules *(commit by joanise)*
- [`090145e`](https://github.com/roedoejet/g2p/commit/090145eff53470e8a23b789384445d15aba71a6d) - **docs**: change docs to mkdocs *(commit by roedoejet)*
- [`3c8f51a`](https://github.com/roedoejet/g2p/commit/3c8f51ad848fe8c3c8fec65b218118e8bf1539ea) - **docs**: add nav footer and move python example *(commit by roedoejet)*
- [`df0b61e`](https://github.com/roedoejet/g2p/commit/df0b61ed99f38a276e4db4240663bb5a261df158) - move strip_index_notation function to general utils module *(commit by roedoejet)*
- [`8363cfa`](https://github.com/roedoejet/g2p/commit/8363cfa8c3dcba1171d027d5130710b896e2af41) - move strip_index_notation to mappings/utils.py *(commit by joanise)*
- [`5d2e3bb`](https://github.com/roedoejet/g2p/commit/5d2e3bb0be0b1a0e18e4edb6d2d59f775b28fa5d) - use ABCs to keep typing despite deferring imports *(commit by joanise)*
- [`c9c7c1e`](https://github.com/roedoejet/g2p/commit/c9c7c1e46cd2c0c4545d7912427f9cffafec2be3) - put types in types.py for more clarity *(commit by joanise)*
- [`2379fe4`](https://github.com/roedoejet/g2p/commit/2379fe459a19316c621d645853731d25dad3f4d9) - remove dead code, create_app was only needed for the cli *(commit by joanise)*
- [`b79480f`](https://github.com/roedoejet/g2p/commit/b79480f66696c20dae7b294fd27c5193ddf6bc6e) - replace deprecated pydantic v1 validator by v2 equivalents *(commit by joanise)*
- [`91e03a0`](https://github.com/roedoejet/g2p/commit/91e03a03fe1794608a81a8a2631de3f03182d88e) - make test runners DRYer and let dev be default *(commit by joanise)*
- [`414c812`](https://github.com/roedoejet/g2p/commit/414c812efc36ed7ebe107c0bf2a59b5f21b9c2d6) - version numbers are now PEP 440 compliant, not date based *(commit by joanise)*

:white_check_mark: Tests
- [`482fbc6`](https://github.com/roedoejet/g2p/commit/482fbc6a6d2288f054ccfecf9211e12e32f43a83) - add a test case for generate-mapping --ipa *(commit by joanise)*
- [`3811a9e`](https://github.com/roedoejet/g2p/commit/3811a9e77d4a98676a4339c8c537eecd2f8a2470) - **kwk**: minimally exercice kwk BOAS->Umist case preservation *(commit by joanise)*
- [`4c3e102`](https://github.com/roedoejet/g2p/commit/4c3e1024e00cb89e32930078e31d4a959f2a7919) - exercise index preservation through prevent-feeding *(commit by joanise)*
- [`2156be8`](https://github.com/roedoejet/g2p/commit/2156be8044d82046b70d2ab3f78bffc9657422c9) - exercise create_app() in unit testing *(commit by joanise)*

1.1.20230822

[1.1.20230822](https://github.com/roedoejet/g2p/compare/v1.1.20230511...v1.1.20230822) (2023-08-22)


Features

* **deps:** make dependencies dependant on the Python version ([6e68140](https://github.com/roedoejet/g2p/commit/6e6814045b6f04e8eae5e0e9d2281cad5e9f60e9))
* clm (Klallam) mapping to g2p ([882925a](https://github.com/roedoejet/g2p/commit/882925ab7caa5110b0353edc223f6bf398df945b))
* **moh:** update moh mappings ([14e8bc6](https://github.com/roedoejet/g2p/commit/14e8bc61909e332e8ad8cc6bc96ea0c7bd622442))


Bug Fixes

* bisect_left does not accept key before Python 3.10 ([cbb9fb2](https://github.com/roedoejet/g2p/commit/cbb9fb2c3d977ea1e4b8051e30e7c9b3649eb906))
* updating flask means updating socketio means updating socket.io.js ([785f668](https://github.com/roedoejet/g2p/commit/785f668222f361d78b0fcaa99e0dce895d6b2f9d))
* **deps:** make sure engineio and socketio are all compatible ([600b2ec](https://github.com/roedoejet/g2p/commit/600b2ec59ee62b0d37156bca130fbf0e3bfbb197))
* have generate-mapping create files that pass pre-commit hooks ([f6494a9](https://github.com/roedoejet/g2p/commit/f6494a91cd8111d0984a71b4eeb616ffceabcc85))
* the egg syntax is deprecated, use the at syntax instead ([697abcb](https://github.com/roedoejet/g2p/commit/697abcb76e848ae9bf13cd61bc613931c7192c39))
* **deps:** lock dnspython to compatible 2.3.0 ([e4eaa96](https://github.com/roedoejet/g2p/commit/e4eaa961d759e66d3d43e690f32680cbee9cf940))
* ^ and $ are null-length so require separate sorting for creating fixed-width lookbehind ([1ef573b](https://github.com/roedoejet/g2p/commit/1ef573b6d242460710b1a934fb097e91ee057ef6))
* error with missing apostrophe ([8e55e44](https://github.com/roedoejet/g2p/commit/8e55e446bcd4f2070454641f822a948b23f6447c))
* **mapping:** fix bug in haa mapping and add test suite lookbehind construction ([a9e5e69](https://github.com/roedoejet/g2p/commit/a9e5e690d39bf7a3824cfc46277c114b0152e0f5))
* **moh:** change name of language to Kanien'kéha ([e3ab8c3](https://github.com/roedoejet/g2p/commit/e3ab8c372eb4d5753924e3abbab1da091f9b9e08))
* **studio:** pin hands on table to 12.4 ([b7df593](https://github.com/roedoejet/g2p/commit/b7df593aa3cc61c38ecd3bf98ed1079e3b66f91c))


Performance Improvements

* build only in_seq or mappings as needed for alignments ([4e6de3b](https://github.com/roedoejet/g2p/commit/4e6de3b8c1f8828721ef849f864a605590d2b574))
* store lexicon alignments as strings to save memory ([6543214](https://github.com/roedoejet/g2p/commit/65432147014bbb677b5242c34605ba6b080f5ce4))
* store lexicon k:v entries as joined strings, even less RAM ([b984c42](https://github.com/roedoejet/g2p/commit/b984c42b19a2eaa415292a1ae20de265a7765486))


Tests

* add unit test case mimicking [130](https://github.com/roedoejet/g2p/issues/130) to confirm it works on Windows ([b413089](https://github.com/roedoejet/g2p/commit/b413089f3145e355daf536773dab8e21b1c3579a))
* exercise the short -h option in unit testing ([40db7fc](https://github.com/roedoejet/g2p/commit/40db7fc9c7a4262c354276169b4717336c2c5d15))


Build Systems

* bump gunicorn to latest version, just published ([01234c7](https://github.com/roedoejet/g2p/commit/01234c79652a0cfe0b0bc3fc184de2ec9d64e672))
* bump Heroku runtime to 3.10.12 as per Heroku warning ([7f249d9](https://github.com/roedoejet/g2p/commit/7f249d9ef33f92cd02ca0d9851ba72abb670fca8))
* force Heroku to bump python to 3.10.11, and docs ([a0b9c03](https://github.com/roedoejet/g2p/commit/a0b9c0312965afc872f94f82fa6831dcd8b8f5e4))


Continuous Integration

* only run the full matrix test on release ([f02f1ff](https://github.com/roedoejet/g2p/commit/f02f1ff68c32a8211fe6eeeb0e9ff586310e8696))
* reorganize CI test suites ([c04c660](https://github.com/roedoejet/g2p/commit/c04c6607d8122c0e52aff4b86411025dfec74b67))
* run matrix tests on push to main too since that gets deployed ([2622913](https://github.com/roedoejet/g2p/commit/2622913d7f402d782e9be1729384ed94f077666c))


Documentation

* tell the user they need python 3.7 if they try to run studio with older ([50852d8](https://github.com/roedoejet/g2p/commit/50852d8259bf47b6a6ca2a64b9e605ebe121ecdc))
* update phoneset ([5eb14b1](https://github.com/roedoejet/g2p/commit/5eb14b14a61ee752b0fd23f3c9459e8c33cf9bbc))


Code Refactoring

* apply dhd feedback to remove dead code and unflatten the alignment ([324e1a2](https://github.com/roedoejet/g2p/commit/324e1a2bfa251b5bd29393306d1afc022ca8d0bd))

1.1.20230511

[1.1.20230511](https://github.com/roedoejet/g2p/compare/v1.0.20230417...v1.1.20230511) (2023-05-11)


⚠ BREAKING CHANGES

* make_g2p(in, out) used to *not* tokenize, now it does, and its tok_lang argument is deprecated
* g2p convert now tokenizes by default

Features

* expose the tokenize option to api/v1/g2p ([3f572c4](https://github.com/roedoejet/g2p/commit/3f572c4bcdb080ff1faebee5fb0dbc7cab2ea39d))
* g2p convert now tokenizes by default ([4d67902](https://github.com/roedoejet/g2p/commit/4d679027be8bd6bf0ca7599cddd3e5ab18a1641a))
* make_g2p now tokenizes by default and has new signature ([ecfe2ca](https://github.com/roedoejet/g2p/commit/ecfe2ca903c512114da75d9d41f036165baec3b3))


Bug Fixes

* adjust all calls to make_g2p to its new signature ([bea7cec](https://github.com/roedoejet/g2p/commit/bea7ceceff88784c877a23aef15532ce9363cda6))
* g2p needs to update both generated .pkl and .json files ([2be51f8](https://github.com/roedoejet/g2p/commit/2be51f89a38506ed9ecd5da172232961ac550c6b)), closes [#237](https://github.com/roedoejet/g2p/issues/237)
* remove --path option to g2p convert, which does not work anyway ([f99774f](https://github.com/roedoejet/g2p/commit/f99774fa0f02a26c0cbb69077402791547a83cd3))
* use the more canonical DeprecationWarning to flag deprecation ([e8a8a4d](https://github.com/roedoejet/g2p/commit/e8a8a4d85fa8597eea343aedd1655f602065e2af))
* **mappings:** output should not be escaped ([5bd3250](https://github.com/roedoejet/g2p/commit/5bd3250efe039095e267bc9c30b89eefa5dc5c03))


Documentation

* add tokenize arg for api/v1/g2p to swagger.json ([d2f226f](https://github.com/roedoejet/g2p/commit/d2f226ffc5eae8e445debed2371fe2abc4cd2c24))


Continuous Integration

* make test_studio.py fast enough to run on each push ([5fa2a01](https://github.com/roedoejet/g2p/commit/5fa2a010cd371be2e74327e3cdaa0ebe8141c1a7))
* remove unused coveralls, make our omit compat with coverage 7.x ([3f9d2df](https://github.com/roedoejet/g2p/commit/3f9d2dfa317923983aef9c90a534d1e1b883e1fb))


Tests

* execise api/v1/g2p with and without tokenize ([c64322f](https://github.com/roedoejet/g2p/commit/c64322fc9dad8fb6c4fb484a1899404f1b87c7fa))
* improve coverage of error situations in CLI ([0b3f5ee](https://github.com/roedoejet/g2p/commit/0b3f5ee18212d25289b5ff4ae07d1d9023a09c55))


Code Refactoring

* make Tokenizer the base class name, and declare to return types ([7c8e8f1](https://github.com/roedoejet/g2p/commit/7c8e8f1fbb9bc0f1c80fd2d63a5fe1b00a81981e))
* move deprecation and version checking code to their own file ([e61daa4](https://github.com/roedoejet/g2p/commit/e61daa44ca1450206fc7e8f122bec21722ff25dc))
* remove dead code in app.py, increase test cov and speed up tests ([07e87d6](https://github.com/roedoejet/g2p/commit/07e87d640eb468e712eccf726197e5f4468344cb))

1.0.20230417

[1.0.20230417](https://github.com/roedoejet/g2p/compare/v1.0.20230412...v1.0.20230417) (2023-04-17)


Bug Fixes

* eng is already in the langs now, no need to hardcode ([b038ad2](https://github.com/roedoejet/g2p/commit/b038ad2769e2f7b90d81489444b7a693d139d287))
* import g2p should not alter sys.stdout/err globally ([80e0d1b](https://github.com/roedoejet/g2p/commit/80e0d1b87915ddbc96370c7ed3df107dedb5d01b))
* the CLI (and only the CLI) needs to ensure utf8 output on Windows ([cbeff1f](https://github.com/roedoejet/g2p/commit/cbeff1f6151bda8b1972b33e48d2910b7c171e7c))


Code Refactoring

* move get_langs from Studio/readalongs to g2p ([c06ae5d](https://github.com/roedoejet/g2p/commit/c06ae5d2b5d6799323139560584f77610839c2c3))
* rename get_langs->get_arpabet_langs to make purpose clearer ([7c5222e](https://github.com/roedoejet/g2p/commit/7c5222e72727364acabc8bd6d2c61293b030dacb))


Continuous Integration

* annotate version tags ([99b1747](https://github.com/roedoejet/g2p/commit/99b17470bcaf3f00651634a7116d3cd5511accb0))
* make sure the CLI outputs utf8 on Windows ([2612a1a](https://github.com/roedoejet/g2p/commit/2612a1a16efddbf9424b00461b005749d161d0e7))
* tell codecov to ignore the utf8 patch for Windows ([4339009](https://github.com/roedoejet/g2p/commit/4339009e4b9ed13e7b8f6b653f790ed87575a3fe))

1.0.20230412

[1.0.20230412](https://github.com/roedoejet/g2p/compare/v1.0.20230228...v1.0.20230412) (2023-04-12)


⚠ BREAKING CHANGES

* put network_to_echart where we can test it properly

Features

* add -a/--substring-alignments argument to cli ([6b41213](https://github.com/roedoejet/g2p/commit/6b41213b58be0dcfcfcd0ffb65472f2fd27668cd))
* add accessors for useful things like the input and output languages ([cacce3b](https://github.com/roedoejet/g2p/commit/cacce3b97286110a8462da60eed60078f1740a13))
* add aligned cmudict and lexicon transducer type ([596ab82](https://github.com/roedoejet/g2p/commit/596ab8286382ec943a0ed25ad97f7491c9b491f4))
* add alignments method to get textual alignments ([e2303f4](https://github.com/roedoejet/g2p/commit/e2303f4c4246a0b356c2277f44223caa70413166))
* add edges for alignments in lexicon ([f2c9f6c](https://github.com/roedoejet/g2p/commit/f2c9f6cbe0a46b92367e0e009990bebb09515078))
* add proper typing to compose_indices ([7bbfb6d](https://github.com/roedoejet/g2p/commit/7bbfb6da580ab61c0e69ffc76d4a82da1133e7f8))
* add type checking and use Tuples (as they can be type checked) ([4780702](https://github.com/roedoejet/g2p/commit/47807024c0c1e3c2ae15b834b050ca20411bb6e1))
* language name for spelling variants describe the variant ([ffba389](https://github.com/roedoejet/g2p/commit/ffba389713889c222a071f9fd97f544c673e9434))
* make the use of None explicit and limited ([97aaed5](https://github.com/roedoejet/g2p/commit/97aaed5fabe9bf71e85ca49046e5c828350703f2))
* make TransductionGraph and CompositeTransductionGraph compatible ([e00790a](https://github.com/roedoejet/g2p/commit/e00790ad0c16a54e4d6fc282c9239933b3047da9))
* output monotonic alignments for deletions and reorderings ([126aa83](https://github.com/roedoejet/g2p/commit/126aa83119698f8f0e77c82b316c98a6aa4c5a31))
* properly normalize edges on concatenation ([f37897c](https://github.com/roedoejet/g2p/commit/f37897c838d6e87e6bffed5ee9fc9612daef0ffc))
* shrink pickle by optimizing alignment storage ([0860ad6](https://github.com/roedoejet/g2p/commit/0860ad6e8e71099a95551bc7a2c0bbee2e479268))
* support lexicon mappings in Studio (but they are slow) ([c824f6b](https://github.com/roedoejet/g2p/commit/c824f6bc586772ac7149a3193e70e7a89b5236f9))
* switch script to use phonetisaurus from PyPI ([bb91b12](https://github.com/roedoejet/g2p/commit/bb91b1246f7fadb810db2894e3490a5a5c4c3c98))


Bug Fixes

* add spaces and avoid formatting ([a5c2894](https://github.com/roedoejet/g2p/commit/a5c2894e04475704e03d3da74ada738be28f7bff))
* avoid crashing on empty edges ([8d57e68](https://github.com/roedoejet/g2p/commit/8d57e68d4927e58add7305aa4f50cdcf94d59488))
* avoid creating None in input position ([404306d](https://github.com/roedoejet/g2p/commit/404306d2682ff8dda9ec09d329178290315721cd))
* comment and clean up substring_alignments ([9cd84d8](https://github.com/roedoejet/g2p/commit/9cd84d8c79879dde60f5b75d6a57f5ff2c5d6932))
* disable the utf8 fix for windows when running in pytest ([bd5690a](https://github.com/roedoejet/g2p/commit/bd5690a14eea28c61e84e04c0db4cf130ce64bc8)), closes [#241](https://github.com/roedoejet/g2p/issues/241)
* do not call logging.basicConfig, just config the logger itself ([8ff314f](https://github.com/roedoejet/g2p/commit/8ff314fdaa2e08c33aa2ad0f309db0818a1d5a74))
* emit input unchanged when no transducers exist ([b0db10e](https://github.com/roedoejet/g2p/commit/b0db10e44ff5800f6938a9ab8dfd6cf201591d04))
* fix doctor ([0b0f2ed](https://github.com/roedoejet/g2p/commit/0b0f2edb99de004e6a1b8a5e2d8e272b59420e9e))
* fix speed issues by not deep-copying alignments ([56e933b](https://github.com/roedoejet/g2p/commit/56e933bba6e537442040ac03f3f9833d1c0cf5df))
* make pretty_edges consistent and fix tests to expect tuples ([065fa23](https://github.com/roedoejet/g2p/commit/065fa2341aa57b09b20638a4c0864879531605a2))
* make sure we do not output bogus edges ([fab9f0a](https://github.com/roedoejet/g2p/commit/fab9f0a55ffcb8b815e3fc738f25caa31595444d))
* most sensible possible behaviour, keep spaces if user wanted them ([70ab1e6](https://github.com/roedoejet/g2p/commit/70ab1e61e67d2684d350c6dcb7f74b8cc14d68bd))
* remove impossible try/catch ([2db239a](https://github.com/roedoejet/g2p/commit/2db239a2793b3824c45bed0fa7e62cdc02f401bc))
* remove spaces in `sanitize_unidecode_output` as suggested by [littell](https://github.com/littell) ([bd1b1ec](https://github.com/roedoejet/g2p/commit/bd1b1ece13ce7c596608b56f2897ad301a622c59))
* remove spontaneous extraneous spaces from und-ipa ([9e64b7f](https://github.com/roedoejet/g2p/commit/9e64b7fa98141336aedb11d8d7a07932c7fcd143))
* remove unnecessary default value ([722215a](https://github.com/roedoejet/g2p/commit/722215afac4e28bc1698b13e88aa709310ba1e5d))
* restore original edges API and rename alignments ([c054256](https://github.com/roedoejet/g2p/commit/c05425661b301816bd49cb1b3de30cfce447b254))
* switching back to Custom did not actually work ([7f0f640](https://github.com/roedoejet/g2p/commit/7f0f640a8332293d7ccbe79e6153b9892717de2a))
* the only special character we want to escape is ? ([7af2f0b](https://github.com/roedoejet/g2p/commit/7af2f0bb54252b13cb60316f29bae4ca438df823))
* update treatment of deletions in lexicon to match rules ([18bdc6b](https://github.com/roedoejet/g2p/commit/18bdc6ba1260a402f8845030dc5c56b23fd9b646))
* use OrderedDict explicitly for clarity ([d2ef567](https://github.com/roedoejet/g2p/commit/d2ef5677ec8530a8fe99a237ec88629bf687b729))


Documentation

* add documentation for lexicon mappings ([dcf5973](https://github.com/roedoejet/g2p/commit/dcf597310d6babc1d5a17f95486e5e9af656f136))
* add links to non-packaged files ([9d6275c](https://github.com/roedoejet/g2p/commit/9d6275c0df1d4369e543fc5539eaa0f358361bfb))
* clarify use of generic type ([7bb7df6](https://github.com/roedoejet/g2p/commit/7bb7df638dfe25a00f907c57e068268ed9128e64))
* clean up docstrings ([91aa3b3](https://github.com/roedoejet/g2p/commit/91aa3b3f9bedb42841f107ed00ffe5508ce1b8b7))


Tests

* add alignment tests and improve coverage for tranducers ([76f85dd](https://github.com/roedoejet/g2p/commit/76f85dd831a9dfce62892ab5cfc1e01ae04d3a2d))
* add coverage of invalid regex in rule ([bd81a70](https://github.com/roedoejet/g2p/commit/bd81a70b3822686ecdb17aee9727fb12e88477fd))
* add coverage to studio tests and app ([0945336](https://github.com/roedoejet/g2p/commit/09453367cb98aef8eba3a1b155aa11e635737bd0))
* add test of lexicon loading from config file ([22de19b](https://github.com/roedoejet/g2p/commit/22de19b209666ac10396cb6e412cd90e558a91c5))
* fix studio test ([31c9e48](https://github.com/roedoejet/g2p/commit/31c9e485b4629647589fa114c2a2e0635f24c7a1))
* long delay no longer necessary ([33efc1e](https://github.com/roedoejet/g2p/commit/33efc1ef1254d2e2d87e62496e102c430068f05d))
* make test_tokenizer.py exercise tce and unknown lang and default ([1da815b](https://github.com/roedoejet/g2p/commit/1da815ba669a0518bbbbf975610afb2ea4d03eff))
* run the expensive doctor test because it can catch errors ([bb60f55](https://github.com/roedoejet/g2p/commit/bb60f5536cc8ef461e67b773b0e11a3ebc0b9855))
* update lexicon test for eng ipa ([f05a513](https://github.com/roedoejet/g2p/commit/f05a5139ceb72f9f817cedba1a00372967b599e8))


Code Refactoring

* add explicit b, m, p, u rules to moh for borrowed words ([2dc5e42](https://github.com/roedoejet/g2p/commit/2dc5e42032a85028428049d502cf48964135fd1e))
* put network_to_echart where we can test it properly ([970e358](https://github.com/roedoejet/g2p/commit/970e358f3d10765b63571bf9e293ffc93451ac9f))
* remove superfluous list comprehension ([dd8f5df](https://github.com/roedoejet/g2p/commit/dd8f5df91b7aba317a8737b4d8c6ac7a2b12df4c))
* **test:** when a mapping fails, show test case filename:lineno ([fb309ec](https://github.com/roedoejet/g2p/commit/fb309ec4f61a6a87acdc5ddf1516bcadc2a66363))
* **tests:** quiet yappy test suites ([c6423b6](https://github.com/roedoejet/g2p/commit/c6423b6f3d71c2c5f1d19b5c8e9ec1c3066fec40))


Styles

* all other badges are rounded, why not the readme one? ([ba76f57](https://github.com/roedoejet/g2p/commit/ba76f570c74899e145bdbb91627583b72209adf2))
* rewrite moh_equiv and moh_to_ipa in compact form ([c781cbe](https://github.com/roedoejet/g2p/commit/c781cbee7661b940cdc4ff766e97e1308fdc780f))


Continuous Integration

* replace deprecated actions/create-release by ncipollo/release-action ([43d1060](https://github.com/roedoejet/g2p/commit/43d10608abbd9c1cc5e4c42fa243571321f4e0b7)), closes [#200](https://github.com/roedoejet/g2p/issues/200)
* replace deprecated set-output and bump github-tag-action ([8b40a1b](https://github.com/roedoejet/g2p/commit/8b40a1b335c374c1b8eb761dec2f38ee1355c511)), closes [#200](https://github.com/roedoejet/g2p/issues/200)

1.0.20230228

[1.0.20230228](https://github.com/roedoejet/g2p/compare/v1.0.20230224...v1.0.20230228) (2023-02-28)

Bug fixes

* Fix to Han/Kanji characters in Und ([6e248a08de](https://github.com/roedoejet/g2p/commit/6e248a08de7886898ce49c31613907cc53d117d4))

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.