Krill files

An edakrill resource is a single, generic building block of an EDA project. It comes in many forms, intended for different EDA software. An edakrill resource is most commonly one of these:

An edakrill resource is consists of a krill file and one or more data or script files. All content an EDA software needs is stored in the data files, the krill file is for attaching metadata to the resource. Metadata allows users to search the resources and the server to make automatic conversions and render previews. A file is not an integral part of the edakrill database if it is not referenced from at least one krill file.

Metadata is a list of tags. A tag consists a key and a list of values in the form of

key=value1, value2, value3

The krill file contains one tag per line. For example a krill file of a font file looks like this:

type=vector, font
name=hershey, cursive
software=pcb-rnd
license/dist=hershey
license/use=hershey
source=EggBot
author=Dr. A. V. Hershey, James Hurt, VK5HSE

The interpretation of keys and values vary: a few keys are defined by the edakrill site so that previews can be generated (official keys). However, most of the keys are there only to allow the user to search by them. The site tries to document these user-contributed key conventions. Edakrill contributors are encouraged to introduce new keys to make their metadata more detailed. EDA developers are encouraged to process official and conventional keys.

A list of the keys can be found TODO: here .

Anyload files

If the anyload tag is specified, it points to a file in the same directory as the krill file. This file will be renamed to anyload.lht for the tarball. Convention: this file is normally called foo.anyload for foo.krill.

If there is no anyload tag but one of the following combinations of tags is specified in the krill file, an anyload.lht is automatically generated:

tags purpose
software=pcb-rnd
type=drc
script=FILENAME.tdx
pcb-rnd drc_query rule
software=pcb-rnd
type=drc_query
script=FILENAME.tdx
software=pcb-rnd
type=script
script=FILENAME.tdx
lang=script_language
pcb-rnd user script