Skip to main content

Create deployment folder for KiCAD based PCBA

Project description

PCBA Helper

Downloads Release Python License: MIT codecov

Generate a deployment folder with all required files for easy PCBA


General

Generate a (secured) deployment folder with all required files for easy PCBA

Installation

[<PYTHON> -m] pip[3] install [--user] [--upgrade] pcba_helper

Usage

Create a login secured deployment folder from the KiCAD project at examples/KiCAD. The folder is named deploy and placed in the examples/KiCAD folder. The iBOM file is expected relative to the KiCAD project folder.

generate-deployments examples/KiCAD \
  --output examples/KiCAD/deploy \
  --ibom-file ibom/ibom.html \
  --username "John" \
  --password "secret" \
  -vvvv

The parameter --public is optional and creates pure HTML files which can be accessed without passing any login page, parameter values of username and password are ignored.

Example

The docker-compose.yml generates the PDF from the KiCAD schematic, creates the deploy folder and fires up an Apache server with PHP at the fixed IP address 172.42.0.2.

[PUBLIC=1] docker compose up --build
docker compose down
[sudo] rm -rf examples/KiCAD/deploy

Contributing

Setup

For active development you need to have poetry and pre-commit installed

python3 -m pip install --upgrade --user poetry pre-commit
git clone https://github.com/brainelectronics/pcba_helper.git
cd pcba_helper
pre-commit install
poetry install

Testing

# run all tests
poetry run coverage run -m pytest -v

# run only one specific tests
poetry run coverage run -m pytest -v -k "test_read_save"

Generate the coverage files with

python create_report_dirs.py
coverage html

The coverage report is placed at reports/coverage/html/index.html

Changelog

The changelog format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Please add a changelog snippet, see below, for every PR you contribute. The changes are categorised into:

  • bugfixes fix an issue which can be used out of the box without any further changes required by the user. Be aware that in some cases bugfixes can be breaking changes.
  • features is used to indicate a backwards compatible change providing improved or extended functionalitiy. This does, as bugfixes, in any case not require any changes by the user to keep the system running after upgrading.
  • breaking creates a breaking, non backwards compatible change which requires the user to perform additional tasks, adopt his currently running code or in general can't be used as is anymore.

The scope of a change shall either be:

  • internal if no new deployment is required for this change, like updates in the documentation for example
  • external or all if this change affects the public API of this package or requires a new tag and deployment for any other reason

The changelog entry shall be short but meaningful and can of course contain links and references to other issues or PRs. New lines are only allowed for a new bulletpoint entry. Usage examples or other code snippets should be placed in the code documentation, README or the docs folder.

The name of the snippet shall be <ISSUE_ID.md>

[poetry run] changelog-generator \
    create .snippets/1.md

Credits

A big thank you to the creators and maintainers of SemVer.org for their documentation and regex example

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pcba_helper-0.2.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pcba_helper-0.2.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file pcba_helper-0.2.0.tar.gz.

File metadata

  • Download URL: pcba_helper-0.2.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pcba_helper-0.2.0.tar.gz
Algorithm Hash digest
SHA256 734674eb91ecd4edd1cc2225089ea25c9d589783d5caaa38174ffcec599957ba
MD5 38e3c8ec65476fd30a235c11df787f12
BLAKE2b-256 189695b76ac6591d5791701c9e8b29b405e6a2fb958328e249ffe67a12a668eb

See more details on using hashes here.

File details

Details for the file pcba_helper-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pcba_helper-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pcba_helper-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eae327bbc8050e6008e41df49d1078a9529c8463cd1ef755c2596c59da7b9ff0
MD5 dbb917218c8ff4a428fdd4157ea0ab7a
BLAKE2b-256 1c3a49433fcbd7fd60540fc88ac47871962d367c4965901ade8ce4dcc78499c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page