Latest News: The book is OUT! But this site isn't quite finished yet. I know, I need to type faster.

Hands-On Application Development with PyCharm

Build applications like a pro with the ultimate Python development tool

Second Edition

In the quest to develop robust, professional-grade software with Python and meet tight deadlines. It's crucial to have the best tools at your disposal. In this second edition of Hands-On Application Development with PyCharm, you'll learn tips and tricks to work at a speed and proficiency previously reserved only for elite developers.

To that end, this book will introduce you to PyCharm, the premiere professional integrated development environment (IDE) for Python programming. This book comprehensively covers topics randing from installation and customization to web development, database management and data analysis pipeline development helping you become proficient in diverse domains of Python development.

What you'll learn

Python Development

PyCharm is the most powerful Python IDE available. This book gives you the grand tour!

Web App Development

The book covers web development in HTML, JavaScript, CSS, Flask, Django and FastAPI.


Data Science

Create data processing pipelines and utilize cutting edge data science tools like IPython and Jupyter Notebooks.


Database Tools

Stop switching tools! The IDE allows you to develop relational databases with ease.


Client Side Development

Develop UI/UX with classic HTML and modern JS frameworks like React.


Git and VCS Integration

Learn to use PyCharm's GUI for Git and GitHub.



The book is divided into five parts:

Part 1: The Basics of PyCharm

This part includes the first two chapters of the book, which are mainly concerned with introducing readers to the idea of an Integrated Development Environment (IDE) as well as the details of PyCharm. This section discusses various comparisons between PyCharm and its notable competitors. We also compare the professional and community (free) editions of PyCharm.

The first chapter presents an introduction to PyCharm, the most popular and capable IDE for Python development. We won’t be overly technical in this chapter. We’ll define the differences between IDEs and other, competing tools while making the case that PyCharm surpasses them all.

The second chapter details the installation of PyCharm and the JetBrains Toolbox App which allows you to install and manage your PyCharm installation, as well as handle updates.

Part 2: Improving your Productivity

This part begins with Chapter 3 where we learn to setup and customize our interpreters and virtual environments. In this section, we will be discussing the features and functionalities of PyCharm that make it one of the best, and definitely the most popular development environments for Python development. From intelligent coding assistance to syntax highlighting and suggestions, PyCharm offers a convenient way of following beset programming practice in real time as you work on your projects. Furthermore, the tedious management tasks of organizing packages, interpreters, and virtual environments are also taken care of in a straightforward manner.

Python development, or any other language, involves not only writing code, but also managing tests, performance profiling, revision management, and debugging. These tasks are complex, and the complexity is compounded if you have to switch tools for each task. If you are new to development, the complexity leads to intimidation, shortcuts, and poor practices owing to a poor understanding of these disjointed tools.

PyCharm resolves this by presenting an integrated set of tools which displaces the need to switch tools, and often provides an intuitive graphical interface for complicated tasks that would otherwise be relegated to the operating system command line.

Full-Stack Web Development in PyCharm.

This part begins with Chapter 7, and marks our departure from PyCharm features that are available in the Community Edition (i.e. the free version) of the tool. From this point on, we’ll be talking exclusively about the professional edition of PyCharm.

Many people don’t realize that PyCharm is not only a great Python IDE but it also shines as a fully featured IDE for HTML, CSS, and JavaScript both within and outside of the browser. This is owing to PyCharm professional’s inclusion of the JetBrains WebStorm IDE which is implemented as a bundled plugin. To sweeten the deal, you also get the full functionality offered by another IDE, DataGrip, which provides development speciality for relational and non-relational (i.e. NoSQL) databases.

This section, then, will provide you with a complete and comprehensive understanding of full-stack development in PyCharm. We’ll start with some front-end skills and discuss the features relevant to developing with HTML, CSS, and browser-side JavaScript. We’ll even briefly explore generating a project in React.

Once we leave the front-end, we’ll explore the most popular back-end frameworks in Python including Flask, FastAPI, Django, and conclude with a brief look at Pyramid. We’ll end the chapter at the bottom of the stack by covering database development.

Part 4:

Data science is a somewhat broad field encompassing not only traditional scientists, but also business and marketing professionals, financial analysts, and in my personal case IT analysis. This audience is steadily growing as more applications emerge for the use of massive amounts of data are gathered every day on virtually every topic and area of interest imaginable.

PyCharm allows for some very simple but powerful integrations which challenge your idea of what an IDE can do. Like an Aikido master, you be able to to bend and flow with data science workflows that are very different from traditional programming. The same tool you might love for traditional development will provide you with a focused ability to visually explore data and transform it from chaotic curiosity into actionable intelligence.

Part 5: Plugins and Future Developments

This section begins at Chapter 15 and covers some of the best ways to customize and extend your development environment. You’ll learn that most new features in any JetBrains IDEs are often implemented through its rich plugin ecosystem. We’ll look at remote development and collaborative development which are new and poignant topics in a post-pandemic landscape which tends towards eliminating propinquity as a deciding factor on where and with whom you may work. The last chapter will present some future developments that are on the horizon with PyCharm.

Meet the Authors

An absolutely striking photograph of the very attractive author of this book.

Bruce M. Van Horn

Author & Professional Software Engineer

Quan Ngyuen

Author and Data Scientist