Hands-On Application Development with PyCharm

Book description

A definitive guide to PyCharm to help you build business-oriented Python applications ranging from modern web development to data science

Key Features

  • Learn basic to advanced PyCharm concepts to improve efficiency of your Python projects
  • Work through practical examples that focus on efficient application development with PyCharm
  • Explore advanced features in PyCharm such as code automation, version control, and GUI debugging

Book Description

JetBrain's PyCharm is the most popular Integrated Development Environment (IDE) used by the Python community thanks to its numerous features that facilitate faster, more accurate, and more productive programming practices. However, the abundance of options and customizations can make PyCharm seem quite intimidating.

Hands-on Application Development with PyCharm starts with PyCharm's installation and configuration process, and systematically takes you through a number of its powerful features that can greatly improve your productivity. You'll explore code automation, version control, graphical debugging/testing, management of virtual environments, and much more. Finally, you'll delve into specific PyCharm features that support web development and data science, two of the fastest growing applications in Python programming. These include the integration of the Django framework as well as the extensive support for IPython and Jupyter Notebook.

By the end of this PyCharm book, you will have gained extensive knowledge of the tool and be able to implement its features and make the most of its support for your projects.

What you will learn

  • Explore PyCharm functionalities and what makes it stand out from other Python IDEs
  • Set up, configure, and customize your Python projects in PyCharm
  • Understand how PyCharm integrates with Django for web development
  • Discover PyCharm's capabilities in database management and data visualization
  • Perform code automation, GUI testing, and version control in PyCharm
  • Integrate interactive Python tools such as Jupyter Notebooks for building virtual environments

Who this book is for

If you're a beginner or an expert Python user looking to improve your productivity using one of the best Python IDEs, this book is for you. Basic knowledge of Python programming language is expected.

Downloading the example code for this ebook: You can download the example code files for this ebook on GitHub at the following link: https://github.com/PacktPublishing/Hands-on-Application-Development-with-PyCharm. If you require support please email: customercare@packt.com

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Hands-On Application Development with PyCharm
  3. Dedication
  4. About Packt
    1. Why subscribe?
  5. Contributors
    1. About the author
    2. About the reviewers
    3. Packt is searching for authors like you
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Code in Action
      4. Conventions used
    4. Get in touch
      1. Reviews
  7. Section 1: The Basics of PyCharm
  8. Introduction to PyCharm - the Most Popular IDE for Python
    1. The background of PyCharm
      1. The recent rise of Python
      2. The philosophy of IDEs
      3. PyCharm as a Python IDE
    2. PyCharm – an essential part of the Python community
    3. Differentiating PyCharm from other editors/IDEs
    4. Understanding the Professional and Community editions
      1. Prices and licensing
      2. Further support in the Professional Edition
      3. Choosing a PyCharm edition that fits your profession
    5. Summary
    6. Questions
    7. Further reading
  9. Installing and Configuring PyCharm
    1. Technical requirements
    2. Downloading, installing, and registration
      1. System requirements
      2. Downloading
      3. Installing
      4. License activation
    3. Setting up PyCharm
      1. General preferences
        1. What is included in the settings
        2. How to do it in PyCharm
      2. Editor
        1. What is included in the editor
        2. How to do it in PyCharm
      3. Keymap
        1. The background of keymap
        2. How to do it in PyCharm
      4. Shortcut customizations
    4. Getting started with PyCharm projects
      1. Creating a project
      2. Interacting with a PyCharm project
    5. Getting the source code from GitHub
    6. Summary
    7. Questions
    8. Further reading
  10. Section 2: Improving Your Productivity
  11. Customizing Interpreters and Virtual Environments
    1. Technical requirements
    2. Customizing the PyCharm workspace
      1. Inside a project window
      2. Navigating within a project
      3. Panels in a project window
      4. Installing packages
      5. Moving panels within a project window
    3. Creating a PyCharm project – revisited
      1. Choosing a project type
      2. Project-specific boilerplate code
      3. Considerations about Community PyCharm
    4. Virtual environments and interpreters
      1. Understanding the concepts
        1. Python interpreters
        2. Virtual environments in Python
        3. Virtual environments and interpreters together
      2. Managing virtual environments and interpreters in PyCharm
      3. Configuring the interpreter for a created project
        1. Why does it matter?
        2. Options in PyCharm
    5. Importing an external project into PyCharm
    6. Summary
    7. Questions
    8. Further reading
  12. Editing and Formatting with Ease in PyCharm
    1. Technical requirements
    2. Code inspection
      1. Specifics of the code analyzer
      2. Code inspection in a PyCharm project
        1. Dead code
        2. Unused declarations
        3. Unresolved references
        4. PEP 8 style suggestions
    3. Customizable code completion support
      1. The case for code completion support
      2. How is code completion different in PyCharm?
        1. Basics versus smart code completion
        2. Postfix code completion
        3. Hippie completion
        4. Intentions
      3. Customizing your code completion engine
        1. Match case
        2. Sorting suggestions alphabetically
        3. Showing the documentation popup in [...] ms
        4. Parameter information
        5. Intentions
      4. Collecting runtime types
      5. Troubleshooting
        1. Indexing process
        2. Power save mode
        3. Out-of-scope files
    4. Refactoring
      1. What is refactoring?
      2. Refactoring in PyCharm
        1. Renaming
        2. Inline variable
        3. Extracting methods
        4. Conversion between method and function
        5. Exporting a function to another file
    5. A dynamic approach to documentation
      1. Docstrings – documentation for Python
      2. Creating documentation
      3. Viewing documentation
        1. Quick Documentation
        2. Quick Definition
    6. Summary
    7. Questions
    8. Further reading
  13. Version Control with Git in PyCharm
    1. Technical requirements
    2. Version control and Git essentials
      1. What does version control mean?
      2. Situations that require version control
    3. Git and GitHub
      1. Downloading Git and registering for GitHub
      2. Setting up a repository
      3. Add, commit, and push
      4. Fork, clone, and pull requests
      5. Branching and merging
      6. Ignoring files
    4. Version control in PyCharm
      1. Setting up a local repository
      2. The Version Control panel
      3. Add, commit, and push
      4. Branching and merging
      5. Ignoring files
      6. Version control diagrams
    5. Summary
    6. Questions
    7. Further reading
  14. Seamless Testing, Debugging, and Profiling
    1. Technical requirements
    2. Testing
      1. Unit testing fundamentals
      2. Unit testing in Python
      3. Unit testing in PyCharm
        1. PyCharm's run arrows
        2. The Run panel in the context of unit testing
        3. Creating unit tests with PyCharm
        4. Tests for the Counter class
    3. Debugging
      1. Debugging fundamentals
      2. Debugging in PyCharm
        1. Starting a debugging session and the Debug panel
        2. Placing breakpoints
        3. Stepping functionalities
        4. Watches
        5. Evaluating expressions at all times
    4. Profiling
      1. Profiling fundamentals
      2. Profiling in PyCharm
    5. Summary
    6. Questions
    7. Further reading
  15. Section 3: Web Development in PyCharm
  16. Web Development with JavaScript, HTML, and CSS
    1. Technical requirements
    2. Introduction to JavaScript, HTML, and CSS
      1. Understanding the importance of HTML and CSS
        1. Writing our code with HTML
        2. Writing our code with CSS
      2. Understanding the importance of JavaScript
    3. Implementing web pages in PyCharm
      1. Using HTML and CSS in PyCharm
        1. Creating new HTML files
        2. Including external files in HTML code
        3. Viewing documentation
        4. Emmet
        5. Viewing HTML output in browsers
        6. Extracting HTML source code in PyCharm
      2. Using JavaScript in PyCharm
        1. Choosing the version for JavaScript
        2. Hints about parameters
        3. Debugging the code
        4. Live editing
        5. Specifying a framework for new applications
    4. Summary
    5. Questions
    6. Further reading
  17. Integrating Django in PyCharm
    1. Technical requirements
    2. An overview of Django
      1. Django and the idea of web frameworks
      2. What makes Django special?
        1. Django models
        2. Admin access in Django
        3. Django templates
        4. Jinja
      3. Django versus Flask
    3. Django in PyCharm
      1. Starting a Django project
      2. Structure of a Django project
      3. Initial configurations
      4. Running manage.py and launching the server
      5. Creating Django models
      6. Making migrations
      7. The admin interface
        1. Creating a superuser and logging in
        2. Connecting the admin interface to models
      8. Creating Django views
      9. Customizing the run/debug configuration
      10. Making templates
    4. Summary
    5. Questions
    6. Further reading
  18. Understanding Database Management with PyCharm
    1. Technical requirements
    2. Connecting to a data source
    3. Working with a database in PyCharm
      1. Working with SQL
        1. SQL fundamentals
        2. Using SQL in PyCharm
      2. The PyCharm table view
      3. Comparing and exporting query output
      4. Diagrams for databases
        1. Relational database
        2. Diagrams for database objects
        3. Diagrams for queries
    4. Summary
    5. Questions
    6. Further reading
  19. Building a Web Application in PyCharm
    1. Technical requirements
    2. Starting a web project in PyCharm
      1. Creating a Django project
      2. Creating a Django application and models
      3. Using the admin interface
      4. Working with the Database panel
      5. Making queries via Python code
      6. Creating Django's list views
      7. Creating Django's detail views
    3. Forms and emails
      1. Creating the interface for the share feature
      2. Configuring Django emails
    4. Deploying your web project
      1. Hosting services
        1. Amazon Web Services
        2. Google Cloud
        3. DigitalOcean
        4. Heroku
      2. Production-specific settings
    5. Summary
    6. Questions
    7. Further reading
  20. Section 4: Data Science with PyCharm
  21. Turning on Scientific Mode
    1. Technical requirements
    2. Starting a scientific project in PyCharm
      1. Creating a scientific project in PyCharm
      2. Setting up a scientific project
        1. The README.md file
        2. Installing packages
        3. Running the code
        4. Toggling Scientific Mode
    3. Understanding the advanced features of PyCharm's scientific projects
      1. The documentation viewer
      2. Using code cells in PyCharm
        1. Implementing PyCharm code cells
      3. Working with CSV data
        1. Using the CSV plugin
    4. Summary
    5. Questions
    6. Further reading
  22. Dynamic Data Viewing with SciView and Jupyter
    1. Technical requirements
    2. Data viewing made easy with PyCharm's SciView
      1. Viewing and working with plots
      2. Viewing and working with data
    3. Understanding IPython and magic commands
      1. Installing and setting up IPython
      2. Introducing IPython magic commands
    4. Leveraging Jupyter notebooks
      1. Understanding Jupyter basics
        1. The idea of iterative development
        2. Editing Jupyter notebooks
      2. Jupyter notebooks in PyCharm
    5. Summary
    6. Questions
    7. Further reading
  23. Building a Data Pipeline in PyCharm
    1. Technical requirements
    2. Working with datasets
      1. Starting with a question
      2. Collecting data
      3. Version control for datasets
    3. Data cleaning and pre-processing
      1. Reading in dataset
      2. Data cleaning
      3. One-hot encoding
      4. Problem-specific techniques
      5. Saving and viewing processed data
    4. Data analysis and insights
      1. Starting the notebook and reading in data
      2. Using charts and graphs
      3. Machine-learning-based insights
    5. Scripts versus notebooks in data science
    6. Summary
    7. Questions
    8. Further reading
  24. Section 5: Plugins and Conclusion
  25. More Possibilities with PyCharm Plugins
    1. Technical requirements
    2. Exploring PyCharm plugins
      1. Opening the plugin window
      2. Downloading and installing a plugin
      3. Updating and removing plugins
    3. Best plugins to use for your PyCharm projects
      1. Using Database Navigator
      2. Using LiveEdit
      3. Using the CSV Plugin
      4. Using Markdown
      5. Using String Manipulation
    4. Advanced plugin-related options
      1. Required plugins
      2. Installing plugins from disk
      3. Developing custom plugins
    5. Summary
    6. Questions
    7. Further reading
  26. Future Developments
    1. Technical requirements
    2. Miscellaneous topics in PyCharm
      1. Using remote Python interpreters
      2. Using macros
      3. File watchers
    3. Taking a step back
      1. Improving your productivity
      2. Web development with PyCharm
      3. Data science with PyCharm
    4. Moving forward with PyCharm
      1. Using official documentation
      2. Future updates and releases
      3. PyCharm – the Educational Edition
      4. Troubleshooting at a high level
    5. Summary
    6. Questions
    7. Further reading
  27. Assessments
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
    4. Chapter 4
    5. Chapter 5
    6. Chapter 6
    7. Chapter 7
    8. Chapter 8
    9. Chapter 9
    10. Chapter 10
    11. Chapter 11
    12. Chapter 12
    13. Chapter 13
    14. Chapter 14
    15. Chapter 15
  28. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Hands-On Application Development with PyCharm
  • Author(s): Quan Nguyen
  • Release date: September 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781789348262