Unzip Egg File Mac

Posted on  by 



ALZip
Developer(s)ESTsoft
Initial release1999
Stable release8.51.0.0 (9 September 2011; 9 years ago) [±]
Written inDelphi[citation needed]
Operating systemWindows 2000 or later
Available inEnglish, Korean, Japanese
TypeFile archiver
LicenseFreeware
Websitewww.altools.net

About Dezartisan. Enjoy the unique experience of creating DIY projects with your Silhouette or Cricut machines alongside the SVG designer. Whether you are a beginner looking for mentor-ship or a seasoned, small, craft business owner, you will find value in project inspiration, tutorials and quality, clean cutting files that will make your crafting time easier and pleasurable. This PEP describes a built-package format for Python called 'wheel'. A wheel is a ZIP-format archive with a specially formatted file name and the.whl extension. It contains a single distribution nearly as it would be installed according to PEP 376 with a particular installation scheme.

ALZip is an archive and compression utility from ESTsoft for Microsoft Windows.ALZip is a file compression program that can unzip 40 different zip file archives.ALZip can zip files into 8 different archives such as ZIP, EGG, TAR and others. In ALZip version 8, ALZip’s own EGG format, that Unicode and other powerful function supported, can be used.

History[edit]

Originally ALZip was developed in 1999 as an internal application at the South Koreansoftware company ESTsoft in response to employee frustration with using the English interface in WinZip.

The Korean interface was immediately well received[1] and later that year, ALZip was publicly released[2][3][4] as freeware.[5] In just over a year, ALZip became the most popular zip program in Korea[6] and by December 2001, was the top downloaded software[7][8] in the country. By 2004, it had reached a 70% market share in South Korea.[9] The popularity of the software and the ALZ archive format played a large role in earning ESTsoft a place in the Digital Innovation Awards Top 100 Companies in South Korea[10] with the software taking special mention.

Early in its development ALZip introduced the ALZ file format to deal with file size limitations of the ZIP file format. ALZ compression has no theoretical upper limit for file sizes, as they are only limited by operating system limits or the amount of available storage. The file format has become common in Korea.

The first English version was released in 2002. Since then, support for over 20 languages has been added.

The version 11.07 is available through Microsoft Store.[11]

Licensing changes[edit]

Originally ALZip was released as pure freeware, however in October 2001 changed to free for home use, with government usage requiring a software license. In April 2002, business license was also introduced,[4] commercial usage.[12] Licensing was based on the honor system, and there were no nag screens.

With the version 7 release, the license was changed from freeware to adware, displaying downloaded banner ads, and finally beginning 1 December 2008, all new releases are shareware requiring a paid license[13] except in its original Korean language, which requires no licensing fee.

With version 8.51, from 22 August 2012, ALZip changed the license so that it can be licensed free of charge. On the download page of ALZip is a serial number to copy and paste when you start AlZip, in order to have the license of the software free of charge.[14]

Naming and mascots[edit]

The name 'ALZip' was chosen, as the 'AL' part is a transliteration from the Korean 'aljip' (Hangul: 알집), literally EggZip. Other ALTools feature similar egghead cartoon characters as mascots for each program.

Additionally, ALZip integrates into the 'New Folder' function of Windows Explorer, where new folders are created with the option of using custom icons and names.[4]

Issues on file format[edit]

In 2003, there was a controversy over ALZip's own compression file format ALZ, when a developer of another Korean compression utility, '빵집' insisted that ALZip users were forced to use the ALZip archiver when decompressing ALZ files. He also insisted that ESTsoft does not offer decompression libraries, and third-party archiver developers have used reverse engineering to develop their own algorithms.[15]

The current version of '빵집' supports ALZ format.[16]and, in ALZip 8.0 beta version, ESTsoft made some format. *.EGG

See also[edit]

References[edit]

  1. ^Jeong, Jong Oh (November 1999). 'HOW: 한글 지원 국산 압축 유틸리티 3종'. HowPC (in Korean): 308–311.
  2. ^Lee, J. N. (23 August 1999). 모든 압축파일 자유자재로 풀어줍니다. Yonhap News (in Korean). Yonhap.
  3. ^Yoon, H. J. (30 August 1999). 압축유틸리티 '알집' 발표. 전자신문 (in Korean). Chunjashinmun.
  4. ^ abcWi, Yoonhee; Ji, Hyunjung (February 2003). 'PC 유틸리티는 쉽고 편하게, 알집에서 알툴즈까지'. Microsoftware (in Korean). Microsoftware (2): 152–155.
  5. ^Han, Sujin (November 2002). 'CEO of the Month: 국산 소프트웨어의 자존심'. Popular Science (in Korean) (11): 90.
  6. ^'Most used compression program poll'. 9 February 2001. Archived from the original on 13 August 2002. Retrieved 27 February 2001.
  7. ^Maeilkyungjae IT Internet (2001-12-03)
  8. ^Choi, Yeonjin (19 December 2001). '2001 디지탈 이노베이션 大賞 수상업체'. Hankooki (in Korean). Hankook Ilbo.
  9. ^'Korea Software Industry Association' (in Korean). 2004. Archived from the original on 2 April 2016. Retrieved 30 October 2006.
  10. ^디지탈 이노베이션 大賞. Hankook Ilbo (in Korean). Hankook Ilbo. 28 November 2001. p. 2.
  11. ^'Get ALZip'. Microsoft Store. Retrieved 15 September 2020.
  12. ^'Program Deliberation and Mediation Committee' (in Korean). June 2003. Archived from the original on 22 June 2006.
  13. ^http://www.altools.com/Default.aspx
  14. ^https://web.archive.org/web/20140223091755/http://www.altools.com/Home/News.aspx?&articleIdx=59&m=3
  15. ^'Archived copy'. Archived from the original on 3 July 2009. Retrieved 2009-09-19.CS1 maint: archived copy as title (link)
  16. ^ť§Áý

External links[edit]

  • Official website(in Korean)
  • unalz(in Korean) - Open-source decompressor for ALZip files, for Windows and Linux.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=ALZip&oldid=1003450272'
PEP:427
Title:The Wheel Binary Package Format 1.0
Author:Daniel Holth <dholth at gmail.com>
BDFL-Delegate:Nick Coghlan <ncoghlan at gmail.com>
Discussions-To:<distutils-sig at python.org>
Status:Final
Type:Standards Track
Created:20-Sep-2012
Post-History:18-Oct-2012, 15-Feb-2013
Resolution:https://mail.python.org/pipermail/python-dev/2013-February/124103.html

Contents

  • Details
    • Installing a wheel 'distribution-1.0-py32-none-any.whl'
    • File Format
      • File contents
  • FAQ

The canonical version of the wheel format specification is now maintained athttps://packaging.python.org/specifications/binary-distribution-format/ .This may contain amendments relative to this PEP.

File

This PEP describes a built-package format for Python called 'wheel'.

A wheel is a ZIP-format archive with a specially formatted file name andthe .whl extension. It contains a single distribution nearly as itwould be installed according to PEP 376 with a particular installationscheme. Although a specialized installer is recommended, a wheel filemay be installed by simply unpacking into site-packages with the standard'unzip' tool while preserving enough information to spread its contentsout onto their final paths at any later time.

This PEP was accepted, and the defined wheel version updated to 1.0, byNick Coghlan on 16th February, 2013 [1]

Python needs a package format that is easier to install than sdist.Python's sdist packages are defined by and require the distutils andsetuptools build systems, running arbitrary code to build-and-install,and re-compile, code just so it can be installed into a newvirtualenv. This system of conflating build-install is slow, hard tomaintain, and hinders innovation in both build systems and installers.

Wheel attempts to remedy these problems by providing a simplerinterface between the build system and the installer. The wheelbinary package format frees installers from having to know about thebuild system, saves time by amortizing compile time over manyinstallations, and removes the need to install a build system in thetarget environment.

Installing a wheel 'distribution-1.0-py32-none-any.whl'

Wheel installation notionally consists of two phases:

  • Unpack.
    1. Parse distribution-1.0.dist-info/WHEEL.
    2. Check that installer is compatible with Wheel-Version. Warn ifminor version is greater, abort if major version is greater.
    3. If Root-Is-Purelib 'true', unpack archive into purelib(site-packages).
    4. Else unpack archive into platlib (site-packages).
  • Spread.
    1. Unpacked archive includes distribution-1.0.dist-info/ and (ifthere is data) distribution-1.0.data/.
    2. Move each subtree of distribution-1.0.data/ onto itsdestination path. Each subdirectory of distribution-1.0.data/is a key into a dict of destination directories, such asdistribution-1.0.data/(purelib|platlib|headers|scripts|data).The initially supported paths are taken fromdistutils.command.install.
    3. If applicable, update scripts starting with #!python to pointto the correct interpreter.
    4. Update distribution-1.0.dist-info/RECORD with the installedpaths.
    5. Remove empty distribution-1.0.data directory.
    6. Compile any installed .py to .pyc. (Uninstallers should be smartenough to remove .pyc even if it is not mentioned in RECORD.)

Recommended installer features

Rewrite #!python.

In wheel, scripts are packaged in{distribution}-{version}.data/scripts/. If the first line ofa file in scripts/ starts with exactly b'#!python', rewrite topoint to the correct interpreter. Unix installers may need to addthe +x bit to these files if the archive was created on Windows.

The b'#!pythonw' convention is allowed. b'#!pythonw' indicatesa GUI script instead of a console script.

Generate script wrappers.
In wheel, scripts packaged on Unix systems will certainly not haveaccompanying .exe wrappers. Windows installers may want to add themduring install.

Recommended archiver features

Place .dist-info at the end of the archive.
Archivers are encouraged to place the .dist-info files physicallyat the end of the archive. This enables some potentially interestingZIP tricks including the ability to amend the metadata withoutrewriting the entire archive.

File Format

File name convention

The wheel filename is {distribution}-{version}(-{buildtag})?-{pythontag}-{abitag}-{platformtag}.whl.

distribution
Distribution name, e.g. 'django', 'pyramid'.
version
Distribution version, e.g. 1.0.
build tag
Optional build number. Must start with a digit. Acts as atie-breaker if two wheel file names are the same in all otherrespects (i.e. name, version, and other tags). Sort as anempty tuple if unspecified, else sort as a two-item tuple withthe first item being the initial digits as an int, and thesecond item being the remainder of the tag as a str.
language implementation and version tag
E.g. 'py27', 'py2', 'py3'.
abi tag
E.g. 'cp33m', 'abi3', 'none'.
platform tag
E.g. 'linux_x86_64', 'any'.

For example, distribution-1.0-1-py27-none-any.whl is the firstbuild of a package called 'distribution', and is compatible withPython 2.7 (any Python 2.7 implementation), with no ABI (pure Python),on any CPU architecture.

The last three components of the filename before the extension arecalled 'compatibility tags.' The compatibility tags express thepackage's basic interpreter requirements and are detailed in PEP 425.

Escaping and Unicode

Each component of the filename is escaped by replacing runs ofnon-alphanumeric characters with an underscore _:

The archive filename is Unicode. It will be some time before the toolsare updated to support non-ASCII filenames, but they are supported inthis specification.

The filenames inside the archive are encoded as UTF-8. Although someZIP clients in common use do not properly display UTF-8 filenames,the encoding is supported by both the ZIP specification and Python'szipfile.

File contents

The contents of a wheel file, where {distribution} is replaced with thename of the package, e.g. beaglevote and {version} is replaced withits version, e.g. 1.0.0, consist of:

  1. /, the root of the archive, contains all files to be installed inpurelib or platlib as specified in WHEEL. purelib andplatlib are usually both site-packages.

  2. {distribution}-{version}.dist-info/ contains metadata.

  3. {distribution}-{version}.data/ contains one subdirectoryfor each non-empty install scheme key not already covered, wherethe subdirectory name is an index into a dictionary of install paths(e.g. data, scripts, include, purelib, platlib).

  4. Python scripts must appear in scripts and begin with exactlyb'#!python' in order to enjoy script wrapper generation and#!python rewriting at install time. They may have any or noextension.

  5. {distribution}-{version}.dist-info/METADATA is Metadata version 1.1or greater format metadata.

  6. {distribution}-{version}.dist-info/WHEEL is metadata about the archiveitself in the same basic key: value format:

  7. Wheel-Version is the version number of the Wheel specification.

  8. Generator is the name and optionally the version of the softwarethat produced the archive.

  9. Root-Is-Purelib is true if the top level directory of the archiveshould be installed into purelib; otherwise the root should be installedinto platlib.

  10. Tag is the wheel's expanded compatibility tags; in the example thefilename would contain py2.py3-none-any.

  11. Build is the build number and is omitted if there is no build number.

  12. A wheel installer should warn if Wheel-Version is greater than theversion it supports, and must fail if Wheel-Version has a greatermajor version than the version it supports.

  13. Wheel, being an installation format that is intended to work acrossmultiple versions of Python, does not generally include .pyc files.

  14. Wheel does not contain setup.py or setup.cfg.

This version of the wheel specification is based on the distutils installschemes and does not define how to install files to other locations.The layout offers a superset of the functionality provided by the existingwininst and egg binary formats.

The .dist-info directory

  1. Wheel .dist-info directories include at a minimum METADATA, WHEEL,and RECORD.
  2. METADATA is the package metadata, the same format as PKG-INFO asfound at the root of sdists.
  3. WHEEL is the wheel metadata specific to a build of the package.
  4. RECORD is a list of (almost) all the files in the wheel and theirsecure hashes. Unlike PEP 376, every file except RECORD, whichcannot contain a hash of itself, must include its hash. The hashalgorithm must be sha256 or better; specifically, md5 and sha1 arenot permitted, as signed wheel files rely on the strong hashes inRECORD to validate the integrity of the archive.
  5. PEP 376's INSTALLER and REQUESTED are not included in the archive.
  6. RECORD.jws is used for digital signatures. It is not mentioned inRECORD.
  7. RECORD.p7s is allowed as a courtesy to anyone who would prefer touse S/MIME signatures to secure their wheel files. It is notmentioned in RECORD.
  8. During extraction, wheel installers verify all the hashes in RECORDagainst the file contents. Apart from RECORD and its signatures,installation will fail if any file in the archive is not bothmentioned and correctly hashed in RECORD.

The .data directory

Any file that is not normally installed inside site-packages goes intothe .data directory, named as the .dist-info directory but with the.data/ extension:

The .data directory contains subdirectories with the scripts, headers,documentation and so forth from the distribution. During installation thecontents of these subdirectories are moved onto their destination paths.

Signed wheel files

Wheel files include an extended RECORD that enables digitalsignatures. PEP 376's RECORD is altered to include a secure hashdigestname=urlsafe_b64encode_nopad(digest) (urlsafe base64encoding with no trailing = characters) as the second column insteadof an md5sum. All possible entries are hashed, including anygenerated files such as .pyc files, but not RECORD which cannot contain itsown hash. For example:

The signature file(s) RECORD.jws and RECORD.p7s are not mentioned inRECORD at all since they can only be added after RECORD is generated.Every other file in the archive must have a correct hash in RECORDor the installation will fail.

If JSON web signatures are used, one or more JSON Web Signature JSONSerialization (JWS-JS) signatures is stored in a file RECORD.jws adjacentto RECORD. JWS is used to sign RECORD by including the SHA-256 hash ofRECORD as the signature's JSON payload:

(The hash value is the same format used in RECORD.)

If RECORD.p7s is used, it must contain a detached S/MIME format signatureof RECORD.

A wheel installer is not required to understand digital signatures butMUST verify the hashes in RECORD against the extracted file contents.When the installer checks file hashes against RECORD, a separate signaturechecker only needs to establish that RECORD matches the signature.

See

Comparison to .egg

  1. Wheel is an installation format; egg is importable. Wheel archivesdo not need to include .pyc and are less tied to a specific Pythonversion or implementation. Wheel can install (pure Python) packagesbuilt with previous versions of Python so you don't always have towait for the packager to catch up.
  2. Wheel uses .dist-info directories; egg uses .egg-info. Wheel iscompatible with the new world of Python packaging and the newconcepts it brings.
  3. Wheel has a richer file naming convention for today'smulti-implementation world. A single wheel archive can indicateits compatibility with a number of Python language versions andimplementations, ABIs, and system architectures. Historically theABI has been specific to a CPython release, wheel is ready for thestable ABI.
  4. Wheel is lossless. The first wheel implementation bdist_wheelalways generates egg-info, and then converts it to a .whl. It isalso possible to convert existing eggs and bdist_wininstdistributions.
  5. Wheel is versioned. Every wheel file contains the version of thewheel specification and the implementation that packaged it.Hopefully the next migration can simply be to Wheel 2.0.
  6. Wheel is a reference to the other Python.

Wheel defines a .data directory. Should I put all my data there?

This specification does not have an opinion on how you should organizeyour code. The .data directory is just a place for any files that arenot normally installed inside site-packages or on the PYTHONPATH.In other words, you may continue to use pkgutil.get_data(package,resource) even though those files will usually not be distributedin wheel's.data directory.

Why does wheel include attached signatures?

Attached signatures are more convenient than detached signaturesbecause they travel with the archive. Since only the individual filesare signed, the archive can be recompressed without invalidatingthe signature or individual files can be verified without havingto download the whole archive.

Why does wheel allow JWS signatures?

The JOSE specifications of which JWS is a part are designed to be easyto implement, a feature that is also one of wheel's primary designgoals. JWS yields a useful, concise pure-Python implementation.

Why does wheel also allow S/MIME signatures?

S/MIME signatures are allowed for users who need or want to useexisting public key infrastructure with wheel.

Signed packages are only a basic building block in a secure packageupdate system. Wheel only provides the building block.

What's the deal with 'purelib' vs. 'platlib'?

Wheel preserves the 'purelib' vs. 'platlib' distinction, which issignificant on some platforms. For example, Fedora installs purePython packages to '/usr/lib/pythonX.Y/site-packages' and platformdependent packages to '/usr/lib64/pythonX.Y/site-packages'.

A wheel with 'Root-Is-Purelib: false' with all its filesin {name}-{version}.data/purelib is equivalent to a wheel with'Root-Is-Purelib: true' with those same files in the root, and itis legal to have files in both the 'purelib' and 'platlib' categories.

Unzip Egg File Mac Pro

In practice a wheel should have only one of 'purelib' or 'platlib'depending on whether it is pure Python or not and those files shouldbe at the root with the appropriate setting given for 'Root-is-purelib'.

Is it possible to import Python code directly from a wheel file?

Technically, due to the combination of supporting installation viasimple extraction and using an archive format that is compatible withzipimport, a subset of wheel files do support being placed directlyon sys.path. However, while this behaviour is a natural consequenceof the format design, actually relying on it is generally discouraged.

Firstly, wheel is designed primarily as a distribution format, soskipping the installation step also means deliberately avoiding anyreliance on features that assume full installation (such as being ableto use standard tools like pip and virtualenv to capture andmanage dependencies in a way that can be properly tracked for auditingand security update purposes, or integrating fully with the standardbuild machinery for C extensions by publishing header files in theappropriate place).

Unzip Egg File Mac Os

Secondly, while some Python software is written to support runningdirectly from a zip archive, it is still common for code to be writtenassuming it has been fully installed. When that assumption is brokenby trying to run the software from a zip archive, the failures can oftenbe obscure and hard to diagnose (especially when they occur in thirdparty libraries). The two most common sources of problems with thisare the fact that importing C extensions from a zip archive is notsupported by CPython (since doing so is not supported directly by thedynamic loading machinery on any platform) and that when running froma zip archive the __file__ attribute no longer refers to anordinary filesystem path, but to a combination path that includesboth the location of the zip archive on the filesystem and therelative path to the module inside the archive. Even when softwarecorrectly uses the abstract resource APIs internally, interfacing withexternal components may still require the availability of an actualon-disk file.

Egg File Extractor

Like metaclasses, monkeypatching and metapath importers, if you're notalready sure you need to take advantage of this feature, you almostcertainly don't need it. If you do decide to use it anyway, beaware that many projects will require a failure to be reproduced witha fully installed package before accepting it as a genuine bug.

Unzip Egg File Machine

[1]PEP acceptance(https://mail.python.org/pipermail/python-dev/2013-February/124103.html)

Egg File Opener

This document has been placed into the public domain.

Source: https://github.com/python/peps/blob/master/pep-0427.txt



Coments are closed