Skip to content

Introduction

When you add a package to your Python project, you are choosing to execute code written by someone else on your machine. This is the foundation of modern software development, but it also carries inherent risks. A malicious or compromised package could steal data, damage your system, or create a backdoor into your application.

Deciding which packages are safe to use involves navigating a complex security landscape. While this guide won't cover every possible risk, it provides a practical mental model for evaluating packages and explains the specific security features supported by PyPI.

Topics covered by this guide