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.
If you like my article, please sign up for Max Adventurer's Newsletter for awesome content I stumble across weekly in Python, Startup and Web Development.
You can also follow me to get the latest update of my article on Dev
This post was originally posted on Max's blog at Developer Tools & Frameworks for a Python Developer - Reading Time: 3 Mins and Photo by Todd Quackenbush on Unsplash
Top comments (11)
Don't forget about
wemake-python-styleguide
: github.com/wemake-services/wemake-...It is the strictest Python linter out there!
wemake-services / wemake-python-styleguide
The strictest and most opinionated python linter ever!
wemake-python-styleguide
Welcome to the strictest and most opinionated python linter ever.
wemake-python-styleguide
is actually a flake8 plugin with some other plugins as dependencies.Quickstart
You will also need to create a
setup.cfg
file with the configuration.We highly recommend to also use:
Running
This app is still just good old
flake8
And it won't change your existing workflow.See "Usage" section in the docs for examples and integrations.
We also support Github Actions as first class-citizens Try it out!
What we are about
The ultimate goal of this project is to make all people write exactly the same
python
code.I'm going to give this a try! Thanks for sharing.
This looks really nice.
Great Post. I really loved it. I would add Masonite which is a great framework and can be an alternative to Django If you quickly need to develop a complex app. 😁
An article:
masonitecasts.com/articles/5-reaso...
Are missing a few libraries for testing in particular: freezegun (to travel in time), vcrpy (to fake the replay of "cassetes" = http requests), and factory_boy (to create tons of objects in setup of your tests) etc...
I heard of factory_boy but had not heard about others
Good post, maybe 1 more for the list... 😜
Faster Than Requests with MultiThread Web Scraper:
dev.to/juancarlospaco/faster-than-...
Hahahaha shall try it out
httpx is emerging as a solid alternative to requests with http2 and async support
Thanks for sharing this Max!
No problem I hope you like it.