kicad-data: Parser and writer for KiCad files.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Parse and write KiCad data (currently .kicad_mod files only).


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.4.0, 0.5.0, 0.5.0, 0.5.1
Change log changelog.md
Dependencies base (>=4.4 && <4.11), ieee754 (>=0.7.4 && <0.9), lens-family (>=1.1 && <1.3), parsec (>=3.1.6 && <3.2), pretty-compact (>=1.0 && <2) [details]
License MIT
Copyright 2014
Author Kaspar Emanuel
Maintainer kaspar@monostable.co.uk
Category Data
Home page http://github.com/kasbah/haskell-kicad-data
Bug tracker http://github.com/kasbah/haskell-kicad-data/issues
Source repo head: git clone git@github.com:kasbah/haskell-kicad-data
Uploaded by kasbah at 2018-01-04T14:01:06Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for kicad-data-0.5.0

[back to package description]

Haskell KiCad Data

Build Status

Parse and write KiCad data (currently .kicad_mod files only).

This library is tested with QuickCheck to ensure it can parse whatever it outputs. The parser is also fairly regularily checked against over 38,000 kicad_mod files currently part of monostable/kicad_footprints. The resulting output of these parsed files is then checked with KiCad scripting to make sure they are still valid.

Usage

$ cabal repl
*Data.Kicad.PcbnewExpr> let pad = parse "(pad 1 smd rect (size 1 1) (at 1 1) (layers F.Cu))"
*Data.Kicad.PcbnewExpr> pad
Right (PcbnewExprItem (PcbnewPad {padNumber = "1", padType = SMD, padShape =
Rect, itemAt = PcbnewAtT {pcbnewAtPoint = (1.0,1.0), pcbnewAtOrientation =
0.0}, itemSize = (1.0,1.0), padLayers = [FCu], padAttributes_ = []}))
*Data.Kicad.PcbnewExpr> fmap write pad
Right "(pad \"1\" smd rect (at 1 1) (size 1 1) (layers F.Cu))"

See docs on Hackage.

Projects Using This

License

This project is MIT licensed but one dependency is licensed under GPLv3 thus the GPLv3 applies to the project as a whole.