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.
2024-08-23 2.0.0
--------------------
Enhancements:
* Add support for the ARM and ARM64 architectures in Arch (#458)
* Add support for ARM64 in EPDPlatform (#458)
* Add sample runtimes and eggs for the ARM64 architecture (#462, #460)
* Add a constructor for Platform from a dictionary (#410, #472)
Breaking Changes:
* Remove Python 2.x code support. Okonomiyaki now supports running on > 3.6 (#380)
* Remove the "short" attribute from the EPDPlatform instance (#485)
* Remove the LagacyEPDPlatform instance (#485)
* Remove okonomiyaki.recipes submodule (#473)
* Move okonomiyaki.recipes.tests.data files to okonomiyaki.utils.test_data (#473)
* Move dependencies to optional extras (#474)
* default_abi will not fail for Python > 3.11 on windows anymore (#477)
Bug fixes:
* Fix okonomiyaki cli when it is called with no arguments (#459)
* Drop use of deprecated alias assertRaisesRegexp (#486)
* Skip some tests on unsupported systems (#475)
Maintenance:
* Update Github ci to generate the html coverage report as a downloadable artifact (#457)
* Run tests on MacOS M1 runners (#460)
* Run tests on Python 3.11 (#461)
* Run tests on Python 3.12 (#477)
* Simplify setup.py (#476, #477)
2023-06-29 1.4.0
--------------------
Enhancements:
* Add cp311 dummy runtimes (#349)
* Add cp311 dummy eggs (#453)
* Update the code to guess a Platform instance from the running system (#448)
- Added a NameKind value for Rocky Linux
- Debian and RHEL compatible systems are now supported by the "uknown" NameKind
- Add support for the RH8 platform
* Update the PythonImplementation instance to support cp311 (#451)
* Update okonomiyaki code to not use the deprecated LegacyEPDPlatform instance (#452)
Maintenance:
* Remove old Jenkins CI build setup (#440)
* Update the test matrix on github actions and remove testing for Python 2.7 (#441, #447)
* Move most of the package configuration into the setup.cfg (#450)
Bug fixes:
* Fix the behaviour of the pep245 module and the way it is tested (#441, #447)
* Fix the repr output for PEP440Version and RuntimeVersion (#435, #436)
* Fix error message for unsupported platform combinations (#433)
* Fix permissions in the dummy egg archives (#430)
2021-07-01 1.3.2
--------------------
Bug fixes:
* Fix relative imports (#426)
* Fix compute_abi_tag to support Python 3.8 (#424)
2021-06-29 1.3.1
--------------------
Bug fixes:
* Update dummy eggs to hold the correct abi tag for Python 3.8 (#413)
* Pass the runtime version to the from_epd_string constructor (#414)
* Fix _guess_abi_tag and _guess_abi_from_python to support python 3.8 (#418)
2021-03-21 1.3.0
--------------------
Enhancements:
* Add cp38 dummy runtimes (#387)
* Add cp38 dummy eggs (#395, #398)
* Update default abi functions to support python 3.8 (#390)
Maintenance:
* Enable GitHub actions (#384)
* Fix build badge to point to travis-ci.com (#376)
* Fix path to the okonomiyaki test build project (#379)
* Update script that verifies okonomiyaki can read eds eggs (#396)
Bug fixes:
* Add rh6 and rh7 dummy eggs to setup.py (#369)
* EPDPlatform.pep425_tag will always return 10.6 for macos platforms (#374, #387)
* Fix older dummy windows runtime archives to work with recent EDM (#391, #397)
* EPDPlatform.from_string will always return fixed release versions (#375, #387)
2019-11-08 1.2.0
--------------------
Enhancements:
* Run tests against Centos 7. (#359)
Maintenance:
* Run Travis CI on maintenance and tagged branches. (#352)
* Only test branch builds on Appveyor for master and maintenance branches. (#364)
Bug fixes:
* Add the license to the manifest. (#354)
* Fix platform detection on Centos 7. (#161)
* Fix error when '$' is in the Python runtime prefix. (#309)
2019-09-20 1.1.1
--------------------
Bug fixes:
* Fix name of the 2.7.10 dummy runtime for rh6. (#341)
2019-09-19 1.1.0
--------------------
Enhancements:
* Add dummy test runtimes for python 3.6.5. (#327)
* Add dummy test runtimes for rh7. (#331)
* Add dummy test runtimes for rh6. (#330)
* Add dummy test eggs for rh7. (#329)
* Add dummy test eggs for rh6. (#328)
2019-03-15 1.0.0
--------------------
Enhancements:
* Add ability to parse setuptools eggs and wheels with metadata version 2.1 (#312)
Bug fixes:
* Improve error message when hyphens are used in spec requirement string (#319)
* Fix CI errors with jasonschema and attrs incompatibility (#318)
* Fix Travis CI flake8 errors (#316)
2018-03-12 0.17.4
--------------------
Bug fixes:
* fix test data dummy runtime for python 2.7.9 that contained osx system files. (#304)
* fix test data dummy windows runtimes fix_scripts to support python 2 and python 3. (#303)
2017-12-13 0.17.3
--------------------
Enhancements:
* WheelInfo provides properties for the 'scripts' and 'headers'
prefix scheme. (#298)
2017-07-20 0.17.2
--------------------
bug fixes:
* skip expected failure test_simple_from_running_python when running
on osx under python 2.7.x. (#295)
2017-07-19 0.17.1
--------------------
Enhancements:
* streamline travis ci testing. (#286)
* run tests on appveyor and python 3. (#288)
bug fixes:
* fix Runtime.executable value for Python 3 on windows. (#288)
* fix compute_abi_tag/compute_python_tag/compute_platform_tag so that
they can be used in a frozen app. (#284)
2017-07-03 0.17.0
--------------------
Enhancements:
* compute default ABI for ironpython/jython. (#225)
* add support for CPython 3.6 (#229)
* add support for `PKG-INFO` format 1.2 and 2.0 (#261, #271)
* fix support for attrs >= 17.x
* PackageInfo.from_path may parse PKG-INFO metadata from both wheels and eggs. (#274)
* add WheelInfo class for wheel pep425 tags parsing. (#275)
* add compute_abi_tag/compute_python_tag/compute_platform_tag functions to
compute PEP 425 tags from arbitrary python executables (#278)
* add some basic examples in the README. (#279)
* add commonly used wheel prefixes to WheelInfo. (#280)
bug fixes:
* fix author_* entries in setup.py. (#235)
* test runtimes should include pythonw.exe (#238)
* fix applies("32")/applies("64") (#244)
* fix permissions for egg metadata written through writestr. (#249)
* fix error handling for platform strings with 'remains'. (#253)
* fix invalid trove classifier in setup.py. (#258)
* mark classes we need hashable as immutable. (#266)
* add (long) description into setup.py. (#272)
2016-06-29 0.16.0
--------------------
This release focused on speeding up EggMetadata, and adding json serialization
for EDM.
Enhancements:
* update dependency on attr >= 16.0.0, which contains some speedups for
validators (#220)
* lazily parse PKG-INFO in EggMedata (#216)
* test runtimes's dummy pythons output the right string and are of the right
bitness (#215)
* test runtimes now contains symlinks on Unix (#214)
* json serialization for EggMetadata (#213)
* expose Kind enums to okonomiyaki.runtimes (#204)
* speedup EggMetadata.from_egg (#203)
* EPDPlatform.from_epd_string is deprecated in favor of
EPDPlatform.from_string(#199)
* EggMetadata.from_egg does not re-open a zipfile 3 times (#195)
Bugs:
* fix flake8 violations (#218)
* remove spurious dependency on stevedore (#208)
* missing enum34 dependency (#196)
2016-04-27 0.15.0:
--------------------
Enhancements:
* add `platform_abi` field to `EggMetadata`
Bug fixes:
* raise the correct exception for invalid egg metadata (#156)
* raise the correct exception for missing metadata in runtimes (#165)
Internal changes:
* enum34 is used instead of traitlets (#55)
* traitlets is not used anymore (#56, #115, #145)
2015-12-09 0.14.0:
--------------------
Enhancements:
* Reject incompatible metadata_version in egg metadata, and add API to easily
tweak the output's metadata_version (#150)
* `default_abi` now works for alternative implementations (#149).
* Exception hierarchy for invalid metadata has been improved for
finer-grained error messages (#151)
Backward incompatible changes:
* `default_abi` function now takes 3 arguments (#149).
Bug fixes:
* update python_tag blacklist to handle wrong metadata (#146)
2015-10-02 0.13.0:
--------------------
Enhancements:
* `abi` attribute for runtime (#134)
* `metadata_version` attribute for runtime added (#143)
Backward incompatible changes:
* `language` attribute from runtime removed (#134)
* `metadata_version_info` attribute from EggMetadata removed (#143)
Bug fixes:
* update PKG-INFO blacklist to handle every pypi egg (#141)
* update platform blacklist to handle wrong metadata for windows eggs w/ C
extensions and no platform set up (#142)
(#136).
* fix round-tripping for PEP386 versions with post part without a dev part
(#136).
2015-09-28 0.12.0:
--------------------
Improvements:
* blacklist mechanism for invalid python tag of existing eggs (#127)
* accept filtre function in egg builders now take two arguments to allow
filtering on the full content of the archive (#128)
2015-09-14 0.11.0:
--------------------
Improvements:
* SemanticVersion class added
* MetadataVersion class added to easily manipulate metadata versions.
* PEP440Version class added.
* RuntimeVersion class added to model edm runtime versions
* IRuntimeMetadata.factory_from_path class function to parse and validate
runtime packages.
* __str__ is now implemented for EPDPlatform. The implementation support
EPDPlatform.from_epd_string(str(epd_platform)) == epd_platform (#117)
2015-00-01 0.10.0:
--------------------
Improvements:
* EnpkgVersion.from_string now handles versions of the form `1.3.0`, with the
build number being implicitly 0.
* EggMetadata.from_egg now handles eggs built for RedHat Enterprise
Linux 3 (#88).
* Fix decoding errors when parsing PKG-INFO (#86)
* Fix parsing of spec/depend for RedHat 3 eggs (#88)
* Special case invalid requirement 'numpy-1.8.0'
Internals:
* Remove dependency on six
* Add support for both '-' and '_' as separators between os and arch in
platform names for EPDPlatform, i.e. both from_epd_string("rh5-x86_64") and
from_epd_string("rh5_x86_64") work (#83).
* Black list mechanism to fix invalid PKG-INFO
* Black list mechanism to handle platform-specific, any-arch eggs
* Add special 'private' API for brood to bypass checksum computation in
EggMetadata and PackageInfo
2015-07-06 0.9.0:
-------------------
Improvements:
* SetuptoolsEggMetadata now can guess ABI for legacy cases. (#74)
* use PythonImplementation instances instead of strings to store python tag
(#75).
* add okonomiyaki.__version_info__ for easy version comparison (#76).
2015-06-30 0.8.0:
-------------------
New features:
* New EggRewriter class to create Enthought eggs from setuptools eggs.
Improvements:
* add EPDPlatform.from_running_python ctor (#62)
* reject unsupported metadata version in PackageInfo (#63)
* add support for 'py2' python tag (#64)
* add support for python 3 in SetuptoolsEggMetadata (#70)
Bug fixes:
* handle Enthought eggs without PKG-INFO in EggMetadata (#65)
* fix unicode handling of PKG-INFO and EGG-INFO/spec/summary (#72)
Raw data
{
"_id": null,
"home_page": "https://github.com/enthought/okonomiyaki",
"name": "okonomiyaki",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Enthought Inc.",
"author_email": "info@enthough.com",
"download_url": "https://files.pythonhosted.org/packages/cc/ee/dddfa93a4153057a51053fa9d387a947dfcdb399ee7a473d4c844bed5834/okonomiyaki-2.0.0.tar.gz",
"platform": null,
"description": "Okonomiyaki is an experimental library aimed at consolidating a lot of our\nlow-level code used for Enthought's eggs.\n\nThe library contains code for the following:\n\n* producing EDM and enpkg-compatible egg from a tree + metadata\n* object models for eggs metadata, as well as versions and platform\n representations\n\nIt works on Python >= 3.6, It is expected to work on pretty\nmuch any compliant python implementation.\n\nNote\n----\n\n* Version instances are available without extra dependencies so use ``pip install okonomiyaki``\n* Platform instances are available by installing ``pip install okonomiyaki[platforms]``\n* Egg metadata and archive tools are available by installing ``pip install okonomiyaki[formats]``\n* The full set of functionality, please use ``pip install okonomiyaki[all]``\n\n\nExamples\n========\n\nVersion parsing\n---------------\n\nTo parse versions::\n\n from okonomiyaki.versions import EnpkgVersion\n # Every Version class has a from_string constructor\n v1 = EnpkgVersion.from_string(\"1.3.3-1\")\n v2 = EnpkgVersion.from_string(\"1.3.2-3\")\n\n assert v1 > v2\n\nVersion instances are designed to be immutable, and to be used as keys in\ndictionaries.\n\nPlatform parsing\n----------------\n\nTo parse epd platform strings (``rh5-64``, ``rh6_x86_64``, etc.) consistently::\n\n from okonomiyaki.platforms import EPDPlatform\n # Internal representation is normalized.\n rh5_new_name = EPDPlatform.from_string(\"rh5-x86_64\")\n rh5_old_name = EPDPlatform.from_string(\"rh5-64\")\n\n assert rh5_old_name == rh5_new_name\n\nAs for Version instances, ``EPDPlatform`` instances are designed to be\nimmutable and to be used as keys in dictionaries.\n\nEgg metadata\n------------\n\nTo parse Enthought eggs::\n\n from okonomiyaki.file_formats import EggMetadata\n\n # Only works for Enthought eggs\n metadata = EggMetadata.from_egg(\"numpy-1.10.1-1.egg\")\n print(metadata.metadata_version)\n print(metadata.name)\n print(metadata.version)\n\nThis will take care of a lot of low-level, legacy details you don't want to\nknow about.\n\n2024-08-23 2.0.0\n--------------------\n\nEnhancements:\n\n* Add support for the ARM and ARM64 architectures in Arch (#458)\n* Add support for ARM64 in EPDPlatform \t(#458)\n* Add sample runtimes and eggs for the ARM64 architecture (#462, #460)\n* Add a constructor for Platform from a dictionary (#410, #472)\n\nBreaking Changes:\n\n* Remove Python 2.x code support. Okonomiyaki now supports running on > 3.6 (#380)\n* Remove the \"short\" attribute from the EPDPlatform instance (#485)\n* Remove the LagacyEPDPlatform instance (#485)\n* Remove okonomiyaki.recipes submodule (#473)\n* Move okonomiyaki.recipes.tests.data files to okonomiyaki.utils.test_data (#473)\n* Move dependencies to optional extras (#474)\n* default_abi will not fail for Python > 3.11 on windows anymore (#477)\n\nBug fixes:\n\n* Fix okonomiyaki cli when it is called with no arguments (#459)\n* Drop use of deprecated alias assertRaisesRegexp (#486)\n* Skip some tests on unsupported systems (#475)\n\nMaintenance:\n\n* Update Github ci to generate the html coverage report as a downloadable artifact (#457)\n* Run tests on MacOS M1 runners (#460)\n* Run tests on Python 3.11 (#461)\n* Run tests on Python 3.12 (#477)\n* Simplify setup.py (#476, #477)\n\n2023-06-29 1.4.0\n--------------------\n\nEnhancements:\n\n* Add cp311 dummy runtimes (#349)\n* Add cp311 dummy eggs (#453)\n* Update the code to guess a Platform instance from the running system (#448)\n - Added a NameKind value for Rocky Linux\n - Debian and RHEL compatible systems are now supported by the \"uknown\" NameKind\n - Add support for the RH8 platform\n* Update the PythonImplementation instance to support cp311 (#451)\n* Update okonomiyaki code to not use the deprecated LegacyEPDPlatform instance (#452)\n\nMaintenance:\n\n* Remove old Jenkins CI build setup (#440)\n* Update the test matrix on github actions and remove testing for Python 2.7 (#441, #447)\n* Move most of the package configuration into the setup.cfg (#450)\n\nBug fixes:\n\n* Fix the behaviour of the pep245 module and the way it is tested (#441, #447)\n* Fix the repr output for PEP440Version and RuntimeVersion (#435, #436)\n* Fix error message for unsupported platform combinations (#433)\n* Fix permissions in the dummy egg archives (#430)\n\n2021-07-01 1.3.2\n--------------------\n\nBug fixes:\n\n* Fix relative imports (#426)\n* Fix compute_abi_tag to support Python 3.8 (#424)\n\n2021-06-29 1.3.1\n--------------------\n\nBug fixes:\n\n* Update dummy eggs to hold the correct abi tag for Python 3.8 (#413)\n* Pass the runtime version to the from_epd_string constructor (#414)\n* Fix _guess_abi_tag and _guess_abi_from_python to support python 3.8 (#418)\n\n2021-03-21 1.3.0\n--------------------\n\nEnhancements:\n\n* Add cp38 dummy runtimes (#387)\n* Add cp38 dummy eggs (#395, #398)\n* Update default abi functions to support python 3.8 (#390)\n\nMaintenance:\n\n* Enable GitHub actions (#384)\n* Fix build badge to point to travis-ci.com (#376)\n* Fix path to the okonomiyaki test build project (#379)\n* Update script that verifies okonomiyaki can read eds eggs (#396)\n\nBug fixes:\n\n* Add rh6 and rh7 dummy eggs to setup.py (#369)\n* EPDPlatform.pep425_tag will always return 10.6 for macos platforms (#374, #387)\n* Fix older dummy windows runtime archives to work with recent EDM (#391, #397)\n* EPDPlatform.from_string will always return fixed release versions (#375, #387)\n\n\n2019-11-08 1.2.0\n--------------------\n\nEnhancements:\n\n* Run tests against Centos 7. (#359)\n\nMaintenance:\n\n* Run Travis CI on maintenance and tagged branches. (#352)\n* Only test branch builds on Appveyor for master and maintenance branches. (#364)\n\nBug fixes:\n\n* Add the license to the manifest. (#354)\n* Fix platform detection on Centos 7. (#161)\n* Fix error when '$' is in the Python runtime prefix. (#309)\n\n\n2019-09-20 1.1.1\n--------------------\n\nBug fixes:\n\n* Fix name of the 2.7.10 dummy runtime for rh6. (#341)\n\n\n2019-09-19 1.1.0\n--------------------\n\nEnhancements:\n\n* Add dummy test runtimes for python 3.6.5. (#327)\n* Add dummy test runtimes for rh7. (#331)\n* Add dummy test runtimes for rh6. (#330)\n* Add dummy test eggs for rh7. (#329)\n* Add dummy test eggs for rh6. (#328)\n\n\n2019-03-15 1.0.0\n--------------------\n\nEnhancements:\n\n* Add ability to parse setuptools eggs and wheels with metadata version 2.1 (#312)\n\nBug fixes:\n\n* Improve error message when hyphens are used in spec requirement string (#319)\n* Fix CI errors with jasonschema and attrs incompatibility (#318)\n* Fix Travis CI flake8 errors (#316)\n\n\n2018-03-12 0.17.4\n--------------------\n\nBug fixes:\n\n* fix test data dummy runtime for python 2.7.9 that contained osx system files. (#304)\n* fix test data dummy windows runtimes fix_scripts to support python 2 and python 3. (#303)\n\n\n2017-12-13 0.17.3\n--------------------\n\nEnhancements:\n\n* WheelInfo provides properties for the 'scripts' and 'headers'\n prefix scheme. (#298)\n\n\n2017-07-20 0.17.2\n--------------------\n\nbug fixes:\n\n* skip expected failure test_simple_from_running_python when running\n on osx under python 2.7.x. (#295)\n\n\n2017-07-19 0.17.1\n--------------------\n\nEnhancements:\n\n* streamline travis ci testing. (#286)\n* run tests on appveyor and python 3. (#288)\n\nbug fixes:\n\n* fix Runtime.executable value for Python 3 on windows. (#288)\n* fix compute_abi_tag/compute_python_tag/compute_platform_tag so that\n they can be used in a frozen app. (#284)\n\n\n2017-07-03 0.17.0\n--------------------\n\nEnhancements:\n\n* compute default ABI for ironpython/jython. (#225)\n* add support for CPython 3.6 (#229)\n* add support for `PKG-INFO` format 1.2 and 2.0 (#261, #271)\n* fix support for attrs >= 17.x\n* PackageInfo.from_path may parse PKG-INFO metadata from both wheels and eggs. (#274)\n* add WheelInfo class for wheel pep425 tags parsing. (#275)\n* add compute_abi_tag/compute_python_tag/compute_platform_tag functions to\n compute PEP 425 tags from arbitrary python executables (#278)\n* add some basic examples in the README. (#279)\n* add commonly used wheel prefixes to WheelInfo. (#280)\n\nbug fixes:\n\n* fix author_* entries in setup.py. (#235)\n* test runtimes should include pythonw.exe (#238)\n* fix applies(\"32\")/applies(\"64\") (#244)\n* fix permissions for egg metadata written through writestr. (#249)\n* fix error handling for platform strings with 'remains'. (#253)\n* fix invalid trove classifier in setup.py. (#258)\n* mark classes we need hashable as immutable. (#266)\n* add (long) description into setup.py. (#272)\n\n\n2016-06-29 0.16.0\n--------------------\n\nThis release focused on speeding up EggMetadata, and adding json serialization\nfor EDM.\n\nEnhancements:\n\n * update dependency on attr >= 16.0.0, which contains some speedups for\n validators (#220)\n * lazily parse PKG-INFO in EggMedata (#216)\n * test runtimes's dummy pythons output the right string and are of the right\n bitness (#215)\n * test runtimes now contains symlinks on Unix (#214)\n * json serialization for EggMetadata (#213)\n * expose Kind enums to okonomiyaki.runtimes (#204)\n * speedup EggMetadata.from_egg (#203)\n * EPDPlatform.from_epd_string is deprecated in favor of\n EPDPlatform.from_string(#199)\n * EggMetadata.from_egg does not re-open a zipfile 3 times (#195)\n\nBugs:\n\n * fix flake8 violations (#218)\n * remove spurious dependency on stevedore (#208)\n * missing enum34 dependency (#196)\n\n2016-04-27 0.15.0:\n--------------------\n\nEnhancements:\n\n * add `platform_abi` field to `EggMetadata`\n\nBug fixes:\n\n * raise the correct exception for invalid egg metadata (#156)\n * raise the correct exception for missing metadata in runtimes (#165)\n\nInternal changes:\n\n * enum34 is used instead of traitlets (#55)\n * traitlets is not used anymore (#56, #115, #145)\n\n2015-12-09 0.14.0:\n--------------------\n\nEnhancements:\n\n * Reject incompatible metadata_version in egg metadata, and add API to easily\n tweak the output's metadata_version (#150)\n * `default_abi` now works for alternative implementations (#149).\n * Exception hierarchy for invalid metadata has been improved for\n finer-grained error messages (#151)\n\nBackward incompatible changes:\n\n * `default_abi` function now takes 3 arguments (#149).\n\nBug fixes:\n\n * update python_tag blacklist to handle wrong metadata (#146)\n\n2015-10-02 0.13.0:\n--------------------\n\nEnhancements:\n\n * `abi` attribute for runtime (#134)\n * `metadata_version` attribute for runtime added (#143)\n\nBackward incompatible changes:\n\n * `language` attribute from runtime removed (#134)\n * `metadata_version_info` attribute from EggMetadata removed (#143)\n\nBug fixes:\n\n * update PKG-INFO blacklist to handle every pypi egg (#141)\n * update platform blacklist to handle wrong metadata for windows eggs w/ C\n extensions and no platform set up (#142)\n (#136).\n * fix round-tripping for PEP386 versions with post part without a dev part\n (#136).\n\n2015-09-28 0.12.0:\n--------------------\n\nImprovements:\n\n * blacklist mechanism for invalid python tag of existing eggs (#127)\n * accept filtre function in egg builders now take two arguments to allow\n filtering on the full content of the archive (#128)\n\n2015-09-14 0.11.0:\n--------------------\n\nImprovements:\n\n * SemanticVersion class added\n * MetadataVersion class added to easily manipulate metadata versions.\n * PEP440Version class added.\n * RuntimeVersion class added to model edm runtime versions\n * IRuntimeMetadata.factory_from_path class function to parse and validate\n runtime packages.\n * __str__ is now implemented for EPDPlatform. The implementation support\n EPDPlatform.from_epd_string(str(epd_platform)) == epd_platform (#117)\n\n2015-00-01 0.10.0:\n--------------------\n\nImprovements:\n\n * EnpkgVersion.from_string now handles versions of the form `1.3.0`, with the\n build number being implicitly 0.\n * EggMetadata.from_egg now handles eggs built for RedHat Enterprise\n Linux 3 (#88).\n * Fix decoding errors when parsing PKG-INFO (#86)\n * Fix parsing of spec/depend for RedHat 3 eggs (#88)\n * Special case invalid requirement 'numpy-1.8.0'\n\nInternals:\n\n * Remove dependency on six\n * Add support for both '-' and '_' as separators between os and arch in\n platform names for EPDPlatform, i.e. both from_epd_string(\"rh5-x86_64\") and\n from_epd_string(\"rh5_x86_64\") work (#83).\n * Black list mechanism to fix invalid PKG-INFO\n * Black list mechanism to handle platform-specific, any-arch eggs\n * Add special 'private' API for brood to bypass checksum computation in\n EggMetadata and PackageInfo\n\n2015-07-06 0.9.0:\n-------------------\n\nImprovements:\n\n * SetuptoolsEggMetadata now can guess ABI for legacy cases. (#74)\n * use PythonImplementation instances instead of strings to store python tag\n (#75).\n * add okonomiyaki.__version_info__ for easy version comparison (#76).\n\n2015-06-30 0.8.0:\n-------------------\n\nNew features:\n\n * New EggRewriter class to create Enthought eggs from setuptools eggs.\n\nImprovements:\n\n * add EPDPlatform.from_running_python ctor (#62)\n * reject unsupported metadata version in PackageInfo (#63)\n * add support for 'py2' python tag (#64)\n * add support for python 3 in SetuptoolsEggMetadata (#70)\n\nBug fixes:\n\n * handle Enthought eggs without PKG-INFO in EggMetadata (#65)\n * fix unicode handling of PKG-INFO and EGG-INFO/spec/summary (#72)\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Self-contained library to deal with metadata in Enthought-specific egg and runtime archives",
"version": "2.0.0",
"project_urls": {
"Homepage": "https://github.com/enthought/okonomiyaki"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f2d6d41a5628dc2166150b9fa2f7ad812ec3a125aab25d957bf95cd2dbc54ae4",
"md5": "992910e7eac7847516f107ef4f9b792b",
"sha256": "9d2b63cb5cbb3288a37c078b4ccda6adc1d6ac2d1c8990572b3de4f767ad72eb"
},
"downloads": -1,
"filename": "okonomiyaki-2.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "992910e7eac7847516f107ef4f9b792b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 8346905,
"upload_time": "2024-08-23T15:41:21",
"upload_time_iso_8601": "2024-08-23T15:41:21.734212Z",
"url": "https://files.pythonhosted.org/packages/f2/d6/d41a5628dc2166150b9fa2f7ad812ec3a125aab25d957bf95cd2dbc54ae4/okonomiyaki-2.0.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cceedddfa93a4153057a51053fa9d387a947dfcdb399ee7a473d4c844bed5834",
"md5": "1c09a89b06497335b338f7b2ef5182e2",
"sha256": "8aacccce9266629b7dd5d8f2ec01a4effa2b4d676517349f7933f9742f6f0c4a"
},
"downloads": -1,
"filename": "okonomiyaki-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "1c09a89b06497335b338f7b2ef5182e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 8258686,
"upload_time": "2024-08-23T15:41:28",
"upload_time_iso_8601": "2024-08-23T15:41:28.960824Z",
"url": "https://files.pythonhosted.org/packages/cc/ee/dddfa93a4153057a51053fa9d387a947dfcdb399ee7a473d4c844bed5834/okonomiyaki-2.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-23 15:41:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "enthought",
"github_project": "okonomiyaki",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "okonomiyaki"
}