Developer Tools & Frameworks for a Python Developer - Reading Time: 3 Mins

Introduction

Due to the trend for data sciences and popularity on the use of Python to teach computer programming.

Due to the growing amount of tools and framework used for Python from scripting to building AI there's always a tool or framework to make Python development easy to get started.

Below is my list of developer tools and frameworks that are useful for development using Python.

Tools

PyCharm Professional Edition

One of the most popular IDE used among Python developers

This a tool in my toolbox. That I spent my time a daily basis when I am developing anything in Python as it includes a lot of shortcuts and feature that makes development easy.

I fell in love with the Debugger feature.

One of the best experience I had in working with Microsoft Visual Studio. It was was easy to use and make debugger of my code a breeze.

Visual Studio Code

If your taste for Python development is the speedy text editor without much of the bell & and whistle.

Visual Studio Code will be your choice.

Recently Microsoft had released the Visual Studio Online which allows you to treat it as an online IDE similar to CodeEnvy by RedHat or AWS Cloud9.

Libraries

Request

This one of the unsung heroes that I use for my Test-Driven Development (TDD) for my API development.

It is easy to learn and allows you to make various query requests to an endpoint with ease.

I never require many Google searches as I could get what I need directly from the documentation.

Frameworks

Scrapy

Besides, it's used case for creating a spider to scrape for data. Scrapy is a useful automated tool used for testing out a website's UI/UX interaction to mimic human behaviour.

Besides that by using the headless option under the chrome browser.

It dramatically improves the speed of execution for Scrapy without the need to load a browser.

Django

It is my bread and butter skill for building a web development project.

With excellent documentation, developing with Django does not make you feel confused due their documentation is simple and easy to understand.

Django follows the "one-stop" model that usually provides a single way to get the jump.

If you require to build a specific feature for your endpoint and it's always great to head down to Django packages for the package you could integrate with Django.

Flask

One of the second contender for the top spot for web development with Django.

Flask offers flexibility & simplicity, which allows you to install multiple packages to get the specific relevant feature that you require.

The most painful the part for me was the setup of the project structuring in a flask project.

Zappa

Deploying has always been a pain to deal from the choice from uWisgi, Mob Wisgi & Gunicorn .

If your using AWS, I would recommend the use of Zappa.

Which provides a serverless function as a service by taking advantage of the AWS Lambda

Pytest

It's used to combine with either the use of Scrapy or Requests library.

It provides a low barrier of entry to learn to create test cases with little boilerplate code.

The main advantage for fixture is that it allows the population of test data into a database.

Once a test has completed executing it will be removed from the database.

Conclusion

I hope that these developer tools and framework could help you on your journey to become a better developer.

Please comment or follow my feed on what is your own favourite Python tool or library that you loved.

References