CINXE.COM
Log in · PyPI
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="defaultLanguage" content="en"> <meta name="availableLanguages" content="en, es, fr, ja, pt_BR, uk, el, de, zh_Hans, zh_Hant, ru, he, eo"> <title>Log in · PyPI</title> <meta name="description" content="The Python Package Index (PyPI) is a repository of software for the Python programming language."> <link rel="stylesheet" href="/static/css/warehouse-ltr.7fd6e4e4.css"> <link rel="stylesheet" href="/static/css/fontawesome.da0464c1.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+3:400,400italic,600,600italic,700,700italic%7CSource+Code+Pro:500"> <noscript> <link rel="stylesheet" href="/static/css/noscript.0673c9ea.css"> </noscript> <link rel="icon" href="/static/images/favicon.35549fe8.ico" type="image/x-icon"> <link rel="alternate" type="application/rss+xml" title="RSS: 40 latest updates" href="/rss/updates.xml"> <link rel="alternate" type="application/rss+xml" title="RSS: 40 newest packages" href="/rss/packages.xml"> <meta property="og:url" content="https://pypi.org/account/login/?next=%2F%2F"> <meta property="og:site_name" content="PyPI"> <meta property="og:type" content="website"> <meta property="og:image" content="https://pypi.org/static/images/twitter.abaf4b19.webp"> <meta property="og:title" content="Log in"> <meta property="og:description" content="The Python Package Index (PyPI) is a repository of software for the Python programming language."> <link rel="search" type="application/opensearchdescription+xml" title="PyPI" href="/opensearch.xml"> <script async data-ga-id="UA-55961911-1" data-ga4-id="G-RW7D75DF8V" src="/static/js/warehouse.f780b8ef.js"> </script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-55961911-1"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-RW7D75DF8V"></script> <script defer src="https://www.fastly-insights.com/insights.js?k=6a52360a-f306-421e-8ed5-7417d0d4a4e9&dnt=true"></script> <script async src="https://media.ethicalads.io/media/client/v1.4.0/ethicalads.min.js" integrity="sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0= sha384-UcmsCqcNRSLW/dV3Lo1oCi2/VaurXbib6p4HyUEOeIa/4OpsrnucrugAefzVZJfI sha512-q4t1L4xEjGV2R4hzqCa41P8jrgFUS8xTb8rdNv4FGvw7FpydVj/kkxBJHOiaoxHa8olCcx1Slk9K+3sNbsM4ug==" crossorigin="anonymous" ></script> </head> <body data-controller="viewport-toggle"> <!-- Accessibility: this link should always be the first piece of content inside the body--> <a href="#content" class="skip-to-content">Skip to main content</a> <button type="button" class="button button--primary button--switch-to-mobile hidden" data-viewport-toggle-target="switchToMobile" data-action="viewport-toggle#switchToMobile"> Switch to mobile version </button> <div id="sticky-notifications" class="stick-to-top js-stick-to-top"> <!-- Add browser warning. Will show for ie9 and below --> <!--[if IE]> <div class="notification-bar notification-bar--warning" role="status"> <span class="notification-bar__icon"> <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <span class="sr-only">Warning</span> </span> <span class="notification-bar__message">You are using an unsupported browser, upgrade to a newer version.</span> </div> <![endif]--> <noscript> <div class="notification-bar notification-bar--warning" role="status"> <span class="notification-bar__icon"> <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <span class="sr-only">Warning</span> </span> <span class="notification-bar__message">Some features may not work without JavaScript. Please try enabling it if you encounter problems.</span> </div> </noscript> <div data-html-include="/_includes/notification-banners/"></div> </div> <div data-html-include="/_includes/flash-messages/"></div> <div data-html-include="/_includes/session-notifications/"></div> <header class="site-header "> <div class="site-container"> <div class="split-layout"> <div class="split-layout"> <div> <a class="site-header__logo" href="/"> <img alt="PyPI" src="/static/images/logo-small.8998e9d1.svg"> </a> </div> <form class="search-form search-form--primary" action="/search/" role="search"> <label for="search" class="sr-only">Search PyPI</label> <input id="search" class="search-form__search" type="text" name="q" placeholder="Search projects" value="" autocomplete="off" autocapitalize="off" spellcheck="false" data-controller="search-focus" data-action="keydown@window->search-focus#focusSearchField" data-search-focus-target="searchField"> <button type="submit" class="search-form__button"> <i class="fa fa-search" aria-hidden="true"></i> <span class="sr-only">Search</span> </button> </form> </div> <div data-html-include="/_includes/current-user-indicator/"> <div id="user-indicator" class="horizontal-menu horizontal-menu--light horizontal-menu--tall"> <nav class="horizontal-menu horizontal-menu--light horizontal-menu--tall hide-on-tablet" aria-label="Main navigation"> <ul> <li class="horizontal-menu__item"><a href="/help/" class="horizontal-menu__link">Help</a></li> <li class="horizontal-menu__item"><a href="/sponsors/" class="horizontal-menu__link">Sponsors</a></li> <li class="horizontal-menu__item"><a href="/account/login/" class="horizontal-menu__link">Log in</a></li> <li class="horizontal-menu__item"><a href="/account/register/" class="horizontal-menu__link">Register</a></li> </ul> </nav> <nav class="dropdown dropdown--on-menu hidden show-on-tablet" aria-label="Main navigation"> <button type="button" class="horizontal-menu__link dropdown__trigger" aria-haspopup="true" aria-expanded="false" aria-label="View menu"> Menu <span class="dropdown__trigger-caret"> <i class="fa fa-caret-down" aria-hidden="true"></i> </span> </button> <ul class="dropdown__content" aria-hidden="true" aria-label="Main menu"> <li><a class="dropdown__link" href="/help/">Help</a></li> <li><a class="dropdown__link" href="/sponsors/">Sponsors</a></li> <li><a class="dropdown__link" href="/account/login/">Log in</a></li> <li><a class="dropdown__link" href="/account/register/">Register</a></li> </ul> </nav> </div> </div> </div> </div> </header> <div class="mobile-search"> <form class="search-form search-form--fullwidth" action="/search/" role="search"> <label for="mobile-search" class="sr-only">Search PyPI</label> <input id="mobile-search" class="search-form__search" type="text" name="q" placeholder="Search projects" value="" autocomplete="off" autocapitalize="off" spellcheck="false"> <button type="submit" class="search-form__button"> <i class="fa fa-search" aria-hidden="true"></i> <span class="sr-only">Search</span> </button> </form> </div> <main id="content"> <div class="horizontal-section"> <div class="site-container"> <h1 class="page-title">Log in to PyPI</h1> <form method="POST" action="/account/login/?next=%2F%2F" id="login-form"> <input name="csrf_token" type="hidden" value="p14I3JXGe8hCAAHLgDpvXA8gj0JMdoRBAjvtOWAqTJU"> <input name="next" type="hidden" value="//"> <div class="form-group"> <label for="username" class="form-group__label"> Username <span class="form-group__required">(required)</span> </label> <input aria-describedby="username-errors" autocapitalize="off" autocomplete="username" class="form-group__field" id="username" name="username" placeholder="Your username" required="required" spellcheck="false" type="text" value=""> <div id="username-errors"> </div> </div> <div data-controller="password" class="form-group"> <div> <label for="password" class="form-group__label"> Password <span class="form-group__required">(required)</span> </label> </div> <input aria-describedby="password-errors" autocomplete="current-password" class="form-group__field" data-password-target="password" id="password" maxlength="4096" name="password" placeholder="Your password" required="required" spellcheck="false" type="password" value=""> <div id="password-errors"> </div> <div class="form-group"> <div class="split-layout margin-top--large margin-bottom--large"> <div> <input type="submit" value="Log in" class="button button--primary"> </div> <label for="show-password"> <input data-action="change->password#togglePasswords" data-password-target="showPassword" id="show-password" type="checkbox"> Show password </label> </div> <span> <a href="https://pypi.org/account/request-password-reset/">Forgot password?</a> </span> </div> </div> </form> </div> </div> </main> <footer class="footer"> <div class="footer__logo"> <img src="/static/images/white-cube.2351a86c.svg" alt="" class="-js-white-cube"> </div> <div class="footer__menus"> <div class="footer__menu"> <h2>Help</h2> <nav aria-label="Help navigation"> <ul> <li><a href="https://packaging.python.org/tutorials/installing-packages/" title="External link" target="_blank" rel="noopener">Installing packages</a></li> <li><a href="https://packaging.python.org/tutorials/packaging-projects/" title="External link" target="_blank" rel="noopener">Uploading packages</a></li> <li><a href="https://packaging.python.org/" title="External link" target="_blank" rel="noopener">User guide</a></li> <li><a href="https://www.python.org/dev/peps/pep-0541/" title="External link" target="_blank" rel="noopener">Project name retention</a></li> <li><a href="/help/">FAQs</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>About PyPI</h2> <nav aria-label="About PyPI navigation"> <ul> <li><a href="https://blog.pypi.org" title="External link" target="_blank" rel="noopener">PyPI Blog</a></li> <li><a href="https://dtdg.co/pypi" title="External link" target="_blank" rel="noopener">Infrastructure dashboard</a></li> <li><a href="/stats/">Statistics</a></li> <li><a href="/trademarks/">Logos & trademarks</a></li> <li><a href="/sponsors/">Our sponsors</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>Contributing to PyPI</h2> <nav aria-label="How to contribute navigation"> <ul> <li><a href="/help/#feedback">Bugs and feedback</a></li> <li><a href="https://github.com/pypi/warehouse" title="External link" target="_blank" rel="noopener">Contribute on GitHub</a></li> <li><a href="https://hosted.weblate.org/projects/pypa/warehouse/" title="External link" target="_blank" rel="noopener">Translate PyPI</a></li> <li><a href="/sponsors/">Sponsor PyPI</a></li> <li><a href="https://github.com/pypi/warehouse/graphs/contributors" title="External link" target="_blank" rel="noopener">Development credits</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>Using PyPI</h2> <nav aria-label="Using PyPI navigation"> <ul> <li><a href="https://policies.python.org/python.org/code-of-conduct/" title="External link" target="_blank" rel="noopener">Code of conduct</a></li> <li><a href="/security/">Report security issue</a></li> <li><a href="https://policies.python.org/pypi.org/Privacy-Notice/" title="External link" target="_blank" rel="noopener">Privacy Notice</a></li> <li><a href="https://policies.python.org/pypi.org/Terms-of-Use/" title="External link" target="_blank" rel="noopener">Terms of Use</a></li> <li><a href="https://policies.python.org/pypi.org/Acceptable-Use-Policy/" title="External link" target="_blank" rel="noopener">Acceptable Use Policy</a></li> </ul> </nav> </div> </div> <hr class="footer__divider"> <div class="footer__text"> <p>Status:<a href="https://status.python.org/" title="External link" target="_blank" rel="noopener"> <span data-statuspage-domain="https://2p66nmmycsj3.statuspage.io">all systems operational</span></a> </p> <p> Developed and maintained by the Python community, for the Python community. <br> <a href="https://donate.pypi.org">Donate today!</a> </p> <p> "PyPI", "Python Package Index", and the blocks logos are registered <a href="/trademarks/">trademarks</a> of the <a href="https://www.python.org/psf-landing" target="_blank" rel="noopener">Python Software Foundation</a>.<br> </p> <p> © 2024 <a href="https://www.python.org/psf-landing/" title="External link" target="_blank" rel="noopener">Python Software Foundation</a><br> <a href="/sitemap/">Site map</a> </p> </div> <div class="centered hide-on-desktop"> <button type="button" class="button button--switch-to-desktop hidden" data-viewport-toggle-target="switchToDesktop" data-action="viewport-toggle#switchToDesktop"> Switch to desktop version </button> </div> </footer> <div class="language-switcher"> <form action="/locale/"> <ul> <li> <button class="language-switcher__selected" name="locale_id" value="en" type="submit" > English </button> </li> <li> <button name="locale_id" value="es" type="submit" > español </button> </li> <li> <button name="locale_id" value="fr" type="submit" > français </button> </li> <li> <button name="locale_id" value="ja" type="submit" > 日本語 </button> </li> <li> <button name="locale_id" value="pt_BR" type="submit" > português (Brasil) </button> </li> <li> <button name="locale_id" value="uk" type="submit" > українська </button> </li> <li> <button name="locale_id" value="el" type="submit" > Ελληνικά </button> </li> <li> <button name="locale_id" value="de" type="submit" > Deutsch </button> </li> <li> <button name="locale_id" value="zh_Hans" type="submit" > 中文 (简体) </button> </li> <li> <button name="locale_id" value="zh_Hant" type="submit" > 中文 (繁體) </button> </li> <li> <button name="locale_id" value="ru" type="submit" > русский </button> </li> <li> <button name="locale_id" value="he" type="submit" > עברית </button> </li> <li> <button name="locale_id" value="eo" type="submit" > Esperanto </button> </li> </ul> </form> </div> <div class="sponsors"> <p class="sponsors__title">Supported by</p> <div class="sponsors__divider"></div> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://aws.amazon.com/"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/ed7074cadad1a06f56bc520ad9bd3e00d0704c5b/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f6177732d77686974652d6c6f676f2d7443615473387a432e706e67" alt=AWS loading=lazy> <span class="sponsors__name">AWS</span> <span class="sponsors__service"> Cloud computing and Security Sponsor </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.datadoghq.com/"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/8855f7c063a3bdb5b0ce8d91bfc50cf851cc5c51/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f64617461646f672d77686974652d6c6f676f2d6668644c4e666c6f2e706e67" alt=Datadog loading=lazy> <span class="sponsors__name">Datadog</span> <span class="sponsors__service"> Monitoring </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.fastly.com/"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/df6fe8829cbff2d7f668d98571df1fd011f36192/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f666173746c792d77686974652d6c6f676f2d65684d3077735f6f2e706e67" alt=Fastly loading=lazy> <span class="sponsors__name">Fastly</span> <span class="sponsors__service"> CDN </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://careers.google.com/"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/420cc8cf360bac879e24c923b2f50ba7d1314fb0/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f676f6f676c652d77686974652d6c6f676f2d616734424e3774332e706e67" alt=Google loading=lazy> <span class="sponsors__name">Google</span> <span class="sponsors__service"> Download Analytics </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.python.org/psf/sponsors/#microsoft"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/524d1ce72f7772294ca4c1fe05d21dec8fa3f8ea/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f6d6963726f736f66742d77686974652d6c6f676f2d5a443172685444462e706e67" alt=Microsoft loading=lazy> <span class="sponsors__name">Microsoft</span> <span class="sponsors__service"> PSF Sponsor </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.pingdom.com/"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/d01053c02f3a626b73ffcb06b96367fdbbf9e230/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f70696e67646f6d2d77686974652d6c6f676f2d67355831547546362e706e67" alt=Pingdom loading=lazy> <span class="sponsors__name">Pingdom</span> <span class="sponsors__service"> Monitoring </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://getsentry.com/for/python"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/67af7117035e2345bacb5a82e9aa8b5b3e70701d/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f73656e7472792d77686974652d6c6f676f2d4a2d6b64742d706e2e706e67" alt=Sentry loading=lazy> <span class="sponsors__name">Sentry</span> <span class="sponsors__service"> Error logging </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://statuspage.io"> <img class=sponsors__image src="https://pypi-camo.freetls.fastly.net/b611884ff90435a0575dbab7d9b0d3e60f136466/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f737461747573706167652d77686974652d6c6f676f2d5467476c6a4a2d502e706e67" alt=StatusPage loading=lazy> <span class="sponsors__name">StatusPage</span> <span class="sponsors__service"> Status page </span> </a> </div> </body> </html>