Installation
KiBot main target is Linux, but some users successfully use it on Windows. For Windows you’ll need to install tools to mimic a Linux environment. Running KiBot on MacOSX should be possible now that KiCad migrated to Python 3.x.
You can also run KiBot using docker images in a CI/CD environment like GitHub or GitLab. In this case you don’t need to install anything locally.
Dependencies
Notes:
When installing from the Debian repo you don’t need to worry about dependencies, just pay attention to recommended and suggested packages.
When installing using
pipthe dependencies marked with
will be automatically installed.The dependencies marked with
can be downloaded on-demand
by KiBot. Note this is poorly tested and is mostly oriented to 64 bits
Linux systems. Please report problems.The
kibot-checktool can help you to know which dependencies are missing.Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its
policy.xmlfile. Comment or remove lines like this:<policy domain="coder" rights="none" pattern="PDF" />(On Debian:/etc/ImageMagick-6/policy.xml)
Link to Debian stable package.
This is a Python module, not a separated
tool.
This is an independent tool, can be a binary or a Python script.
Lark :

Mandatory
PyYAML :

Mandatory
Requests :

Mandatory
KiCad Automation tools : v2.2.1

Mandatory for: dxf_sch_print, gencad, hpgl_sch_print, netlist, pdf_pcb_print, pdf_sch_print, ps_sch_print, render_3d, run_drc, run_erc, step, svg_pcb_print, svg_sch_print, update_xml, vrml
Optional to:
Compare schematics for diff (v2.2.0)
Show KiAuto installation information for info (v2.0.0)
Print the page frame in GUI mode for pcb_print (v1.6.7)
KiKit : v1.3.0.4

Mandatory for: panelize, stencil_3d, stencil_for_jig
Optional to separate multiboard projects for general use
LXML :

Mandatory for: pcb_print, pcbdraw
OpenSCAD :

Mandatory for: stencil_3d, stencil_for_jig
Xvfb :

Mandatory for: stencil_3d, stencil_for_jig
Mandatory for: stencil_3d, stencil_for_jig
KiCost : v1.1.8

Mandatory for kicost
Optional to find components costs and specs for bom
Blender : v3.4.0

Mandatory for blender_export
Interactive HTML BoM : v2.7.0

Mandatory for ibom
KiBoM : v1.8.0

Mandatory for kibom
KiCad PCB/SCH Diff : v2.4.4

Mandatory for diff
Mandatory for kikit_present
mistune :

Mandatory for populate
Mandatory for qr_lib
Colorama :

Optional to get color messages in a portable way for general use
Git :

Optional to:
Compare with files in the repo for diff
Find commit hash and/or date for kikit_present
Find commit hash and/or date for pcb_replace
Find commit hash and/or date for sch_replace
Find commit hash and/or date for set_text_variables
Optional to:
Automatically crop images for blender_export
Create outputs preview for navigate_results
Create monochrome prints and scaled PNG files for pcb_print
Create JPG and BMP images for pcbdraw
Automatically crop images for render_3d
Optional to:
Create outputs preview for navigate_results
Create PNG icons for navigate_results
Create PDF, PNG, PS and EPS formats for pcb_print
Create PNG, JPG and BMP images for pcbdraw
Bash :

Optional to:
Run external commands to create replacement text for pcb_replace
Run external commands to create replacement text for sch_replace
Run external commands to create replacement text for set_text_variables
Optional to:
Create outputs preview for navigate_results
Create PNG, PS and EPS formats for pcb_print
numpy :

Optional to automatically adjust SVG margin for pcbdraw
Pandoc :

Optional to create PDF/ODF/DOCX files for report
Note: In CI/CD environments: the kicad_auto_test docker image contains it.
RAR :

Optional to compress in RAR format for compress
Optional to create XLSX files for bom
Installation on Ubuntu or Debian
The easiest way is to use the
repo, but if you want to
manually install the individual .deb files you can:
Get the Debian package from the releases section and run:
sudo apt install ./kibot*_all.deb
Important note: Sometimes the release needs another packages that aren’t part of the stable Debian distribution. In this case the packages are also included in the release page. As an example version 0.6.0 needs:
sudo apt install ./python3-mcpy_2.0.2-1_all.deb ./kibot_0.6.0-1_all.deb
Important note: The KiCad Automation Scripts packages are a mandatory dependency. The KiBoM, InteractiveHtmlBom and PcbDraw are recommended.
Installation on Arch Linux
AUR repository for kibot
yay -S kibot
Installation using pip
pip install --no-compile kibot
Note that pip has the dubious idea of compiling everything it
downloads. There is no advantage in doing it and it interferes with the
mcpy macros. Also note that in modern Linux systems pip was
renamed to pip3, to avoid confusion with pip from Python 2.
If you are installing at system level I recommend generating the
compilation caches after installing. As root just run:
kibot --help-outputs > /dev/null
Note that pip will automatically install all the needed Python
dependencies. But it won’t install other interesting dependencies. In
particular you should take a look at the KiCad Automation
Scripts
dependencies. If you have a Debian based OS I strongly recommend trying
to use the .deb packages for all the tools.
If you want to install the code only for the current user add the
--user option.
If you want to install the last git code from GitHub using pip use:
pip3 install --user git+https://github.com/INTI-CMNB/KiBot.git
You can also clone the repo, change to its directory and install using:
pip3 install --user -e .
In this way you can change the code and you won’t need to install again.
Notes about virtualenv
If you try to use a Python virtual environment you’ll need to find a way
to make the KiCad module (pcbnew) available on it. I don’t know how
to make it.
In addition: note that the virtual env will change the system share data
paths. They will no longer point to things like /usr/share/ but to a
virtual env place. So you’ll need to either define environment variables
to tell KiBot where are the libs or just add symlinks from the virtual
env to the system level libs.
Installation on other targets
Install KiCad 5.1.6 or newer
Install Python 3.5 or newer
Install the Python Yaml and requests modules
Run the script src/kibot