PyPI vs Warehouse, the Next-Generation Python Package Repository

Real Python · Intermediate ·🎯 Management & AI-Era Leadership ·9y ago
► Free 5-day class on Python Dependency Management: https://dbader.org/python-dependency-pitfalls In this video we'll compare the PyPI package repository with its successor called "Warehouse." Warehouse is a next generation Python Package Repository designed to replace the legacy code base that currently powers PyPI. Warehouse is open-source and developed publicly at https://github.com/pypa/warehouse. Compared to the current PyPI website, Warehouse brings a number of usability improvements, a more modern look, improved search and a host of other features. Watch the video to learn how PyPI and Warehouse compare and how you can access Warehouse today. To see how to go from “writing scripts” to “building applications” with Python and master the tools of the trade for Dependency Management check out my in-depth video course for Python developers at the link below: https://dbader.org/products/managing-python-dependencies/ You'll master the Pip package manager, learn how to work with Requirements Files, Virtualenv & discover how to pick quality Python libraries. ► Get the full course: https://dbader.org/products/managing-python-dependencies/ ► Free 5-day class on Python Dependency Management: https://dbader.org/python-dependency-pitfalls * * * ► Subscribe to this channel: https://dbader.org/youtube/ ► Weekly Tips for Python Developers: https://dbader.org/newsletter ► Python Articles & Tutorials: https://dbader.org/newsletter

What You'll Learn

The video compares PyPI, the official Python package repository, with its successor Warehouse, a next-generation Python Package Repository designed to replace the legacy code base of PyPI. It highlights the similarities and differences between the two, including the user interface and search functionality.

Full Transcript

you just saw the pipe i package repository and while pi pi is the official package repository for python right now it is about to get superseded by warehouse which is going to be its successor so let's talk a little bit about warehouse and how this transition is going to go so warehouse is going to replace pi PI eventually but right now warehouse is only running in a public beta testing mode the idea with transitioning pi PI to warehouse is that ideally you wouldn't have to worry about the transition at all you would just use your pip commands as you did before but instead of downloading files from pi PI they would actually find and download packages from warehouse now let's take a quick look at warehouse like I said warehouse is available for a public beta access right now and you can find it at pi pi org so let's take a look ok so let's take a look at a warehouse pi pi successor so we get this banner here that tells us this is a beta version or a pre-production version of warehouse and eventually that warning is going to go away as warehouse takes over and you can already see here the website looks a little bit more friendly than the classic pi PI but in terms of functionality it is very very similar so again I'm going to just search for requests here and in this time you can see that the search results are actually a little bit better so they look a lot nicer and they seem to be more relevant so in this case warehouse seems to know that hey there is a package called request and it is the most popular one so it actually number one search result here so let's take a look again you get a mixture off the readme or the description for the package and in a bunch of metadata and it's just presented to you in a much more friendly way and there's also this little hint on how you would go about installing this package for example which is nice and it looks like they also got the image formatting issue under control so now all the package metadata lives on the left here so again you pretty much have the same categories and the same information here and then when you scroll further down we're back at the changelog and stuff like that so all the information is still in here it's just presented in a different way so warehouse in PI PIR really similar but warehouse is just a more modern iteration and a more friendly version of what PI P I used to be
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Real Python · Real Python · 55 of 60

1 A better Python REPL – bpython vs python interpreter
A better Python REPL – bpython vs python interpreter
Real Python
2 Introducing large-type.com – A Utility Website
Introducing large-type.com – A Utility Website
Real Python
3 Reading Hacker News Without Wasting Tons of Time
Reading Hacker News Without Wasting Tons of Time
Real Python
4 Forward References and Python 3 Type Hints
Forward References and Python 3 Type Hints
Real Python
5 Using Sublime Text as your Git Editor
Using Sublime Text as your Git Editor
Real Python
6 Python Code Linting and Auto-Complete for Sublime Text
Python Code Linting and Auto-Complete for Sublime Text
Real Python
7 Make your Python Code More Readable with Custom Exceptions
Make your Python Code More Readable with Custom Exceptions
Real Python
8 Write Better Tests with Sublime Text's Split Layout Feature
Write Better Tests with Sublime Text's Split Layout Feature
Real Python
9 How to Use Sublime Text from the Command Line
How to Use Sublime Text from the Command Line
Real Python
10 Rename Variables with Multiple Selection in Sublime Text
Rename Variables with Multiple Selection in Sublime Text
Real Python
11 Sublime Text Settings for Writing PEP 8 Python
Sublime Text Settings for Writing PEP 8 Python
Real Python
12 Write Cleaner Python with Sublime Text's Indent Guides
Write Cleaner Python with Sublime Text's Indent Guides
Real Python
13 Sublime Text Whitespace Settings for Python Development
Sublime Text Whitespace Settings for Python Development
Real Python
14 Function Argument Unpacking in Python
Function Argument Unpacking in Python
Real Python
15 Python Code Review: Debugging and Refactoring "Conway's Game of Life" +  Automated Tests
Python Code Review: Debugging and Refactoring "Conway's Game of Life" + Automated Tests
Real Python
16 Using "get()" to Return a Default Value from a Python Dict
Using "get()" to Return a Default Value from a Python Dict
Real Python
17 A Python Shorthand for Swapping Two Variables
A Python Shorthand for Swapping Two Variables
Real Python
18 Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Real Python
19 Click & Jump to Test Failures from the Command Line (iTerm2)
Click & Jump to Test Failures from the Command Line (iTerm2)
Real Python
20 Setting up Sublime Text for Python Developers
Setting up Sublime Text for Python Developers
Real Python
21 Sublime Text + Python Guide Overview
Sublime Text + Python Guide Overview
Real Python
22 Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Real Python
23 Type-Checking Python Programs With Type Hints and mypy
Type-Checking Python Programs With Type Hints and mypy
Real Python
24 A Shorthand for Merging Dictionaries in Python 3.5+
A Shorthand for Merging Dictionaries in Python 3.5+
Real Python
25 Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Real Python
26 My Python Code Looks Ugly and Confusing – Help!
My Python Code Looks Ugly and Confusing – Help!
Real Python
27 Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Real Python
28 Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Real Python
29 Programmer Portfolio – Example and Walkthrough
Programmer Portfolio – Example and Walkthrough
Real Python
30 How to Get Your 1st Speaking Gig at a Tech Conference
How to Get Your 1st Speaking Gig at a Tech Conference
Real Python
31 How to Build Your Public Speaking Skills as a Developer
How to Build Your Public Speaking Skills as a Developer
Real Python
32 The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
Real Python
33 Setting up Sublime Text for Python Developers – Lesson #1
Setting up Sublime Text for Python Developers – Lesson #1
Real Python
34 Cool New Features in Python 3.6
Cool New Features in Python 3.6
Real Python
35 "is" vs "==" in Python – What's the Difference? (And When to Use Each)
"is" vs "==" in Python – What's the Difference? (And When to Use Each)
Real Python
36 Emulating switch/case Statements in Python with Dictionaries
Emulating switch/case Statements in Python with Dictionaries
Real Python
37 Python Function Argument Unpacking Tutorial (* and ** Operators)
Python Function Argument Unpacking Tutorial (* and ** Operators)
Real Python
38 What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
Real Python
39 A Crazy Python Dictionary Expression ?!
A Crazy Python Dictionary Expression ?!
Real Python
40 String Conversion in Python: When to Use __repr__ vs __str__
String Conversion in Python: When to Use __repr__ vs __str__
Real Python
41 Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Real Python
42 Optional Arguments in Python With *args and **kwargs
Optional Arguments in Python With *args and **kwargs
Real Python
43 Python Context Managers and the "with" Statement (__enter__ & __exit__)
Python Context Managers and the "with" Statement (__enter__ & __exit__)
Real Python
44 Installing Python Packages with pip and virtualenv / venv
Installing Python Packages with pip and virtualenv / venv
Real Python
45 "For Each" Loops in Python with enumerate() and range()
"For Each" Loops in Python with enumerate() and range()
Real Python
46 Python Code Review: LibreOffice Automation and the Python Standard Library
Python Code Review: LibreOffice Automation and the Python Standard Library
Real Python
47 Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Real Python
48 Python Tutorial: List Comprehensions Step-By-Step
Python Tutorial: List Comprehensions Step-By-Step
Real Python
49 Leveraging Python's Implicit "return None" Statements
Leveraging Python's Implicit "return None" Statements
Real Python
50 What's the meaning of underscores (_ & __) in Python variable names?
What's the meaning of underscores (_ & __) in Python variable names?
Real Python
51 Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Real Python
52 Writing automated tests for Python command-line apps and scripts
Writing automated tests for Python command-line apps and scripts
Real Python
53 How to find great Python packages on PyPI, the Python Package Repository
How to find great Python packages on PyPI, the Python Package Repository
Real Python
54 Immutable vs Mutable Objects in Python
Immutable vs Mutable Objects in Python
Real Python
PyPI vs Warehouse, the Next-Generation Python Package Repository
PyPI vs Warehouse, the Next-Generation Python Package Repository
Real Python
56 pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
Real Python
57 My Experience at PyCon 2017 in Portland
My Experience at PyCon 2017 in Portland
Real Python
58 Pylint Tutorial – How to Write Clean Python
Pylint Tutorial – How to Write Clean Python
Real Python
59 "Reverse a List in Python" Tutorial: Three Methods & How-to Demos
"Reverse a List in Python" Tutorial: Three Methods & How-to Demos
Real Python
60 Python Refactoring: "while True" Infinite Loops & The "input" Function
Python Refactoring: "while True" Infinite Loops & The "input" Function
Real Python

The video introduces Warehouse, the next-generation Python Package Repository, and compares it with PyPI. It shows how to use Warehouse for package management and highlights its improved user interface and search functionality.

Key Takeaways
  1. Access Warehouse at pypi.org
  2. Search for packages on Warehouse
  3. Install packages using pip
  4. View package metadata and README
  5. Explore the changelog and other package information
💡 Warehouse is designed to replace PyPI and offers a more modern and user-friendly interface for package management.
Up next
AI and ERP: Hype vs. Reality
Digital Transformation with Eric Kimberling
Watch →