diff --git a/README.md b/README.md index 1dc56326..e81e55a1 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ You can also run KiBot using docker images in a CI/CD environment like GitHub or 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 `pip` the dependencies marked with ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) will be automatically installed. -- The dependencies marked with **Auto-download** can be downloaded on-demand by KiBot. +- The dependencies marked with ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) 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. - Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its `policy.xml` file. @@ -121,21 +121,21 @@ Notes: [**Requests**](https://pypi.org/project/Requests/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/Python-logo-notext-22x22.png) ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/python3-requests) - Mandatory -[**KiCad Automation tools**](https://github.com/INTI-CMNB/KiAuto) v1.6.13 ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) (Auto-download) +[**KiCad Automation tools**](https://github.com/INTI-CMNB/KiAuto) v1.6.13 ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Mandatory for: `gencad`, `netlist`, `pdf_pcb_print`, `pdf_sch_print`, `render_3d`, `run_drc`, `run_erc`, `step`, `svg_pcb_print`, `svg_sch_print`, `update_xml` -[**KiCost**](https://github.com/hildogjr/KiCost) v1.1.8 ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) (Auto-download) +[**KiCost**](https://github.com/hildogjr/KiCost) v1.1.8 ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Mandatory for `kicost` - Optional to find components costs and specs for `bom` -[**PcbDraw**](https://github.com/INTI-CMNB/pcbdraw) v0.9.0 ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) (Auto-download) +[**PcbDraw**](https://github.com/INTI-CMNB/pcbdraw) v0.9.0 ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Mandatory for `pcbdraw` - Optional to create realistic solder masks for `pcb_print` -[**Interactive HTML BoM**](https://github.com/INTI-CMNB/InteractiveHtmlBom) v2.4.1.4 ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) +[**Interactive HTML BoM**](https://github.com/INTI-CMNB/InteractiveHtmlBom) v2.4.1.4 ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) - Mandatory for `ibom` -[**KiBoM**](https://github.com/INTI-CMNB/KiBoM) v1.8.0 ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) (Auto-download) +[**KiBoM**](https://github.com/INTI-CMNB/KiBoM) v1.8.0 ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Mandatory for `kibom` [**LXML**](https://pypi.org/project/LXML/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/Python-logo-notext-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/python3-lxml) @@ -147,7 +147,7 @@ Notes: [**Colorama**](https://pypi.org/project/Colorama/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/Python-logo-notext-22x22.png) ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/python3-colorama) - Optional to get color messages in a portable way for general use -[**RSVG tools**](https://gitlab.gnome.org/GNOME/librsvg) v2.40 ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/librsvg2-bin) (Auto-download) +[**RSVG tools**](https://gitlab.gnome.org/GNOME/librsvg) v2.40 ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/librsvg2-bin) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Optional to: - Create outputs preview for `navigate_results` - Create PNG icons for `navigate_results` @@ -155,27 +155,27 @@ Notes: - Create EPS format for `pcb_print` (v2.40) - Create PNG and JPG images for `pcbdraw` -[**Git**](https://git-scm.com/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/git) (Auto-download) +[**Git**](https://git-scm.com/) ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/git) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Optional to: - 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` -[**ImageMagick**](https://imagemagick.org/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/imagemagick) (Auto-download) +[**ImageMagick**](https://imagemagick.org/) ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/imagemagick) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Optional to: - Create outputs preview for `navigate_results` - Create monochrome prints for `pcb_print` - Create JPG images for `pcbdraw` -[**Ghostscript**](https://www.ghostscript.com/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/ghostscript) (Auto-download) +[**Ghostscript**](https://www.ghostscript.com/) ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/ghostscript) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Optional to: - Create outputs preview for `navigate_results` - Create PS files for `pcb_print` -[**Pandoc**](https://pandoc.org/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/pandoc) +[**Pandoc**](https://pandoc.org/) ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/pandoc) - Optional to create PDF/ODF/DOCX files for `report` -[**RAR**](https://www.rarlab.com/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/rar) (Auto-download) +[**RAR**](https://www.rarlab.com/) ![Tool](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/rar) ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) - Optional to compress in RAR format for `compress` [**XLSXWriter**](https://pypi.org/project/XLSXWriter/) ![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/Python-logo-notext-22x22.png) ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) [![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)](https://packages.debian.org/bullseye/python3-xlsxwriter) diff --git a/docs/README.in b/docs/README.in index 5db33afa..df4621a5 100644 --- a/docs/README.in +++ b/docs/README.in @@ -103,7 +103,7 @@ You can also run KiBot using docker images in a CI/CD environment like GitHub or 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 `pip` the dependencies marked with ![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/PyPI_logo_simplified-22x22.png) will be automatically installed. -- The dependencies marked with **Auto-download** can be downloaded on-demand by KiBot. +- The dependencies marked with ![Auto-download](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/auto_download-22x22.png) 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. - Note that on some systems (i.e. Debian) ImageMagick disables PDF manipulation in its `policy.xml` file. diff --git a/docs/images/auto_download-22x22.png b/docs/images/auto_download-22x22.png new file mode 100644 index 00000000..e524a5f3 Binary files /dev/null and b/docs/images/auto_download-22x22.png differ diff --git a/docs/images/auto_download.svg b/docs/images/auto_download.svg new file mode 100644 index 00000000..669ebd90 --- /dev/null +++ b/docs/images/auto_download.svg @@ -0,0 +1,138 @@ + + + + + + + + + + image/svg+xml + + add_arc + + + + + + + + + + + + + + + + zip + + + + + + + + + diff --git a/kibot/config_reader.py b/kibot/config_reader.py index 01f4f1eb..a0a82869 100644 --- a/kibot/config_reader.py +++ b/kibot/config_reader.py @@ -29,12 +29,12 @@ LOCAL_OPTIONAL = 1 GLOBAL_OPTIONAL = LOCAL_OPTIONAL*100 LOCAL_MANDATORY = GLOBAL_OPTIONAL*100 GLOBAL_MANDATORY = LOCAL_MANDATORY*100 -DEB_LOGO = '![Debian](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/debian-openlogo-22x22.png)' -PYPI_LOGO = ('![PyPi dependency](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/' - 'docs/images/PyPI_logo_simplified-22x22.png)') -PY_LOGO = ('![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/' - 'docs/images/Python-logo-notext-22x22.png)') -TOOL_LOGO = '![Python module](https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/llave-inglesa-22x22.png)' +GITHUB_RAW = 'https://raw.githubusercontent.com/INTI-CMNB/KiBot/master/docs/images/' +DEB_LOGO = '![Debian]('+GITHUB_RAW+'debian-openlogo-22x22.png)' +PYPI_LOGO = ('![PyPi dependency]('+GITHUB_RAW+'PyPI_logo_simplified-22x22.png)') +PY_LOGO = ('![Python module]('+GITHUB_RAW+'Python-logo-notext-22x22.png)') +TOOL_LOGO = '![Tool]('+GITHUB_RAW+'llave-inglesa-22x22.png)' +AUTO_DOWN = '![Auto-download]('+GITHUB_RAW+'auto_download-22x22.png)' try: import yaml @@ -740,11 +740,11 @@ def print_dependencies(markdown=True, jsn=False): # Now print them sorted by importance (and by name as a second criteria) for name, dep in sorted(sorted(RegDependency.get_registered().items(), key=lambda x: x[0].lower()), # noqa C414 key=lambda x: x[1].importance, reverse=True): - has_dowloader = ' (Auto-download)' if dep.downloader is not None else '' deb = '' if markdown: dtype = ' '+PY_LOGO if dep.is_python else ' '+TOOL_LOGO is_pypi_dep = ' '+PYPI_LOGO if dep.pypi_name.lower() in __pypi_deps__ else '' + has_dowloader = ' '+AUTO_DOWN if dep.downloader is not None else '' if dep.is_python: url = 'https://pypi.org/project/{}/'.format(name) else: @@ -755,6 +755,7 @@ def print_dependencies(markdown=True, jsn=False): else: dtype = ' (Python module)' if dep.is_python else ' (Tool)' 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 '' if dep.in_debian: deb = ' (Debian: {})'.format(dep.deb_package) needed = []