The Python Package Index

Overview

travis-badge

Warehouse

Warehouse is the software that powers PyPI. See our development roadmap, documentation, and architectural overview.

Getting Started

You can run Warehouse locally in a development environment using docker and docker-compose. See Getting started documentation for instructions on how to set it up.

The canonical deployment of Warehouse is in production at pypi.org.

Discussion

If you run into bugs, you can file them in our issue tracker.

You can also join the chat channels #pypa (general packaging discussion and user support) and #pypa-dev (discussion about development of packaging tools) on Freenode, or the distutils-sig mailing list, to ask questions or get involved.

Testing

Read the running tests and linters section of our documentation to learn how to test your code. For cross-browser testing, we use an open source account from BrowserStack. If your pull request makes any change to the user interface, it will need to be tested to confirm it works in our supported browsers.

BrowserStackImg

Code of Conduct

Everyone interacting in the Warehouse project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PSF Code of Conduct.

Comments
  • Roadmap update for TUF support

    Roadmap update for TUF support

    Is it possible to get an update on the development roadmap about when TUF or other encryption support might be deployed? Thanks!

    Also, it appears that tomorrow will be 6 years since January 5, 2013.

    needs discussion 
    opened by LucidOne 78
  • Add support for API keys

    Add support for API keys

    A scary number of people embed their PyPI username and password in their Travis config (using Travis encrypted variables), to enable automatic releases for certain branches (Travis even has a guide for it).

    In addition, the packaging docs example encourages users to save their password in plaintext on disk in their .pypirc (they can of course use twine's password prompting, but I wonder how many read that far, rather than just copy the example verbatim?)

    Whilst in an ideal world credentials of any form wouldn't be saved unencrypted to disk (or given to a third-party such as Travis) and instead users prompted every time - I don't think this is realistic in practice.

    API keys would offer the following advantages:

    1. Higher-entropy credentials that are guaranteed to have not been reused on multiple sites.
    2. The ability to give the API key a smaller permissions scope than that of the owner's username/password. For example an API key would not be permitted to change a user's listed GPG key or in the future, their 2FA settings. Or an API key could be limited to a specific package.
    3. Since this would be separate from the existing username/password auth, a signing based approach (eg HMAC) could be used, without breaking older clients. This would ensure that if a connection was MiTMed (eg due to a protocol or client exploit), the API key itself would still remain secure.
    4. Eventually support could be dropped for the password field in .pypirc, leaving a much safer choice between password prompting every time, or creating an API key that could be saved to disk.
    5. If/when support is added for 2FA, users who need to automate PyPI uploads won't have to forgo 2FA for their whole account. They could instead choose to just create a 2FA-circumventing API key for just the one package that needs uploads in automation.

    Many thanks :-)

    (I've filed this against warehouse since I'm presuming this is beyond the scope of maintenance-only changes being made to the old PyPI codebase)

    feature request APIs/feeds 
    opened by edmorley 70
  • Artifactory not compatible with new /simple file links.

    Artifactory not compatible with new /simple file links.

    We have an internal mirror of https://pypi.python.org that stopped working as the load testing started: https://status.python.org/incidents/0gmdf90kkt8n

    I am currently investigating and collecting logs to further report but would like to create an issue in case other people come across the same problem.

    If this turns-out to be my internal problem (I hope so!), my apologies in advance. I will update this issue as I have more information.

    opened by thiagofigueiro 57
  • How to update the

    How to update the "Description" in pypi.org ?

    In the old pypi.python.org, we can update the description by using edit or upload a pkg-info file. But now it is not support:

    Gone (This API has been deprecated and removed from legacy PyPI in favor of using the APIs available in the new PyPI.org implementation of PyPI (located at https://pypi.org/). For more information about migrating your use of this API to PyPI.org, please see https://packaging.python.org/guides/migrating-to-pypi-org/#uploading. For more information about the sunsetting of this API, please see https://mail.python.org/pipermail/distutils-sig/2017-June/030766.html)

    But in pypi.org, I cannot find any function to add or change the description of the package : https://pypi.org/project/lightgbm/

    I also tried to update it by using python setup.py register , but it failed: Server response (410): This API is no longer supported, instead simply upload the file.

    So I tried to upload the pkg-file, but sill met the error: ValueError: Unknown distribution format: 'PKG-INFO'

    needs discussion 
    opened by guolinke 54
  • SSL Error

    SSL Error

    probably due to the load testing happening right now, this happens for trying to install any package.

      Could not fetch URL https://pypi.python.org/simple/upgrade/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:645) - skipping
      Could not find a version that satisfies the requirement upgrade (from versions: )
    No matching distribution found for upgrade
    
    opened by matthewdias 47
  • Add markdown support

    Add markdown support

    I've been working styling the information panel (issue #801).

    One thing that I've noticed is that a number of package long descriptions are not coming through with the correct formatting:

    screenshot from 2015-12-29 17-40-04 screenshot from 2015-12-29 17-40-15

    The first is clearly markdown, the second, I am not sure, but I have noticed a number of other packages using the same syntax.

    Obviously, it would be great to render these out to HTML so the new styles will work.

    feature request 
    opened by nlhkabu 47
  • `long_description_content_type` flag in setup.py seems to be ignored on upload.

    `long_description_content_type` flag in setup.py seems to be ignored on upload.

    Describe the bug I have a python package on PyPi that just (as of the last ~4-5 days) now fails to upload, with a new error:

    durr@rwpscrape /m/S/S/WebRequest> python3 setup.py sdist upload
    
    [snip build process]
    
    Submitting dist/WebRequest-0.0.28.tar.gz to https://upload.pypi.org/legacy/
    Upload failed (400): The description failed to render in the default format of reStructuredText. See https://pypi.org/help/#description-content-type for more information.
    error: Upload failed (400): The description failed to render in the default format of reStructuredText. See https://pypi.org/help/#description-content-type for more information.
    

    Ok, that's clear enough. My readme is in markdown, let's see how to fix this.

    Going to https://packaging.python.org/tutorials/packaging-projects/#description, it states you can add long_description_content_type="text/markdown", to your setup.py file, and it'll be processed as markdown.

    <does edits>....
    <submits to PyPi again
    
    Submitting dist/WebRequest-0.0.28.tar.gz to https://upload.pypi.org/legacy/
    
    [snip build process]
    
    Upload failed (400): The description failed to render in the default format of reStructuredText. See https://pypi.org/help/#description-content-type for more information.
    error: Upload failed (400): The description failed to render in the default format of reStructuredText. See https://pypi.org/help/#description-content-type for more information.
    

    What?

    Expected behavior I expect if I specify the readme is markdown, as the documentation says to do so, the readme should be treated as markdown.

    To Reproduce Attempt to upload a package with a readme that is valid markdown, but not valid reStructuredText.

    My Platform

    • Python 3.5.2 x64
    • Ubuntu 16.04 LTS
    • setuptools-39.2.0 (I specifically checked that it's the most current version)
    • readme_renderer 20.0

    Actual project in question is here. The readme.md in question is here, and the setup.py is here

    opened by fake-name 45
  • 2FA/API tokens: staging/testing rollout

    2FA/API tokens: staging/testing rollout

    What's the problem this feature will solve? To finish #996 (see #5567), we need to test MFA with real users on real packages; asking them to spin up dev environments is too hard and won't help multi-maintainer projects reason well about what MFA policies they want to set up.

    Describe the solution you'd like My tentative suggestion is:

    • We first roll out MFA on test.pypi.org and publicize it to project maintainers for a designated 2-week testing period, and we allot extra time for dealing with support requests during that time
    • We then roll it out to pypi.org and announce it on the PyPI announcement email list, PSF blog, etc.

    Additional context

    • If things go awry during initial testing, is there any chance we will need to wipe tokens from users' accounts?
    • Are there particular categories of user we need to make sure we get in the beta test? Ideas that come to mind for me: Windows, mobile, users of particular TOTP implementations and U2F implementations, people on very slow connections, people who habitually block a lot of cookies/JS, maintainers who maintain 20+ projects, people with very old and weird PyPI accounts (e.g., we do not have verified email for them, their passwords do not adhere to current policy), users with upwards of 10 MFA methods they want to add to their accounts, multi-maintainer projects, multi-owner projects, organizations where users share an auth token within a group.
    • Is test.pypi.org the right place for this? Should we spin up some other instance for this particular kind of testing, since maintainers do use Test PyPI for real uploads (of packages that need testing)?

    Cc @ewdurbin .

    meta 
    opened by brainwane 43
  • Add support for two-factor authentication

    Add support for two-factor authentication

    Account compromise of the owner of a popular package on PyPI is something that would have pretty dire consequences. 2FA/MFA would be a big step to helping avoid this.

    This would need to be implemented in both:

    • Website login
    • API used for package upload/register by setuptools/pip/...

    The 1st of these is presumably the easiest, and I believe will still add some value even if the 2nd isn't implemented initially - since it will still prevent things like package owner/maintainer role changes or modification of a user's listed GPG key or login details (presuming these cannot be made via the API).

    Harder is what to do with the API, given it requires client changes and is also used by some in a non-interactive manner in automation. I see a few options:

    1. Add 2FA support to setuptools/pip, and just document that people uploading packages in automation will just need to disable 2FA for their whole account (or ideally create a separate account just for automation).
    2. Add support for API keys to both Warehouse and clients (#994) and allow those to circumvent 2FA. For the people that really must upload packages non-interactively this would still protect against a few risks (credentials re-use, weak credentials), and the API keys could also be made package-specific or tied to a particular IP range. For everyone else, they would just not create an API key and still have full 2FA protection.
    3. All of the above.

    In terms of implementation, there are a number of packages that support TOTP (used by Google Authenticator): https://pypi.python.org/pypi/onetimepass/1.0.1 https://pypi.python.org/pypi/pyotp https://pypi.python.org/pypi/oath https://pypi.python.org/pypi/otpauth

    (I've filed this against warehouse since I'm presuming this is beyond the scope of maintenance-only changes being made to the old PyPI codebase)

    feature request 
    opened by edmorley 41
  • WebAuthn failing in Chrome for incompatible versions & on modal fail/cancellation

    WebAuthn failing in Chrome for incompatible versions & on modal fail/cancellation

    @webknjaz reported:

    @brainwane I've tried that on Test PyPI.

    So I have a TOTP set up. I clicked on Add 2FA with security key. It prompted me to enter a Key name which I did (Yubikey Neo).

    STR

    After that, clicking Provision key does nothing visually. So I've opened DevTools. I can see a successful GET request to https://test.pypi.org/manage/account/webauthn-provision/options with some JSON payload in the response. It looks legit, contains my user data and a challenge. After clicking more times on that button, each of them produces an exception being logged to the JS console. The same happenes on prod PyPI, in incognito mode, with browser extensions disabled. test-pypi-webauthn-exc

    Runtime

    Google Chrome Version 69.0.3497.81 (Official Build) (64-bit) running Gentoo Linux

    Trace
    [8] bind-modal-keys.js:43 Uncaught (in promise) DOMException: A request is already pending.
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    Promise.then (async)
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    Promise.then (async)
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    Promise.then (async)
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    (anonymous) @ webauthn.js:179
    (anonymous) @ webauthn.js:23
    r @ runtime.js:55
    (anonymous) @ runtime.js:293
    t.(anonymous function) @ runtime.js:107
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    d @ raven.js:445
    [2] bind-modal-keys.js:43 Uncaught (in promise) DOMException: The operation either timed out or was not allowed. See: https://w3c.github.io/webauthn/#sec-assertion-privacy.
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    Promise.then (async)
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    Promise.then (async)
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    Promise.then (async)
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    (anonymous) @ webauthn.js:179
    (anonymous) @ webauthn.js:23
    r @ runtime.js:55
    (anonymous) @ runtime.js:293
    t.(anonymous function) @ runtime.js:107
    r @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    (anonymous) @ bind-modal-keys.js:43
    d @ raven.js:445
    

    Originally posted by @webknjaz in https://github.com/pypa/warehouse/issues/5661#issuecomment-503486463

    bug :bug: cross browser bug :bug: 
    opened by brainwane 40
  • GitHub Token Scanning Partnership

    GitHub Token Scanning Partnership

    What's the problem this feature will solve?

    GitHub has a "Token Scanning" feature, which enables them to detect API keys/tokens, and notify the service provider who issued the token. The service providers can then act on this information according to their own policies (revoke, contact owner etc).

    This helps avoid situations where an active API key is available publicly on the project's repository. GitHub has a Partnership program for this, with various service providers (incl. npm and more).

    What's the problem this feature will solve?

    It would be worthwhile to explore partnering with GitHub for Token Scanning, when the support for API Keys has been completed.

    Additional context

    https://developer.github.com/partnerships/token-scanning/ contains details about how to contact GitHub for this partnership, and details on how the integration works.

    help needed feature request 
    opened by pradyunsg 39
  • Bump pydantic from 1.9.2 to 1.10.3

    Bump pydantic from 1.9.2 to 1.10.3

    Bumps pydantic from 1.9.2 to 1.10.3.

    Release notes

    Sourced from pydantic's releases.

    v1.10.3 (2022-12-29)

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.2...v1.10.3

    v1.10.2 (2022-09-05)

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.1...v1.10.2

    v1.10.1 (2022-08-31)

    • Add __hash__ method to pydancic.color.Color class, #4454 by @​czaki

    Full Changelog: https://github.com/pydantic/pydantic/compare/v1.10.0...v1.10.1

    v1.10.0 (2022-08-30)

    See #4419 for feedback and discussion, docs are live at pydantic-docs.helpmanual.io.

    • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @​PrettyWood BREAKING CHANGES:
      • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
      • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
    • Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @​tlambert03
    • Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @​acmiyaguchi
    • Rename master to main, #4405 by @​hramezani
    • Fix StrictStr does not raise ValidationError when max_length is present in Field, #4388 by @​hramezani
    • Make SecretStr and SecretBytes hashable, #4387 by @​chbndrhnns
    • Fix StrictBytes does not raise ValidationError when max_length is present in Field, #4380 by @​JeanArhancet

    ... (truncated)

    Changelog

    Sourced from pydantic's changelog.

    v1.10.3 (2022-12-29)

    v1.10.2 (2022-09-05)

    v1.10.1 (2022-08-31)

    • Add __hash__ method to pydancic.color.Color class, #4454 by @​czaki

    v1.10.0 (2022-08-30)

    • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @​PrettyWood BREAKING CHANGES:
      • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
      • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
    • Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @​tlambert03
    • Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @​acmiyaguchi
    • Rename master to main, #4405 by @​hramezani
    • Fix StrictStr does not raise ValidationError when max_length is present in Field, #4388 by @​hramezani
    • Make SecretStr and SecretBytes hashable, #4387 by @​chbndrhnns
    • Fix StrictBytes does not raise ValidationError when max_length is present in Field, #4380 by @​JeanArhancet
    • Add support for bare type, #4375 by @​hramezani
    • Support Python 3.11, including binaries for 3.11 in PyPI, #4374 by @​samuelcolvin

    ... (truncated)

    Commits

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump types-redis from 4.3.21.6 to 4.3.21.7

    Bump types-redis from 4.3.21.6 to 4.3.21.7

    Bumps types-redis from 4.3.21.6 to 4.3.21.7.

    Commits

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump pyrsistent from 0.19.2 to 0.19.3

    Bump pyrsistent from 0.19.2 to 0.19.3

    Bumps pyrsistent from 0.19.2 to 0.19.3.

    Changelog

    Sourced from pyrsistent's changelog.

    0.19.3, 2022-12-29

    • Fix #264, add wheels and official support for Python 3.11. Thanks @​hugovk for this!
    Commits
    • cc90f3e Prepare version v0.19.3
    • f030e5e Merge pull request #267 from Julian/typing
    • d98a20d Add pyrsistent.typing to the API documentation.
    • e3fbc39 Make push of code and tags one command when releasing
    • 7ca853c Add reference to pyrsistent extras in README
    • 1370783 Merge pull request #264 from hugovk/add-3.11
    • c2fd1f0 Remove redundant Python < 3.7 code
    • 1bbe757 Add support for Python 3.11
    • See full diff in compare view

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump platformdirs from 2.6.0 to 2.6.2

    Bump platformdirs from 2.6.0 to 2.6.2

    Bumps platformdirs from 2.6.0 to 2.6.2.

    Release notes

    Sourced from platformdirs's releases.

    2.6.2

    What's Changed

    New Contributors

    Full Changelog: https://github.com/platformdirs/platformdirs/compare/2.6.1...2.6.2

    2.6.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/platformdirs/platformdirs/compare/2.6.0...2.6.1

    Changelog

    Sourced from platformdirs's changelog.

    platformdirs 2.6.2 (2022-12-28)

    • Fix missing typing-extensions dependency.

    platformdirs 2.6.1 (2022-12-28)

    • Add detection of $PREFIX for android.
    Commits

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump disposable-email-domains from 0.0.85 to 0.0.86

    Bump disposable-email-domains from 0.0.85 to 0.0.86

    Bumps disposable-email-domains from 0.0.85 to 0.0.86.

    Commits

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 0
Owner
Python Packaging Authority
Python Packaging Authority
The Python package installer

pip - The Python Package Installer pip is the package installer for Python. You can use pip to install packages from the Python Package Index and othe

Python Packaging Authority 8.4k Dec 30, 2022
PokerFace is a Python package for various poker tools.

PokerFace is a Python package for various poker tools. The following features are present in PokerFace... Types for cards and their componen

Juho Kim 21 Dec 29, 2022
Example for how to package a Python library based on Cython.

Cython sample module This project is an example of a module that can be built using Cython. It is an upgrade from a similar model developed by Arin Kh

Juan José García Ripoll 4 Aug 28, 2022
OS-agnostic, system-level binary package manager and ecosystem

Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for

Conda 5.1k Dec 30, 2022
OS-agnostic, system-level binary package manager and ecosystem

Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for

Conda 5.1k Jan 7, 2023
The Fast Cross-Platform Package Manager

The Fast Cross-Platform Package Manager part of mamba-org Package Manager mamba Package Server quetz Package Builder boa mamba Mamba is a reimplementa

Mamba 4k Dec 30, 2022
Conan - The open-source C/C++ package manager

Conan Decentralized, open-source (MIT), C/C++ package manager. Homepage: https://conan.io/ Github: https://github.com/conan-io/conan Docs: https://doc

Conan.io 6.5k Jan 5, 2023
Package manager based on libdnf and libsolv. Replaces YUM.

Dandified YUM Dandified YUM (DNF) is the next upcoming major version of YUM. It does package management using RPM, libsolv and hawkey libraries. For m

null 1.1k Dec 26, 2022
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Spack Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, a

Spack 3.1k Jan 9, 2023
[DEPRECATED] YUM package manager

⛔ This project is deprecated. Please use DNF, the successor of YUM. YUM Yum is an automatic updater and installer for rpm-based systems. Included prog

null 111 Dec 20, 2022
A Poetry plugin for dynamically extracting the package version.

Poetry Version Plugin A Poetry plugin for dynamically extracting the package version. It can read the version from a file __init__.py with: # __init__

Sebastián Ramírez 264 Dec 22, 2022
Easy to use, fast, git sourced based, C/C++ package manager.

Yet Another C/C++ Package Manager Easy to use, fast, git sourced based, C/C++ package manager. Features No need to install a program, just include the

null 31 Dec 21, 2022
The delightful package manager for AppImages

⚡️ Zap The delightful package manager for AppImages Report bug · Request feature Looking for the older Zap v1 (Python) implementation? Head over to v1

Srevin Saju 368 Jan 4, 2023
Dotpkg - Package manager for your dotfiles

Dotpkg A package manager for your dotfiles. Usage First make sure to have Python

FW 4 Mar 18, 2022
A set of tools to keep your pinned Python dependencies fresh.

pip-tools = pip-compile + pip-sync A set of command line tools to help you keep your pip-based packages fresh, even when you've pinned them. You do pi

Jazzband 6.5k Dec 29, 2022
Python dependency management and packaging made easy.

Poetry: Dependency Management for Python Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right sta

Poetry 23.1k Jan 1, 2023
A PyPI mirror client according to PEP 381 http://www.python.org/dev/peps/pep-0381/

This is a PyPI mirror client according to PEP 381 + PEP 503 http://www.python.org/dev/peps/pep-0381/. bandersnatch >=4.0 supports Linux, MacOSX + Wind

Python Packaging Authority 345 Dec 28, 2022
Python PyPi staging server and packaging, testing, release tool

devpi: PyPI server and packaging/testing/release tool This repository contains three packages comprising the core devpi system on the server and clien

null 629 Jan 1, 2023
Python dependency management and packaging made easy.

Poetry: Dependency Management for Python Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right sta

Poetry 23.2k Jan 5, 2023