My Top 5 Awesome Python Projects
Tags: python, beginners, opensource
Published: 2020-01-22 05:14:59

# Introduction
I think there is tons of development for the Python community. That is useful for the development of Python be it your a full stack developer, data scientist or an educator. 

I feel these projects are doing a lot to solve problems when you are starting out or just trying things to see how it sticks.

# Cookiecutter
If you had not heard about [cookiecutter][1]. I suggest that you take a look at starting a new project in Python. 

It is a breeze to use cookiecutter with the flexibility to pick your own journey. When building your Python project but with all the project structures that you need without all the worry on how it should be done.  

# Zappa
If your planning to build your Microservice and you are using AWS. I would suggest you try out [Zappa][2]. 

It magically takes advantage of **Lamdas** & **API gateway** capability. You don't need to learn about the complicated stuff to deploy like Kubernetes or docker.

Because it's serverless which sets up a server within milliseconds to run your API by just installing as a python package and some configuration in AWS and you are done. This applies to Flask and Django while your there do donate to the project to help it stay afloat. 

# Scrapy
Data Science is a sought after job in the data science world. The unglamorous work is dealing with data that is your secret sauce. From cleaning to getting your hands on data. So that it could provide insights or create data products with it. 

Sometimes web platforms do not provide you with APIs access to their data. The next best thing is to do data scrapping by using a library. 

I would always go for [Scrapy][3] when I'm doing a data scrapping project because it allows you to add in plugins. 

Which scrap information with Javascripts capabilities which are founded more often than you think and IP proxy services to scrap data from your website.

# MicroPython
If are in the education space and teaching programming to kids. You might have heard of Arduino or Lego Mindstorms or the famous Raspberry Pi. 

Well, [Microbit][4] had been making waves for kids to introduce them to computer programming due to its **affordability**. 

MicroPython is running on that hardware and is used in schools in the UK and some coding schools in Singapore to help expose kids in the joy of computer programming.

In some videos, MicroPython being used for industrial IoT projects as [edge computers][5].

# Pyodide
When you think of [Web Assembly][6], you will think of **Rust** or **Go**.  In fact unknown to you, Mozilla came out a project called [Pyodide][7]. 

Why is this useful? Well if you don't know about AI and machine learning technology. It requires expensive hardware to build machine learning models and plus configuration data sciences tools will be a pain for anyone. Which cloud providers are offering it to improve the speed of development for data products and data analysis. 

But what if you can build or run machine learning models and use data science tools without the need to configure your own cloud service or get expensive hardware in your own browser?  

This essentially opens up a doorway to allow anyone to adopt and use data science tools to build data products or perform data exploration within your own browser.

This could also be flipped to allow delivery & execution of data models to a clients browser by just accessing a URL without installing a plugin.

The additional benefits are that most Python will then be running in a browser instead of just a backend language. 

The headache comes with multiple programming languages in a web browser. Which makes debugging much harder, due to the nature of how web assembly binary is built.
 
# Conclusion
This is what it is making me excited about Python. I do hope that there will be more investments for these projects. 

I believe these could be useful to attract developers into the Python world. As a gateway for them to become a developer into Microservices, Data Science, IoT or Web Development.

Yes, I know Python is not useful for tons of things and to branch off to solve problems. Armed with the tools to use their fundamentals. They took from Python as a gateway to programming or for a professional level.

If you like this article **sign up** for my [Adventurer's Newsletter](https://maxongzb.activehosted.com/f/1) for a weekly update in the area of **Python**, **Startup** and **Web Development**.

You can also **follow** me to get the **latest** update of my article on **Dev**

The original post was on [My Top 5 Awesome Python Projects - Reading Time: 4 Mins](https://www.maxongzb.com/my-top-5-awesome-python-projects-reading-time-4-mins/) and cover image by [Zan on Unsplash
](https://unsplash.com/photos/fYTfOzaRVWw)

# Reference
* [Zappa][2]
* [Cookiecutter][1]
* [Scrapy][3]
* [MicroPython][8]
* [MicroPython Used in Industrial Applications][9]
* [Pyodide][10]
* [Pyodide: Bringing the scientific Python stack to the browser][7]


[1]: https://github.com/cookiecutter/cookiecutter
[2]: https://github.com/Miserlou/Zappa
[3]: https://github.com/scrapy/scrapy
[4]: https://www.microbit.org/
[5]: https://www.cloudwards.net/what-is-edge-computing/
[6]: https://webassembly.org/
[7]: https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser/
[8]: https://micropython.org/
[9]: https://youtu.be/WgpMWEdKuyY
[10]: https://github.com/iodide-project/pyodide