Difference between revisions of "User:Vaydheesh/GSoC2019Report"
(Created page with "== Python API/Library for Apertium == For this [https://summerofcode.withgoogle.com/projects/#5948355719462912 project], I coded swig wrappers to be used in the [https://githu...")
Latest revision as of 16:43, 26 August 2019
Python API/Library for Apertium
Work Done during GSoC 2019
1. SWIG wrapper for various binaries called by apertium mode files i.e. lt-proc, lrx-proc, apertium-transfer, apertium-interchunk, apertium-postchunk, apertium-pretransfer, apertium-tagger, cg-proc and their implementation in apertium-python with a subprocess fallback in absence of wrappers. The initialized wrapper objects are also stored for optimising the successive calls.
2. Installer for project on Ubuntu and Windows by executing `python setup.py install` which internally installs `aperitum-all-dev`, aperitum-eng & aperitum-en-es language package and also installs the wrapper binaries on Ubuntu.
3. Added support for tagger
4. Updated the documentation with changes in apertium python
Code for the module
Main Repository: https://github.com/apertium/apertium-python
Changes made to Apertium Code
1. apertium python
- https://github.com/apertium/apertium-python/pull/42 - https://github.com/apertium/apertium-python/pull/46 - https://github.com/apertium/apertium-python/pull/53 - https://github.com/apertium/apertium-python/pull/56 - https://github.com/apertium/apertium-python/pull/57 - https://github.com/apertium/apertium-python/pull/58 - https://github.com/apertium/apertium-python/pull/59 - https://github.com/apertium/apertium-python/pull/62 - https://github.com/apertium/apertium-python/pull/63
- https://github.com/apertium/lttoolbox/pull/53 - https://github.com/apertium/lttoolbox/pull/58 - https://github.com/apertium/lttoolbox/pull/64 - https://github.com/apertium/lttoolbox/pull/67 - https://github.com/apertium/lttoolbox/pull/69
3. apertium core tools
- https://github.com/apertium/apertium/pull/51 - https://github.com/apertium/apertium/pull/52 - https://github.com/apertium/apertium/pull/54 - https://github.com/apertium/apertium/pull/56
4. apertium lex tools
- https://github.com/apertium/apertium-lex-tools/pull/22 - https://github.com/apertium/apertium-lex-tools/pull/26 - https://github.com/apertium/apertium-lex-tools/pull/28
5. Constrain Grammar 3 SWIG Wrapper for cg-proc https://github.com/TinoDidriksen/cg3/pull/37
Overall, it was a wonderful and satisfying journey. I had a great learning experience and a great time coding. Debugging the wrapper had its own set of challenges. I got stuck in the debugging task for a some time during the GSoC period. Hadn't been there the help from my mentor and other member of Apertium, I don't think I could have fixed those bugs. Fortunately all these issues got fixed and I was able to complete the wrapping process within time
Open Pull Request
1. Install wrapper on windows during python setup.py install
2. Optimise the wrapper caching process
3. Other issues mentioned in Apertium Python Issues
Thanks a lot to all members of apertium. I was very fortunate to get this opportunity to work with this wonderful organisation. My mentor Sushain Cherivirala & the apertium members are very helpful and this project wouldn't be possible without their constant help and guidance. I would really like to thank all of them.