[DOCs] Added which tools are downloaded automagically

This commit is contained in:
Salvador E. Tropea 2022-06-29 10:13:43 -03:00
parent cdc9d5736e
commit c453fff8af
5 changed files with 15 additions and 10 deletions

View File

@ -98,6 +98,8 @@ You can also run KiBot using docker images in a CI/CD environment like GitHub or
Notes: 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 from the Debian repo you don't need to worry about dependencies, just pay attention to *recommended* and *suggested* packages.
- When installing using `pip` the dependencies marked as **PyPi dependency** will be automatically installed. - When installing using `pip` the dependencies marked as **PyPi dependency** will be automatically installed.
- The dependencies marked with **Auto-download** can be downloaded on-demand by KiBot.
Note this is experimental and is mostly oriented to 64 bits Linux systems.
- The `kibot-check` tool can help you to know which dependencies are missing. - The `kibot-check` tool can help you to know which dependencies are missing.
- Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its `policy.xml` file. - Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its `policy.xml` file.
Comment or remove lines like this: `<policy domain="coder" rights="none" pattern="PDF" />` (On Debian: `/etc/ImageMagick-6/policy.xml`) Comment or remove lines like this: `<policy domain="coder" rights="none" pattern="PDF" />` (On Debian: `/etc/ImageMagick-6/policy.xml`)
@ -118,7 +120,7 @@ Notes:
- Mandatory for `kicost` - Mandatory for `kicost`
- Optional to find components costs and specs for `bom` - Optional to find components costs and specs for `bom`
[**PcbDraw**](https://github.com/INTI-CMNB/pcbdraw) v0.9.0 (tool) [**PcbDraw**](https://github.com/INTI-CMNB/pcbdraw) v0.9.0 (tool) (Auto-download)
- Mandatory for `pcbdraw` - Mandatory for `pcbdraw`
- Optional to create realistic solder masks for `pcb_print` - Optional to create realistic solder masks for `pcb_print`
@ -137,7 +139,7 @@ Notes:
[**Colorama**](https://pypi.org/project/Colorama/) (python module) (PyPi dependency) [Debian](https://packages.debian.org/bullseye/python3-colorama) [**Colorama**](https://pypi.org/project/Colorama/) (python module) (PyPi dependency) [Debian](https://packages.debian.org/bullseye/python3-colorama)
- Optional to get color messages in a portable way for general use - Optional to get color messages in a portable way for general use
[**RSVG tools**](https://gitlab.gnome.org/GNOME/librsvg) v2.40 (tool) [Debian](https://packages.debian.org/bullseye/librsvg2-bin) [**RSVG tools**](https://gitlab.gnome.org/GNOME/librsvg) v2.40 (tool) [Debian](https://packages.debian.org/bullseye/librsvg2-bin) (Auto-download)
- Optional to: - Optional to:
- Create outputs preview for `navigate_results` - Create outputs preview for `navigate_results`
- Create PNG icons for `navigate_results` - Create PNG icons for `navigate_results`
@ -145,19 +147,19 @@ Notes:
- Create EPS format for `pcb_print` (v2.40) - Create EPS format for `pcb_print` (v2.40)
- Create PNG and JPG images for `pcbdraw` - Create PNG and JPG images for `pcbdraw`
[**Git**](https://git-scm.com/) (tool) [Debian](https://packages.debian.org/bullseye/git) [**Git**](https://git-scm.com/) (tool) [Debian](https://packages.debian.org/bullseye/git) (Auto-download)
- Optional to: - Optional to:
- Find commit hash and/or date for `pcb_replace` - 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 `sch_replace`
- Find commit hash and/or date for `set_text_variables` - Find commit hash and/or date for `set_text_variables`
[**ImageMagick**](https://imagemagick.org/) (tool) [Debian](https://packages.debian.org/bullseye/imagemagick) [**ImageMagick**](https://imagemagick.org/) (tool) [Debian](https://packages.debian.org/bullseye/imagemagick) (Auto-download)
- Optional to: - Optional to:
- Create outputs preview for `navigate_results` - Create outputs preview for `navigate_results`
- Create monochrome prints for `pcb_print` - Create monochrome prints for `pcb_print`
- Create JPG images for `pcbdraw` - Create JPG images for `pcbdraw`
[**Ghostscript**](https://www.ghostscript.com/) (tool) [Debian](https://packages.debian.org/bullseye/ghostscript) [**Ghostscript**](https://www.ghostscript.com/) (tool) [Debian](https://packages.debian.org/bullseye/ghostscript) (Auto-download)
- Optional to: - Optional to:
- Create outputs preview for `navigate_results` - Create outputs preview for `navigate_results`
- Create PS files for `pcb_print` - Create PS files for `pcb_print`
@ -165,7 +167,7 @@ Notes:
[**Pandoc**](https://pandoc.org/) (tool) [Debian](https://packages.debian.org/bullseye/pandoc) [**Pandoc**](https://pandoc.org/) (tool) [Debian](https://packages.debian.org/bullseye/pandoc)
- Optional to create PDF/ODF/DOCX files for `report` - Optional to create PDF/ODF/DOCX files for `report`
[**RAR**](https://www.rarlab.com/) (tool) [Debian](https://packages.debian.org/bullseye/rar) [**RAR**](https://www.rarlab.com/) (tool) [Debian](https://packages.debian.org/bullseye/rar) (Auto-download)
- Optional to compress in RAR format for `compress` - Optional to compress in RAR format for `compress`
[**XLSXWriter**](https://pypi.org/project/XLSXWriter/) (python module) (PyPi dependency) [Debian](https://packages.debian.org/bullseye/python3-xlsxwriter) [**XLSXWriter**](https://pypi.org/project/XLSXWriter/) (python module) (PyPi dependency) [Debian](https://packages.debian.org/bullseye/python3-xlsxwriter)

View File

@ -98,6 +98,8 @@ You can also run KiBot using docker images in a CI/CD environment like GitHub or
Notes: 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 from the Debian repo you don't need to worry about dependencies, just pay attention to *recommended* and *suggested* packages.
- When installing using `pip` the dependencies marked as **PyPi dependency** will be automatically installed. - When installing using `pip` the dependencies marked as **PyPi dependency** will be automatically installed.
- The dependencies marked with **Auto-download** can be downloaded on-demand by KiBot.
Note this is experimental and is mostly oriented to 64 bits Linux systems.
- The `kibot-check` tool can help you to know which dependencies are missing. - The `kibot-check` tool can help you to know which dependencies are missing.
- Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its `policy.xml` file. - Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its `policy.xml` file.
Comment or remove lines like this: `<policy domain="coder" rights="none" pattern="PDF" />` (On Debian: `/etc/ImageMagick-6/policy.xml`) Comment or remove lines like this: `<policy domain="coder" rights="none" pattern="PDF" />` (On Debian: `/etc/ImageMagick-6/policy.xml`)

View File

@ -737,6 +737,7 @@ def print_dependencies(markdown=True, jsn=False):
key=lambda x: x[1].importance, reverse=True): key=lambda x: x[1].importance, reverse=True):
dtype = 'python module' if dep.is_python else 'tool' dtype = 'python module' if dep.is_python else 'tool'
is_pypi_dep = ' (PyPi dependency)' if dep.pypi_name.lower() in __pypi_deps__ else '' is_pypi_dep = ' (PyPi dependency)' if dep.pypi_name.lower() in __pypi_deps__ else ''
has_dowloader = ' (Auto-download)' if dep.downloader is not None else ''
deb = '' deb = ''
if markdown: if markdown:
if dep.is_python: if dep.is_python:
@ -759,7 +760,7 @@ def print_dependencies(markdown=True, jsn=False):
ver = '' ver = ''
if version: if version:
ver = 'v'+'.'.join(map(str, version))+' ' ver = 'v'+'.'.join(map(str, version))+' '
print("{} {}({}){}{}".format(name, ver, dtype, is_pypi_dep, deb)) print("{} {}({}){}{}{}".format(name, ver, dtype, is_pypi_dep, deb, has_dowloader))
if needed: if needed:
if len(needed) == 1: if len(needed) == 1:
if needed[0] == 'general use': if needed[0] == 'general use':

View File

@ -28,7 +28,7 @@ from .misc import (CMD_PCBNEW_PRINT_LAYERS, URL_PCBNEW_PRINT_LAYERS, PDF_PCB_PRI
from .kiplot import check_script, exec_with_retry, add_extra_options from .kiplot import check_script, exec_with_retry, add_extra_options
from .registrable import RegDependency from .registrable import RegDependency
from .create_pdf import create_pdf_from_pages from .create_pdf import create_pdf_from_pages
from .dep_downloader import check_tool, rsvg_downloader, gs_downloader, convert_downloader from .dep_downloader import check_tool, rsvg_downloader, gs_downloader, convert_downloader, pytool_downloader
from .macros import macros, document, output_class # noqa: F401 from .macros import macros, document, output_class # noqa: F401
from .drill_marks import DRILL_MARKS_MAP, add_drill_marks from .drill_marks import DRILL_MARKS_MAP, add_drill_marks
from .layer import Layer, get_priority from .layer import Layer, get_priority
@ -47,7 +47,7 @@ rsvg_dep = rsvg_dependency('pcb_print', rsvg_downloader, roles=ToolDependencyRol
rsvg_dep2 = rsvg_dependency('pcb_print', rsvg_downloader, roles=ToolDependencyRole(desc='Create EPS format', version=(2, 40))) rsvg_dep2 = rsvg_dependency('pcb_print', rsvg_downloader, roles=ToolDependencyRole(desc='Create EPS format', version=(2, 40)))
gs_dep = gs_dependency('pcb_print', gs_downloader, roles=ToolDependencyRole(desc='Create PS files')) gs_dep = gs_dependency('pcb_print', gs_downloader, roles=ToolDependencyRole(desc='Create PS files'))
convert_dep = convert_dependency('pcb_print', convert_downloader, roles=ToolDependencyRole(desc='Create monochrome prints')) convert_dep = convert_dependency('pcb_print', convert_downloader, roles=ToolDependencyRole(desc='Create monochrome prints'))
pcbdraw_dep = pcbdraw_dependency('pcb_print', None, roles=ToolDependencyRole(desc='Create realistic solder masks', pcbdraw_dep = pcbdraw_dependency('pcb_print', pytool_downloader, roles=ToolDependencyRole(desc='Create realistic solder masks',
version=PCBDRAW_MIN_VERSION)) version=PCBDRAW_MIN_VERSION))
RegDependency.register(rsvg_dep) RegDependency.register(rsvg_dep)
RegDependency.register(rsvg_dep2) RegDependency.register(rsvg_dep2)

View File

@ -464,7 +464,7 @@ deps = '{\
"PcbDraw": {\ "PcbDraw": {\
"command": "pcbdraw",\ "command": "pcbdraw",\
"deb_package": "pcbdraw",\ "deb_package": "pcbdraw",\
"downloader": null,\ "downloader": {},\
"extra_deb": null,\ "extra_deb": null,\
"help_option": "--version",\ "help_option": "--version",\
"importance": 10001,\ "importance": 10001,\