You are looking at historical revision 17525 of this page. It may differ significantly from its current revision.

Metafile reference

The .meta file describes properties of a downloadable extension (see eggs tutorial for an explanation of extensions and meta files).

The following properties are supported:

(synopsis STRING)

A short description of the extension (required).

(author STRING)

The author, optionally with an e-mail address, if desired (required).

 (maintainer STRING)

The maintainer, if not identical to the author.

(files STRING ...)

The names of all files that should be contained in the egg (required).

(license STRING)

The license under which the code is released. Please make sure you use the proper license if you package code written by others (required). Read eggs licencing for details on how to format this string!

(category SYMBOL)

A category under which the egg should be listed on the egg-index page at (required).

Currently the set of categories is fixed, use one of:

   code-generation:  Code generation
   crypt:            Cryptography
   data:             Algorithms and data-structures
   db:               Databases
   debugging:        Debugging tools
   doc-tools:        Documentation tools
   egg-tools:        Egg tools
   ffi:              Interfacing to other languages
   graphics:         Graphics
   io:               Input/Output
   lang-exts:        Language extensions
   logic:            Logic programming
   macros:           Macros and meta-syntax
   math:             Mathematical libraries
   misc:             Miscellaneous
   net:              Networking
   oop:              Object-oriented programming
   os:               OS interface
   parsing:          Data formats and parsing
   sound:            Sound related stuff
   testing:          Unit-testing
   tools:            Command line tools
   ui:               User interface toolkits
   web:              Web programming
   xml:              XML processing
(needs EXTENSION-ID ...)

Any extensions needed to build and use this extension. This should normally be the raw extension-identifier, the same that you would use in a require-extension form. Alternatively, EXTENSION-ID may be an arbitrary Scheme expression that is evaluated and should return a list of extension-ids. This is intended to test the executing system for particular platform- or installation-specific features before computing a set of required extensions to be available before the installation of the original extension commences.

(depends EXT ...)

Similar to needs, but EXT may also be of the form (EXTENSIONNAME VERSION) to specify a particular version of an extension this extension depends on.

(test-depends EXT ...)

Specifies dependencies that are required to run the included test-suite.


Marks this extension as being "hidden", that is: it is available for download and the documentation page is generated, but it will not appear in the official list (mainly intended for preliminary eggs and testing).

(platform ID ...)

Identifies the platforms where this extension can be used. ID ... should be one or more feature IDs, i.e. symbols returned by build-platform, software-version, software-type, machine-type and machine-byte-order. If a particular type of feature ID is not given, it implies that this egg is portable across all platforms that are described by this type. To see the features available on your system, enter ,r at the csi prompt. ID may also be a combination of (or ID ...), (and ID ...) and (not ID) forms, having the obvious meaning.