├── .gitignore ├── .travis.yml ├── LICENSE.md ├── README.md ├── environment.yml ├── examples ├── basic │ ├── bitmap.py │ ├── blank.py │ ├── fxlogo.png │ ├── headers.py │ ├── holes.py │ ├── namedrect.py │ ├── parts.py │ ├── passive.py │ ├── text.py │ └── vias.py ├── eagle_import │ ├── eagle_lbr.py │ └── sparkfun.lbr ├── kicad_import │ ├── kc1.kicad_mod │ ├── kc2.kicad_mod │ ├── kc3.kicad_mod │ ├── kc4.kicad_mod │ ├── kc5.kicad_mod │ ├── kc6.kicad_mod │ └── kicad.py ├── rerun.sh ├── sample │ └── sample.py └── skidl_test │ ├── cvpng.sh │ ├── skidl_test.erc │ ├── skidl_test.log │ ├── skidl_test.py │ └── skidl_test │ ├── skidl_test_preview_all.pdf │ ├── skidl_test_preview_bot.pdf │ ├── skidl_test_preview_bot_docu.pdf │ ├── skidl_test_preview_top.pdf │ └── skidl_test_preview_top_docu.pdf ├── images ├── preview_all.png ├── preview_bot.png ├── preview_bot_docu.png ├── preview_top.png ├── preview_top_docu.png ├── sample_all.png ├── sample_bot.png └── sample_top.png ├── pcbflow ├── __init__.py ├── board.py ├── draw.py ├── drc.py ├── eagle.py ├── excellon.py ├── footprints │ ├── __init__.py │ ├── bga.py │ ├── pin_header.py │ ├── qfn.py │ ├── smd_discrete.py │ ├── soic.py │ ├── sot.py │ ├── special_conn.py │ ├── special_pcb.py │ ├── tssop.py │ └── xtal.py ├── gerber.py ├── hershey.py ├── kicad.py ├── layer.py ├── part.py ├── route.py ├── sexp_parser.py ├── svgout.py └── util.py ├── requirements.txt ├── scripts ├── kilist.py ├── lbrlist.py ├── reblack.sh ├── rerun.sh ├── sparkfun.lbr └── special.lbr ├── setup.py └── tests ├── rerun.sh ├── test_board_init.py ├── test_holes.py ├── test_layer.py ├── test_parts.py ├── test_poly.py ├── test_smd_discrete.py └── test_text.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/README.md -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/environment.yml -------------------------------------------------------------------------------- /examples/basic/bitmap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/bitmap.py -------------------------------------------------------------------------------- /examples/basic/blank.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/blank.py -------------------------------------------------------------------------------- /examples/basic/fxlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/fxlogo.png -------------------------------------------------------------------------------- /examples/basic/headers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/headers.py -------------------------------------------------------------------------------- /examples/basic/holes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/holes.py -------------------------------------------------------------------------------- /examples/basic/namedrect.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/namedrect.py -------------------------------------------------------------------------------- /examples/basic/parts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/parts.py -------------------------------------------------------------------------------- /examples/basic/passive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/passive.py -------------------------------------------------------------------------------- /examples/basic/text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/text.py -------------------------------------------------------------------------------- /examples/basic/vias.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/basic/vias.py -------------------------------------------------------------------------------- /examples/eagle_import/eagle_lbr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/eagle_import/eagle_lbr.py -------------------------------------------------------------------------------- /examples/eagle_import/sparkfun.lbr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/eagle_import/sparkfun.lbr -------------------------------------------------------------------------------- /examples/kicad_import/kc1.kicad_mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kc1.kicad_mod -------------------------------------------------------------------------------- /examples/kicad_import/kc2.kicad_mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kc2.kicad_mod -------------------------------------------------------------------------------- /examples/kicad_import/kc3.kicad_mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kc3.kicad_mod -------------------------------------------------------------------------------- /examples/kicad_import/kc4.kicad_mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kc4.kicad_mod -------------------------------------------------------------------------------- /examples/kicad_import/kc5.kicad_mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kc5.kicad_mod -------------------------------------------------------------------------------- /examples/kicad_import/kc6.kicad_mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kc6.kicad_mod -------------------------------------------------------------------------------- /examples/kicad_import/kicad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/kicad_import/kicad.py -------------------------------------------------------------------------------- /examples/rerun.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | cd .. 3 | python setup.py install 4 | cd examples 5 | 6 | -------------------------------------------------------------------------------- /examples/sample/sample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/sample/sample.py -------------------------------------------------------------------------------- /examples/skidl_test/cvpng.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/cvpng.sh -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test.erc: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test.log: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/skidl_test.py -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test/skidl_test_preview_all.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/skidl_test/skidl_test_preview_all.pdf -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test/skidl_test_preview_bot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/skidl_test/skidl_test_preview_bot.pdf -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test/skidl_test_preview_bot_docu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/skidl_test/skidl_test_preview_bot_docu.pdf -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test/skidl_test_preview_top.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/skidl_test/skidl_test_preview_top.pdf -------------------------------------------------------------------------------- /examples/skidl_test/skidl_test/skidl_test_preview_top_docu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/examples/skidl_test/skidl_test/skidl_test_preview_top_docu.pdf -------------------------------------------------------------------------------- /images/preview_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/preview_all.png -------------------------------------------------------------------------------- /images/preview_bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/preview_bot.png -------------------------------------------------------------------------------- /images/preview_bot_docu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/preview_bot_docu.png -------------------------------------------------------------------------------- /images/preview_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/preview_top.png -------------------------------------------------------------------------------- /images/preview_top_docu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/preview_top_docu.png -------------------------------------------------------------------------------- /images/sample_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/sample_all.png -------------------------------------------------------------------------------- /images/sample_bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/sample_bot.png -------------------------------------------------------------------------------- /images/sample_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/images/sample_top.png -------------------------------------------------------------------------------- /pcbflow/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/__init__.py -------------------------------------------------------------------------------- /pcbflow/board.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/board.py -------------------------------------------------------------------------------- /pcbflow/draw.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/draw.py -------------------------------------------------------------------------------- /pcbflow/drc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/drc.py -------------------------------------------------------------------------------- /pcbflow/eagle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/eagle.py -------------------------------------------------------------------------------- /pcbflow/excellon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/excellon.py -------------------------------------------------------------------------------- /pcbflow/footprints/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/__init__.py -------------------------------------------------------------------------------- /pcbflow/footprints/bga.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/bga.py -------------------------------------------------------------------------------- /pcbflow/footprints/pin_header.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/pin_header.py -------------------------------------------------------------------------------- /pcbflow/footprints/qfn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/qfn.py -------------------------------------------------------------------------------- /pcbflow/footprints/smd_discrete.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/smd_discrete.py -------------------------------------------------------------------------------- /pcbflow/footprints/soic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/soic.py -------------------------------------------------------------------------------- /pcbflow/footprints/sot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/sot.py -------------------------------------------------------------------------------- /pcbflow/footprints/special_conn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/special_conn.py -------------------------------------------------------------------------------- /pcbflow/footprints/special_pcb.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/special_pcb.py -------------------------------------------------------------------------------- /pcbflow/footprints/tssop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/tssop.py -------------------------------------------------------------------------------- /pcbflow/footprints/xtal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/footprints/xtal.py -------------------------------------------------------------------------------- /pcbflow/gerber.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/gerber.py -------------------------------------------------------------------------------- /pcbflow/hershey.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/hershey.py -------------------------------------------------------------------------------- /pcbflow/kicad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/kicad.py -------------------------------------------------------------------------------- /pcbflow/layer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/layer.py -------------------------------------------------------------------------------- /pcbflow/part.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/part.py -------------------------------------------------------------------------------- /pcbflow/route.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/route.py -------------------------------------------------------------------------------- /pcbflow/sexp_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/sexp_parser.py -------------------------------------------------------------------------------- /pcbflow/svgout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/svgout.py -------------------------------------------------------------------------------- /pcbflow/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/pcbflow/util.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | shapely>=2.0.1 2 | pytest 3 | pillow 4 | svgwrite 5 | cairosvg 6 | -------------------------------------------------------------------------------- /scripts/kilist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/scripts/kilist.py -------------------------------------------------------------------------------- /scripts/lbrlist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/scripts/lbrlist.py -------------------------------------------------------------------------------- /scripts/reblack.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/scripts/reblack.sh -------------------------------------------------------------------------------- /scripts/rerun.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | cd .. 3 | python setup.py install 4 | cd scripts 5 | 6 | -------------------------------------------------------------------------------- /scripts/sparkfun.lbr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/scripts/sparkfun.lbr -------------------------------------------------------------------------------- /scripts/special.lbr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/scripts/special.lbr -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/setup.py -------------------------------------------------------------------------------- /tests/rerun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/rerun.sh -------------------------------------------------------------------------------- /tests/test_board_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_board_init.py -------------------------------------------------------------------------------- /tests/test_holes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_holes.py -------------------------------------------------------------------------------- /tests/test_layer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_layer.py -------------------------------------------------------------------------------- /tests/test_parts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_parts.py -------------------------------------------------------------------------------- /tests/test_poly.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_poly.py -------------------------------------------------------------------------------- /tests/test_smd_discrete.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_smd_discrete.py -------------------------------------------------------------------------------- /tests/test_text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/michaelgale/pcbflow/HEAD/tests/test_text.py --------------------------------------------------------------------------------