Skip to main content

('Self-contained library to deal with metadata in Enthought-specific eggs',)

Project description

https://travis-ci.org/enthought/okonomiyaki.png?branch=master

Okonomiyaki is an experimental library aimed at consolidating a lot of our low-level code used for Enthought’s eggs.

The library contains code for the following:

  • producing EDM and enpkg-compatible egg from a tree + metadata
  • object models for eggs metadata, as well as versions and platform representations

It works on both python 2 and 3, and pypy. It is expected to work on pretty much any compliant python implementation.

Examples

Version parsing

To parse versions:

from okonomiyaki.versions import EnpkgVersion
# Every Version class has a from_string constructor
v1 = EnpkgVersion.from_string("1.3.3-1")
v2 = EnpkgVersion.from_string("1.3.2-3")

assert v1 > v2

Version instances are designed to be immutable, and to be used as keys in dictionaries.

Platform parsing

To parse epd platform strings (rh5-64, rh6_x86_64, etc.) consistently:

from okonomiyaki.platforms import EPDPlatform
# Internal representation is normalized.
rh5_new_name = EPDPlatform.from_string("rh5-x86_64")
rh5_old_name = EPDPlatform.from_string("rh5-64")

assert rh5_old_name == rh5_new_name

As for Version instances, EPDPlatform instances are designed to be immutable and to be used as keys in dictionaries.

Egg metadata

To parse Enthought eggs:

from okonomiyaki.file_formats import EggMetadata

# Only works for Enthought eggs
metadata = EggMetadata.from_egg("numpy-1.10.1-1.egg")
print(metadata.metadata_version)
print(metadata.name)
print(metadata.version)

This will take care of a lot of low-level, legacy details you don’t want to know about.

Project details


Download files

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

Files for okonomiyaki, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size okonomiyaki-1.2.0-py2.py3-none-any.whl (523.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size okonomiyaki-1.2.0.tar.gz (444.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page