Skip to main content

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()

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

This release

2019.3 This release

2 files

2019.2

2 files

2019.1

3 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page