[SoC] GSoC 2019 - Final Report - Porting MapMint from Python 2.x to 3.x

Fenil Mehta fenilgmehta at gmail.com
Sun Aug 25 05:54:02 PDT 2019


Hi,

Thanks a lot for this wonderful opportunity. It's been a great experience
working with the OSGeo community.

Following is the final report.


*1. TITLE*MapMint - porting from Python 2.x to Python 3.x


*2. SOFTWARE COMMUNITY*OSGeo, The ZOO-Project, MapMint


*3. ABSTRACT*- MapMint is a web-based service oriented Geographic
Information System(GIS), which is designed to facilitate deployment of
Spatial Data Infrastructure(SDI). It is designed to help its users publish
quality web maps in a quick and easy manner using the web interface which
is highly customizable. MapMint also implements various geospatial and web
standards providing interoperability with other applications as well.
- I intend to port the MapMint source code to Python 3.x and reformat the
code to improve the readability of the program and ease maintenance.


*4. MOTIVATION*Advantages of Python 3.x over Python 2.x was the main
motivation behind this project. Some of the major advantages are:
- Community support is better with Python 3.
- Each newer version of Python continues to get faster with the runtime.
- There is better unicode support in Python 3.
- Python 2 is not traditionally a typed language. But Python v3.5 supports
typing, that overcomes the development conflicts when working with new
pieces of code.


*5. STATE BEFORE GSoC 2019*- The MapMint project was running on Python 2.x
which is an older version of the Python language whose support will soon
end in 2020 and MapMint is unable to take advantage of the improvements in
Python 3.x


*6. STATE AFTER GSoC 2019*- I have ported the MapMint project to Python 3.x
and made the necessary changes in the ansible scripts which are used to
install MapMint.
- Requirements
    1. Python v3.6.7 or higher
    2. Ansible v2.5.1 or higher
    3. Apache Server
- Tested on OSGeo Live 12.0


*7. WORK TO BE DONE*- What I see from modifying and testing mapmint working
on Python 2.x and Python 3.x is that the login service is not working as
expected. Some amount of testing and debugging is to be done. However, I
believe that only change of syntax from Python 2 to 3 shall not break the
core services. So, all the core services should be working perfectly as
they were working before porting.


*8. FUTURE OPPORTUNITIES*- Static type checking can be added to improve
data validation and improve the quality of the code.
- Python documentation can be added quickly with the help of an Integrated
Development Environment(IDE).


*9. LINKS** Final Report -
https://github.com/fenilgmehta/mapmint/wiki/GSoC-2019---Final-Report
* GitHub wiki page -
https://github.com/fenilgmehta/mapmint/wiki/GSoC-2019---porting-python-2.7.x-to-3.x
* OSGeo wiki page -
https://wiki.osgeo.org/wiki/GSoC_2019_Porting_MapMint_from_Python2_to_Python3
* Installation instructions and images -
https://github.com/fenilgmehta/mapmint/tree/master/examples
* Google Drive public folder -
https://drive.google.com/open?id=1jmyJ6tHW7i3Zaquk2g5Yqv4BNUfvHOcW

Thanks for all the support.

Best regards,
Fenil Mehta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20190825/fa35f469/attachment.html>


More information about the SoC mailing list