kicad_bom

KiCad Python module for generating bill of materials in multiple formats.

https://github.com/peterpolidoro/kicad_bom

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

KiCad Python module for generating bill of materials in multiple formats.

Basic Info
  • Host: GitHub
  • Owner: peterpolidoro
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 58.6 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 3
  • Open Issues: 2
  • Releases: 0
Created over 11 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Authors Codemeta

README.md

About

markdown - Python Package Name: kicad_bom - Description: KiCad Python code for generating bill of materials in multiple formats. - Python Package Exports: KicadBom, save_all_csv_files - Version: 6.0.0 - Python Version: 3.10 - Release Date: 2024-05-10 - Creation Date: 2022-08-16 - License: BSD-3-Clause - URL: https://github.com/janelia-python/kicad_bom - Author: Peter Polidoro - Email: peter@polidoro.io - Copyright: 2024 Howard Hughes Medical Institute - References: - https://gitlab.com/kicad/code/kicad - Dependencies: - kicad_netlist_reader

Example Usage

Python

Standard BOM

```python from kicadbom import KicadBom kb = KicadBom(netlistpath='.')

fields = ['Item', 'Quantity', 'Manufacturer', 'Manufacturer Part Number', 'Synopsis', 'Reference(s)', 'Package'] kb.savebomcsv_file('.', fields) ```

Org Mode BOM Table

```python from kicadbom import KicadBom kb = KicadBom(netlistpath='.')

fields = ['Item', 'Quantity', 'Manufacturer', 'Manufacturer Part Number', 'Synopsis', 'Reference(s)', 'Package'] bom = kb.getbom(inputfields=fields, outputfields=fields, formatfororgtable=True) ```

jlcpcb

```python from kicadbom import KicadBom kb = KicadBom(netlistpath='.')

inputfields = ['Synopsis', 'Reference', 'Package', 'LCSC'] outputfields = ['Comment', 'Designator', 'Footprint', 'LCSC'] kb.savebomcsvfile('jlcpcb-bom.csv', inputfields, output_fields) ```

Vendor Parts Files

```python from kicadbom import KicadBom kb = KicadBom(netlistpath='.')

kb.savevendorpartscsvfiles('.') ```

Installation

https://github.com/janelia-python/python_setup

GNU/Linux

Python Code

The Python code in this library may be installed in any number of ways, chose one.

  1. pip

    sh python3 -m venv ~/venvs/kicad_bom source ~/venvs/kicad_bom/bin/activate pip install kicad_bom

  2. guix

    Setup guix-janelia channel:

    https://github.com/guix-janelia/guix-janelia

    sh guix install python-kicad-bom

Windows

Python Code

The Python code in this library may be installed in any number of ways, chose one.

  1. pip

    sh python3 -m venv C:\venvs\kicad_bom C:\venvs\kicad_bom\Scripts\activate pip install kicad_bom

Development

Clone Repository

sh git clone git@github.com:janelia-python/kicad_bom.git cd kicad_bom

Guix

Install Guix

Install Guix

Edit metadata.org

sh make -f .metadata/Makefile metadata-edits

Tangle metadata.org

sh make -f .metadata/Makefile metadata

Develop Python package

sh make -f .metadata/Makefile guix-dev-container exit

Test Python package using ipython shell

sh make -f .metadata/Makefile guix-dev-container-ipython import kicad_bom exit

Test Python package installation

sh make -f .metadata/Makefile guix-container exit

Upload Python package to pypi

sh make -f .metadata/Makefile upload

Docker

Install Docker Engine

https://docs.docker.com/engine/

Develop Python package

sh make -f .metadata/Makefile docker-dev-container exit

Test Python package using ipython shell

sh make -f .metadata/Makefile docker-dev-container-ipython import kicad_bom exit

Test Python package installation

sh make -f .metadata/Makefile docker-container exit

Owner

  • Name: Peter Polidoro
  • Login: peterpolidoro
  • Kind: user
  • Company: Howard Hughes Medical Institute

I build robotics and automate experiments for the scientists studying animal brains at Janelia Research Campus.

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "license": "https://spdx.org/licenses/BSD-3-Clause",
  "codeRepository": "https://github.com/janelia-python/kicad_bom",
  "dateCreated": "2022-08-16",
  "dateModified": "2024-05-09",
  "name": "kicad_bom",
  "version": "6.0.0",
  "description": "KiCad Python code for generating bill of materials in multiple formats.",
  "programmingLanguage": [
    "Python 3"
  ],
  "author": [
    {
      "@type": "Person",
      "givenName": "Peter",
      "familyName": "Polidoro",
      "email": "peter@polidoro.io",
      "affiliation": {
        "@type": "Organization",
        "name": "Howard Hughes Medical Institute"
      }
    }
  ]
}

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 1
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tntodorov (1)
Pull Request Authors
  • cculpepper (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Dependencies

setup.py pypi
  • kicad_netlist_reader *
.metadata/docker/Dockerfile docker
  • kicad_bom-dev latest build
pyproject.toml pypi
requirements.txt pypi
  • kicad-netlist-reader ==7.0.1