Skip to main content

A parser for the PEP508 dependency specification.

Project description

pep508-parser

A parser for the PEP508 dependency specification.

Example

#!/usr/bin/env python3

from pep508_parser import parser

tests = [
    "A",
    "A.B-C_D",
    "aa",
    "name",
    "name<=1",
    "name>=3",
    "name>=3,<2",
    "name@http://foo.com",
    "name [fred,bar] @ http://foo.com ; python_version=='2.7'",
    "name[quux, strange];python_version<'2.7' and platform_version=='2'",
    "name; os_name=='a' or os_name=='b'",
    # Should parse as (a and b) or c
    "name; os_name=='a' and os_name=='b' or os_name=='c'",
    # Overriding precedence -> a and (b or c)
    "name; os_name=='a' and (os_name=='b' or os_name=='c')",
    # should parse as a or (b and c)
    "name; os_name=='a' or os_name=='b' and os_name=='c'",
    # Overriding precedence -> (a or b) and c
    "name; (os_name=='a' or os_name=='b') and os_name=='c'",
]


def main():
    for test in tests:
        parsed = parser.parse(test)
        print("{} -> {}".format(test, parsed))


if __name__ == '__main__':
    main()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pep508_parser-2019.3.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

pep508_parser-2019.3-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file pep508_parser-2019.3.tar.gz.

File metadata

  • Download URL: pep508_parser-2019.3.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for pep508_parser-2019.3.tar.gz
Algorithm Hash digest
SHA256 f4bec9d1b0485ba70803c8e84ae741edb1de9af9932a6454cf12853aa43dbda9
MD5 f7a31bc9b887e1e87cb477c6b0f6ad80
BLAKE2b-256 087e4747ccd2fe817254e7fa5f255b472cd24e1dd5c4c0941209844092b458c0

See more details on using hashes here.

File details

Details for the file pep508_parser-2019.3-py3-none-any.whl.

File metadata

  • Download URL: pep508_parser-2019.3-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for pep508_parser-2019.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4a86bc54cc4a848ef0a45fd8e1de26d4959a19d0e0b21cf99fd3681029d1aff7
MD5 7986d891e594b1948f79c8ae26f9c771
BLAKE2b-256 70d756c24c2bb9bce7a9b2c1c4b78b57ad126dcd20bad73fedce3556ceb963c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page