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.6.0
Allow _ where . was previously used (‘os.name’ -> ‘os_name’)
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
Built Distribution
Hashes for markerlib-0.6.0-py27-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd234e1dc3bb0929fa8c7c608c6a39151e637026ae817a91ee8c2c5e48e63754 |
|
MD5 | 169e4da7e0e5c538e0a863d18d285395 |
|
BLAKE2b-256 | b95aec9ed58ef44d33e6cf50c9c6c8edba07623ca7ce57e9423caef9ff0e8851 |