# okonomiyaki **Repository Path**: mirrors_enthought/okonomiyaki ## Basic Information - **Project Name**: okonomiyaki - **Description**: Okonomiyaki is aimed at consolidating a lot of our low-level code used for Enthought's eggs and python runtimes. - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 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 Python >= 3.6, It is expected to work on pretty much any compliant python implementation. Note ---- * Version instances are available without extra dependencies so use ``pip install okonomiyaki`` * Platform instances are available by installing ``pip install okonomiyaki[platforms]`` * Egg metadata and archive tools are available by installing ``pip install okonomiyaki[formats]`` * The full set of functionality, please use ``pip install okonomiyaki[all]`` 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.