What Can I Build With Python?

What Can I Do With Python?

by Leodanis Pozo Ramos Publication date Oct 22, 2025 Reading time estimate 43m basics career

If you’re new to programming and considering Python, knowing what you can do with it can be motivating. Python is used in many fields, including web and desktop development, data science, artificial intelligence (AI), automation, robotics, and more.

In this tutorial, you’ll explore tools, libraries, and project ideas that showcase Python’s versatility across these areas. By the end, you’ll know where to go next with your Python skills.

By the end of this tutorial, you’ll understand that:

  • You can build web applications with frameworks like Django, Flask, and FastAPI, each suitable for different scales and use cases.
  • Python supports CLI, TUI, and GUI development, giving you ways to create interactive tools from the terminal to full desktop applications.
  • In data science and AI, libraries such as NumPy, pandas, scikit-learn, PyTorch, and Transformers power analysis, visualization, and machine learning.
  • You can use Python for automation and DevOps, managing workflows, packaging, testing, and even cybersecurity tasks.
  • Python also extends into embedded systems and robotics, with projects on Raspberry Pi, MicroPython, CircuitPython, and ROS.

Here, you’ll find Python’s most exciting use cases, with links to projects and resources that will help you start learning the language and applying your new skills right away.

Preview of the Python Cheat Sheet PDF
Get Your Free Python Cheat Sheet (PDF): Learn the basics, fast.

Take the Quiz: Test your knowledge with our interactive “What Can I Do With Python?” quiz. You’ll receive a score upon completion to help you track your learning progress:


Interactive Quiz

What Can I Do With Python?

Test your knowledge of what Python can and can't do, from web and GUI apps to data science, CLI tools, and embedded systems.

Python in the Real World

Python is a high-level, multi-paradigm, and general-purpose programming language. As this definition implies, you can use Python for several purposes, from web development to data science, machine learning, artificial intelligence (AI), robotics, and more. Python’s real-world use cases are limitless.

People have successfully built many cool projects with Python. If you take a quick look at world-class companies like Google, YouTube, Meta (Facebook, Instagram), Spotify, Netflix, and others, you’ll note that they use Python to support their services and products.

Google has used Python from the start, and it has established itself as one of the tech giant’s main server-side languages. Guido van Rossum, Python’s creator, worked there for several years, overseeing the language’s development.

Instagram initially chose Python for its simplicity and the powerful Django framework, famously operating one of the largest Django deployments in the world. The platform continues to leverage Python, with Django powering its frontend servers to manage massive growth.

Spotify uses the language for data analysis and backend services. According to its team, Python’s ease of use leads to a lightning-fast development pipeline. Spotify performs a ton of analysis to give recommendations to its users, so it needs a productive tool that works well. Python to the rescue!

You’ll also find that Python has been vital for science and space exploration, with many exciting applications in robotics and hardware control. In this tutorial, you’ll explore the wide range of fields and areas where you can apply your Python skills.

Build Practical Software Products and Cool Projects

Python’s ecosystem provides a rich set of frameworks, tools, and libraries that allow you to build almost any kind of application—from web to desktop and mobile. You can even use Python to create video games.

Web Development

Web application development with Python is in high demand. In this field, you’ll find several well-established Python frameworks, libraries, and tools for developing cool web applications, APIs, and more.

Here are some of the most popular Python web frameworks:

Framework Description
Django A high-level framework that encourages rapid web application development with a clean and pragmatic design. It allows you to focus on writing your applications without reinventing the wheel.
FastAPI A fast and performant web framework for building web APIs. It’s built on top of modern Python type hinting features and enables asynchronous programming.
Flask A lightweight framework primarily focused on creating WSGI web applications. It allows you to start quickly and scale up to complex applications if needed.
Tornado A web framework and asynchronous networking library. It uses non-blocking network I/O, enabling you to write applications that can scale to tens of thousands of open connections.

To get started with web development in Python, check out the following resources:

If you want some practical project ideas for applying your web development skills right away, check out these tutorials:

With so many Python-related career opportunities out there, it’s a great idea to have a personal portfolio. Feel free to give some of these projects a try. You don’t need to know anything about Django to get started with these step-by-step tutorials. They’re perfect if you’re itching to get hands-on with web development in Python.

CLI Development

Another field in which Python shines is in command-line interface (CLI) application development. CLI applications are everywhere and allow you to automate repetitive and boring tasks in your daily work by creating small or large tools for your command line.

In Python, you’ll find several CLI libraries and frameworks that can simplify your work and help you build command-line tools quickly:

Library Description
argparse A standard-library module for creating command-line interfaces. It lets you declare positional and optional arguments, parses the command line, and automatically generates help, usage text, and error messages for invalid input.
Click A third-party library for creating CLIs with Python decorators. It provides command groups, options and arguments, type conversion, prompts, environment variable support, and automatic help output. Designed to be configurable with sensible defaults.
Typer A CLI framework built on Click that uses type hints, with automatic help messages and autocompletion for shells.

To get started with CLI development, check out the following resources:

Additionally, if you want to jump into building a CLI project, then you can start with the following:

Creating applications with a user-friendly and intuitive command-line interface is a valuable skill for any Python developer.

TUI Development

Text-based user interfaces (TUIs) let you build interactive apps that run in the terminal. They’re fast to start, keyboard-friendly, and great for dashboards, AI agents, and remote servers. Modern Python libraries make TUI development feel friendly by providing layout systems, widgets, color, styles, and even mouse support.

Here are popular Python options for building TUI apps:

Library Description
Rich A powerful tool for terminal output. Supports colors, emojis, tables, progress bars, Markdown, syntax highlighting, tracebacks, and more.
Textual A modern TUI framework that allows you to build full apps with widgets, reactive layouts, and styles. It runs in the terminal or a web browser using the same code.
prompt_toolkit A third-party library providing building blocks for interactive shells and full-screen terminal applications. Supports multiline editing, auto suggestions, completion, Emacs and Vi key bindings, mouse interaction, and syntax highlighting.
asciimatics A cross-platform TUI, animation, and effects engine that allows you to create ASCII animations on any platform.

To get started with TUI development, check out the following resources:

When you’re ready for practical projects, you can explore these tutorials:

In this series of tutorials, you’ll create fast, polished TUI apps that feel like lightweight desktop apps and run right in your terminal.

GUI Development

Creating traditional graphical user interface (GUI) applications for desktop environments is also an attractive option in Python. If you’re interested in building this kind of application, then Python has you covered with a wide range of GUI libraries, frameworks, and toolkits to choose from:

Library Description
Tkinter A standard-library module that provides a Python interface to the Tk GUI toolkit. It lets you build cross-platform desktop GUI applications and is available on most Unix platforms and Windows systems.
PyQt A set of Python bindings for the Qt application framework. It includes classes for building GUI applications and provides classes for networking, threads, SQL databases, and more. Supports the Windows, Linux, and macOS platforms.
Qt for Python (PySide6) A project that provides the official set of Python bindings (PySide6) for the Qt framework.
Kivy An open-source, cross-platform Python framework for rapid development of touch-friendly GUI applications such as multi-touch applications. It runs on Linux, Windows, macOS, Android, iOS, and Raspberry Pi.
wxPython Python bindings to the wxWidgets C++ toolkit for building cross-platform desktop applications from a single codebase (Windows, macOS, Linux). It uses each platform’s native APIs.

A quick way to start building your GUI applications is to use tkinter. This module is included in the Python standard library. Practice using tkinter and watch your vision materialize on the screen. Once you’ve got your feet wet, you can branch out and start working with other Python GUI toolkits.

To learn more about GUI programming with Python, check out the resources below:

If you want to start right away by creating a real-world GUI application, then you can build a calculator using PyQt. Completing this calculator project will help you grasp the fundamentals of this full-featured GUI framework, so you can start building impressive apps for your desktop immediately.

You can also work through other practical projects to help you out with your GUI programming journey. Take a look at the following resources:

These projects will guide you through the process of building GUI applications with PyQt and other Python GUI frameworks. They’ll also help you integrate a wide variety of other skills so you can create fully functional, real-world applications.

Game Development

Creating computer games is a great way to learn how to program, not just in Python but in any other programming language. To develop games, you’ll need to use variables, loops, conditional statements, functions, object-oriented programming, and more. Game development is an excellent way to synthesize multiple skills and interests, such as design, music, and programming.

Computer games have played an important role in programming. Many people get into programming because they love games and want to re-create their favorite games or build their own. Developing computer games can be a fun and rewarding experience, allowing you to enjoy the thrill of playing the game you just created.

You’ll find several tools, libraries, and frameworks for creating games quickly in the Python ecosystem. Here’s a small sample of them:

Library Description
Arcade A Python library for creating 2D video games. It’s perfect for beginners because you don’t need to learn a complex game framework to start creating your own games.
Pygame A set of Python modules designed for writing video games. It adds functionality on top of the SDL library, enabling you to create full-featured games and multimedia programs. The library is highly portable and runs on several platforms and operating systems.
pyglet A Python library for creating games and other visually rich applications on Windows, macOS, and Linux. It supports windowing, user interface event handling, OpenGL rendering, image loading, as well as video and audio playback.

To get started with game programming, check out the following resources:

You can use Python to create arcade games, adventure games, and puzzle games that you can deploy within a few hours. You can also code classic games, such as hangman, tic-tac-toe, rock paper scissors, and more.

If you want to dive into building your first game, then you can start with some of the following:

With these resources, you’ll be able to start creating your own games with Python. You’ll start with command-line games, then move on to GUI-based games, and finally explore games that take advantage of libraries specifically designed for game development.

Dive Into Data Science and Artificial Intelligence

Data science is a field that involves cleaning, preparing, and analyzing data to extract knowledge from it. Data science combines statistics, mathematics, programming, and problem-solving skills to extract useful information from data.

Python plays a fundamental role in the data science and math fields. The language has become popular among scientists because of its readability, productivity, flexibility, and portability. The Python ecosystem around science has grown immensely. You’ll find mature Python solutions in almost every major field in math and science.

Python includes tools for machine learning (ML), artificial intelligence (AI), scientific computing, data analysis, and data visualization. The language also provides efficient tools for collecting, mining, and manipulating data.

Machine Learning

Machine learning can be the first step for someone interested in artificial intelligence. Machine learning studies algorithms that learn through experience. These algorithms build models based on samples of training data to make predictions and decisions.

Machine learning can be an intimidating field to get started with because the space is fast-moving and ever-changing. Here’s a summary of some of the most popular tools for doing machine learning with Python:

Library Description
Keras An industrial-strength deep learning framework with an API designed for humans. It allows you to run new experiments and try more ideas quickly, and follows best practices for reducing cognitive load.
NLTK A platform for building Python programs to work with human language data. It provides libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning.
PyTorch An open-source machine learning framework that accelerates the path from research prototyping to production deployment.
scikit-learn An open-source machine learning library that supports supervised and unsupervised learning. An efficient tool for predictive data analysis that’s accessible and reusable in various contexts.
TensorFlow An end-to-end, open-source platform for machine learning featuring a comprehensive ecosystem of tools, libraries, and community resources for building and deploying ML-powered applications.

To get started with machine learning, check out the Python Machine Learning Tutorials.

Generative AI

Generative AI systems can create new content, including text, images, audio, video, and code, by learning patterns from data and producing novel outputs from natural language prompts. In practice, Python is the glue language that ties together language model APIs, orchestration frameworks, vector databases, and deployment stacks. This is why many tools in this field ship with first-class Python support.

Here are some of the most popular Python libraries and SDKs for building generative AI applications:

Library/SDK Description
Transformers A Hugging Face library with a unified API for loading, fine-tuning, and running large language models (LLMs) for text generation, chat, summarization, translation, and more.
Diffusers A Hugging Face library providing diffusion-model pipelines for text-to-image, image-to-image, inpainting, and emerging audio and video.
OpenAI Python A Python SDK for the OpenAI API that supports chat, text generation, images, audio, and embeddings, with synchronous and asynchronous clients and streaming.
LangChain A framework for composing LLM apps using prompts, tools, chains, agents, and retrieval.
LlamaIndex A data framework for building LLM-powered agents over your data.

To get started with generative AI in Python, begin by exploring Hugging Face Transformers: Leverage Open-Source AI in Python or build a practical real-world project in Build an LLM RAG Chatbot With LangChain.

Vibe Coding and AI Agents

Two fast-moving trends are reshaping how Python developers work today:

  • Vibe coding: A coding philosophy where you describe goals in natural language and lean on AI coding tools and agents to quickly iterate from idea to working code. It’s spreading in teams because it accelerates prototyping and boosts productivity. However, it still needs code review, testing, and guardrails.

  • AI agent creation: A branch of AI engineering that goes beyond prompting LLMs to build stateful tools (agents) capable of planning, executing actions, leveraging external tools, and coordinating work.

Here are modern tools you can use in Python to start vibe coding and create your own AI agents:

Tool Description
GitHub Copilot Chat An AI coding assistant with a coding agent mode that can take tasks, such as fixing bugs or adding features, run them in a sandbox, and open a PR.
Cursor A code editor with integrated AI chat, agents, and natural-language coding. It’s built around AI-coding workflows.
Codex CLI A coding agent that runs in your terminal (macOS and Linux), letting you interact with your local codebase using natural language prompts. It can perform several tasks like editing files, running commands, writing code and documentation, and debugging code.
Gemini CLI An AI-powered command-line agent designed to embed Gemini models in developers’ terminals. It supports file manipulation, prompt-based tool execution, and integrates with external tools.
Claude Code An AI-powered agentic CLI tool that runs in the terminal and integrates with your IDE to turn natural language instructions into repository-aware code generation, test runs, and pull requests.
LangGraph A framework for stateful, cyclic agent workflows and multi-actor graphs. It’s great for building reliable, long-running agents.
CrewAI An open-source library for multi-agent orchestration with roles, tools, memory, guardrails, and observability.

To get started with AI-assisted coding and AI agent creation, check out the following resources:

Working through these resources helps you learn Python efficiently and with real-world focus. The official documentation for these libraries and tools includes up-to-date tutorials and hands-on projects so you can apply what you learn right away.

Scientific Computing

Another field in which Python plays a significant role is scientific computing. Scientists use advanced computing capabilities available through supercomputers, clusters of computers, and even desktop and laptop computers to understand and solve complex problems.

Here are some of the libraries you can use for scientific computing in Python:

Library Description
NumPy A fundamental package for scientific computing with Python. It provides a high-level syntax and offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more.
SciPy A Python-based collection of open-source software for mathematics, science, and engineering.
SimPy A process-based, discrete-event simulation framework based on Python that helps you simulate real-world systems like airports, customer service, highways, and more.

To get started with scientific computing, check out the following resources:

These libraries and tools are fundamental to data science in Python. Some are core components of higher-level libraries for machine learning, data analysis, and other tasks.