bpo-33503: Fix the broken pypi link in the source and the documentation (GH-6814)

diff --git a/Doc/howto/curses.rst b/Doc/howto/curses.rst
index 19d65d6..cc4b478 100644
--- a/Doc/howto/curses.rst
+++ b/Doc/howto/curses.rst
@@ -41,7 +41,7 @@
 need to be sent to the terminal to produce the right output.  curses
 doesn't provide many user-interface concepts such as buttons, checkboxes,
 or dialogs; if you need such features, consider a user interface library such as
-`Urwid <https://pypi.python.org/pypi/urwid/>`_.
+`Urwid <https://pypi.org/project/urwid/>`_.
 
 The curses library was originally written for BSD Unix; the later System V
 versions of Unix from AT&T added many enhancements and new functions. BSD curses
@@ -55,7 +55,7 @@
 
 The Windows version of Python doesn't include the :mod:`curses`
 module.  A ported version called `UniCurses
-<https://pypi.python.org/pypi/UniCurses>`_ is available.  You could
+<https://pypi.org/project/UniCurses>`_ is available.  You could
 also try `the Console module <http://effbot.org/zone/console-index.htm>`_
 written by Fredrik Lundh, which doesn't
 use the same API as curses but provides cursor-addressable text output
@@ -432,7 +432,7 @@
 
 The C curses library offers only very simple input mechanisms. Python's
 :mod:`curses` module adds a basic text-input widget.  (Other libraries
-such as `Urwid <https://pypi.python.org/pypi/urwid/>`_ have more extensive
+such as `Urwid <https://pypi.org/project/urwid/>`_ have more extensive
 collections of widgets.)
 
 There are two methods for getting input from a window: