Skip to main content

A compiler for PEP 345 environment markers.

Project description

markerlib

Compile or interpret PEP 345 environment markers.

Usage:

>>> import markerlib
>>> marker = markerlib.compile("os.name == 'posix'")
>>> marker(environment=markerlib.default_environment(),
           override={'os.name':'posix'})
True
>>> marker(environment=markerlib.default_environment(),
           override={'os.name':'nt'})
False

The implementation uses the ast to compile environment markers as Python statements with a limited set of allowed node types.

0.5.2

  • Restore ‘as_function’ bw/compat synonym for ‘compile’

0.5.1

  • Include ‘empty marker’ heuristic in markerlib itself

0.5

  • One final release until it’s just a part of distribute

0.4

  • Cache compiled marker functions with weakref.WeakValueDictionary

  • Rename markerlib.as_function to markerlib.compile

0.3

  • Might work on Python 2.5 (includes needed parts of the ast module from Python 2.6+)

  • Include 100% test coverage, tox config file

0.1

  • Initial version

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

markerlib-0.5.2.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file markerlib-0.5.2.tar.gz.

File metadata

  • Download URL: markerlib-0.5.2.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for markerlib-0.5.2.tar.gz
Algorithm Hash digest
SHA256 3e0edb5444c80e00961ba8cbb5843040e029509d4feaefb9176c4db7296ef642
MD5 cff08e67c6502615c24061bf21a016a5
BLAKE2b-256 78bb6aa5709edafaa60b98e2ceac0617b66294abdbbc0ac21b5e66c5df2045f4

See more details on using hashes here.

Supported by

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