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]

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


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.2.0.0, 0.3.0.0, 0.4.0, 0.5.0, 0.5.0
Change logchangelog.md
Dependenciesbase (>=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]
LicenseMIT
Copyright2014
AuthorKaspar Emanuel
Maintainerkaspar@monostable.co.uk
CategoryData
Home pagehttp://github.com/kasbah/haskell-kicad-data
Bug trackerhttp://github.com/kasbah/haskell-kicad-data/issues
Source repositoryhead: git clone git@github.com:kasbah/haskell-kicad-data
UploadedThu Jan 4 14:01:06 UTC 2018 by kasbah

Modules

[Index]

Downloads

Maintainers' corner

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.