pykitinfo


Namepykitinfo JSON
Version 1.1.2.19 PyPI version JSON
download
home_pageNone
SummaryA provider of information about connected Microchip development kits
upload_time2024-04-05 08:26:24
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords microchip xplained pro edbg nedbg curiosity nano pkob nano debugger mcp2221a
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pykitinfo
pykitinfo provides information about connected Microchip development kits and tools

## Overview
pykitinfo will scan the USB subsystem for connected Microchip development kits, and provide information such as kit name, mounted device, serial port identifier, and extension information.

pykitinfo is available:

* install using pip from pypi: https://pypi.org/project/pykitinfo
* browse source code on github: https://github.com/microchip-pic-avr-tools/pykitinfo
* read API documentation on github: https://microchip-pic-avr-tools.github.io/pykitinfo

pykitinfo currently supports:
* all PKOB nano (nEDBG), mEDBG and EDBG kits
* Atmel-ICE, Power Debugger, JTAGICE3
* PICkit3, PKOB
* PICkit4, Snap, PKOB4, PICkit5
* MCP2221A

## Usage
pykitinfo can be used as a library or as a CLI

## Example - simple list of connected kits
```bash
pykitinfo
```
Displays a simple list of kits in the form:
Kit SERIAL-NUMBER: 'KIT-NAME' (DEVICE-NAME) on SERIAL-PORT

For example:
```bash
pykitinfo
Looking for Microchip kits...
Compatible kits detected: 8
Kit MCHP3349011800000000: 'AVR-IoT WA' (ATmega4808) on COM21
Kit MCHP3280021800000000: 'AVR128DA48 Curiosity Nano' (AVR128DA48) on COM17
Kit ATML2241020200000000: 'SAM L21 Xplained Pro' (ATSAML21J18A) on COM34
Kit J41800000000: 'Atmel-ICE CMSIS-DAP' () on N/A
Kit J50200000000: 'Power Debugger CMSIS-DAP' () on N/A
Kit ATML2323040200000000: 'mEDBG' (ATmega328P) on COM26
Kit BUR180115004: 'Explorer 16/32 PICkit on Board' () on N/A
Kit 020063002RYN000091: 'Curiosity Nano Explorer' (N/A) on COM74
```

## Example - simple list of connected kits with specific serial number
```bash
pykitinfo -s <serialnumber ending>
```
Displays a simple list of kits in the form:
Kit SERIAL-NUMBER: 'KIT-NAME' (DEVICE-NAME) on SERIAL-PORT

For example:
```bash
pykitinfo -s 29
Looking for Microchip kits...
Compatible kits detected: 1
Kit MCHP3352011800000029: 'PIC-IoT WA' (PIC24FJ128GA705) on COM22
```

## Example - brief lookup of serial port of connected kit
```bash
pykitinfo -b
```
Displays ONLY the serial port name of a connected kit.  This can be useful for command chaining.

For example:
```bash
pykitinfo -b -s 123456
COM12
```

## Example - long form list of kits
```bash
pykitinfo -l
```

Displays a JSON formatted list of dictionaries.

For example:
```bash
pykitinfo -l
Looking for Microchip kits...
Compatible kits detected: 2
[
  {
    "debugger": {
      "device": "ATmega4808",
      "kitname": "AVR-IoT WA",
      "product": "nEDBG CMSIS-DAP",
      "protocol": "edbg",
      "serial_number": "MCHP3349011800000000",
      "serial_port": "COM21"
    },
    "usb": {
      "interface": "hid",
      "packet_size": 64,
      "product_id": 8565,
      "product_string": "nEDBG CMSIS-DAP",
      "serial_number": "MCHP3349011800000000",
      "vendor_id": 1003
    }
  },
  {
    "debugger": {
      "device": "AVR128DA48",
      "kitname": "AVR128DA48 Curiosity Nano",
      "product": "nEDBG CMSIS-DAP",
      "protocol": "edbg",
      "serial_number": "MCHP3280021800000000",
      "serial_port": "COM17"
    },
    "usb": {
      "interface": "hid",
      "packet_size": 64,
      "product_id": 8565,
      "product_string": "nEDBG CMSIS-DAP",
      "serial_number": "MCHP3280021800000000",
      "vendor_id": 1003
    }
  }
]
```

## Example - library usage
```python
# Example: using pykitinfo as a library
import logging
logging.basicConfig(format="%(levelname)s: %(message)s", level=logging.ERROR)
from pykitinfo import pykitinfo
kits = pykitinfo.detect_all_kits()
for kit in kits:
    print("Found kit: '{}'".format(kit['debugger']['kitname']))
```

## Notes for Linux® systems
This package uses pyedbglib and other libraries for USB transport and some udev rules are required. For details see the pyedbglib package: https://pypi.org/project/pyedbglib
# Changelog

## [1.1.2] - April 2024

### Added
- DSG-7105 added support for Explorer 16/32 kit
- DSG-7181 added support for MCP2221A kits

## [1.0.3] - January 2024

### Added
- DSG-5792 added brief mode for reporting serial port only
- DSG-6091 added support for reading out nEDBG extension information
- DSG-6444 added support for PICkit 5

### Fixed
- DSG-5767 fixed unicode output in long mode
- DSG-6310 added fault tolerance for non-numeric interface numbers
- DSG-7084 fixed crash on Mac when virtual serial port is missing serial number
- DSG-7087 added fault tolerance for USB devices missing serial number

## [0.4.0] - November 2022

### Changed
- DSG-5562 added catch-all exception handling in CLI; added return code
- DSG-5624 improved port detection using updated pyedbglib (requirement)
- DSG-5551 removed metadata tag for Python 3.6
- DSG-5450 added metadata tag for Python 3.10

## [0.3.1] - December 2021

### Added
- DSG-3826 PICkit3 support
- DSG-3903 WinUSB tools support
- DSG-4140 Help updates
- DSG-4195 Documentation output

### Fixed
- DSG-3407 Serial port detection on Xplained Pro
- DSG-3409 CLI argument -R
- DSG-3410 Xplained Pro kit name reporting

## [0.1.2] - May 2021
- First public release to PyPi

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pykitinfo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Microchip, Xplained Pro, EDBG, nEDBG, Curiosity Nano, PKOB nano, debugger, MCP2221A",
    "author": null,
    "author_email": "Microchip Technology <support@microchip.com>",
    "download_url": null,
    "platform": null,
    "description": "# pykitinfo\npykitinfo provides information about connected Microchip development kits and tools\n\n## Overview\npykitinfo will scan the USB subsystem for connected Microchip development kits, and provide information such as kit name, mounted device, serial port identifier, and extension information.\n\npykitinfo is available:\n\n* install using pip from pypi: https://pypi.org/project/pykitinfo\n* browse source code on github: https://github.com/microchip-pic-avr-tools/pykitinfo\n* read API documentation on github: https://microchip-pic-avr-tools.github.io/pykitinfo\n\npykitinfo currently supports:\n* all PKOB nano (nEDBG), mEDBG and EDBG kits\n* Atmel-ICE, Power Debugger, JTAGICE3\n* PICkit3, PKOB\n* PICkit4, Snap, PKOB4, PICkit5\n* MCP2221A\n\n## Usage\npykitinfo can be used as a library or as a CLI\n\n## Example - simple list of connected kits\n```bash\npykitinfo\n```\nDisplays a simple list of kits in the form:\nKit SERIAL-NUMBER: 'KIT-NAME' (DEVICE-NAME) on SERIAL-PORT\n\nFor example:\n```bash\npykitinfo\nLooking for Microchip kits...\nCompatible kits detected: 8\nKit MCHP3349011800000000: 'AVR-IoT WA' (ATmega4808) on COM21\nKit MCHP3280021800000000: 'AVR128DA48 Curiosity Nano' (AVR128DA48) on COM17\nKit ATML2241020200000000: 'SAM L21 Xplained Pro' (ATSAML21J18A) on COM34\nKit J41800000000: 'Atmel-ICE CMSIS-DAP' () on N/A\nKit J50200000000: 'Power Debugger CMSIS-DAP' () on N/A\nKit ATML2323040200000000: 'mEDBG' (ATmega328P) on COM26\nKit BUR180115004: 'Explorer 16/32 PICkit on Board' () on N/A\nKit 020063002RYN000091: 'Curiosity Nano Explorer' (N/A) on COM74\n```\n\n## Example - simple list of connected kits with specific serial number\n```bash\npykitinfo -s <serialnumber ending>\n```\nDisplays a simple list of kits in the form:\nKit SERIAL-NUMBER: 'KIT-NAME' (DEVICE-NAME) on SERIAL-PORT\n\nFor example:\n```bash\npykitinfo -s 29\nLooking for Microchip kits...\nCompatible kits detected: 1\nKit MCHP3352011800000029: 'PIC-IoT WA' (PIC24FJ128GA705) on COM22\n```\n\n## Example - brief lookup of serial port of connected kit\n```bash\npykitinfo -b\n```\nDisplays ONLY the serial port name of a connected kit.  This can be useful for command chaining.\n\nFor example:\n```bash\npykitinfo -b -s 123456\nCOM12\n```\n\n## Example - long form list of kits\n```bash\npykitinfo -l\n```\n\nDisplays a JSON formatted list of dictionaries.\n\nFor example:\n```bash\npykitinfo -l\nLooking for Microchip kits...\nCompatible kits detected: 2\n[\n  {\n    \"debugger\": {\n      \"device\": \"ATmega4808\",\n      \"kitname\": \"AVR-IoT WA\",\n      \"product\": \"nEDBG CMSIS-DAP\",\n      \"protocol\": \"edbg\",\n      \"serial_number\": \"MCHP3349011800000000\",\n      \"serial_port\": \"COM21\"\n    },\n    \"usb\": {\n      \"interface\": \"hid\",\n      \"packet_size\": 64,\n      \"product_id\": 8565,\n      \"product_string\": \"nEDBG CMSIS-DAP\",\n      \"serial_number\": \"MCHP3349011800000000\",\n      \"vendor_id\": 1003\n    }\n  },\n  {\n    \"debugger\": {\n      \"device\": \"AVR128DA48\",\n      \"kitname\": \"AVR128DA48 Curiosity Nano\",\n      \"product\": \"nEDBG CMSIS-DAP\",\n      \"protocol\": \"edbg\",\n      \"serial_number\": \"MCHP3280021800000000\",\n      \"serial_port\": \"COM17\"\n    },\n    \"usb\": {\n      \"interface\": \"hid\",\n      \"packet_size\": 64,\n      \"product_id\": 8565,\n      \"product_string\": \"nEDBG CMSIS-DAP\",\n      \"serial_number\": \"MCHP3280021800000000\",\n      \"vendor_id\": 1003\n    }\n  }\n]\n```\n\n## Example - library usage\n```python\n# Example: using pykitinfo as a library\nimport logging\nlogging.basicConfig(format=\"%(levelname)s: %(message)s\", level=logging.ERROR)\nfrom pykitinfo import pykitinfo\nkits = pykitinfo.detect_all_kits()\nfor kit in kits:\n    print(\"Found kit: '{}'\".format(kit['debugger']['kitname']))\n```\n\n## Notes for Linux\u00ae systems\nThis package uses pyedbglib and other libraries for USB transport and some udev rules are required. For details see the pyedbglib package: https://pypi.org/project/pyedbglib\n# Changelog\n\n## [1.1.2] - April 2024\n\n### Added\n- DSG-7105 added support for Explorer 16/32 kit\n- DSG-7181 added support for MCP2221A kits\n\n## [1.0.3] - January 2024\n\n### Added\n- DSG-5792 added brief mode for reporting serial port only\n- DSG-6091 added support for reading out nEDBG extension information\n- DSG-6444 added support for PICkit 5\n\n### Fixed\n- DSG-5767 fixed unicode output in long mode\n- DSG-6310 added fault tolerance for non-numeric interface numbers\n- DSG-7084 fixed crash on Mac when virtual serial port is missing serial number\n- DSG-7087 added fault tolerance for USB devices missing serial number\n\n## [0.4.0] - November 2022\n\n### Changed\n- DSG-5562 added catch-all exception handling in CLI; added return code\n- DSG-5624 improved port detection using updated pyedbglib (requirement)\n- DSG-5551 removed metadata tag for Python 3.6\n- DSG-5450 added metadata tag for Python 3.10\n\n## [0.3.1] - December 2021\n\n### Added\n- DSG-3826 PICkit3 support\n- DSG-3903 WinUSB tools support\n- DSG-4140 Help updates\n- DSG-4195 Documentation output\n\n### Fixed\n- DSG-3407 Serial port detection on Xplained Pro\n- DSG-3409 CLI argument -R\n- DSG-3410 Xplained Pro kit name reporting\n\n## [0.1.2] - May 2021\n- First public release to PyPi\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A provider of information about connected Microchip development kits",
    "version": "1.1.2.19",
    "project_urls": {
        "Homepage": "https://github.com/microchip-pic-avr-tools/pykitinfo"
    },
    "split_keywords": [
        "microchip",
        " xplained pro",
        " edbg",
        " nedbg",
        " curiosity nano",
        " pkob nano",
        " debugger",
        " mcp2221a"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e4f3c6b08de019ee66efb9061d7e68052544f773c36371bd2a3f22030ad5d8e9",
                "md5": "91a961fd0dcbc3879e53611b8222c660",
                "sha256": "e6a00a8cbfa9ced58d7d11c2f50bb1b6dfc33efa32a6b873914e431033860200"
            },
            "downloads": -1,
            "filename": "pykitinfo-1.1.2.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "91a961fd0dcbc3879e53611b8222c660",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 21285,
            "upload_time": "2024-04-05T08:26:24",
            "upload_time_iso_8601": "2024-04-05T08:26:24.963413Z",
            "url": "https://files.pythonhosted.org/packages/e4/f3/c6b08de019ee66efb9061d7e68052544f773c36371bd2a3f22030ad5d8e9/pykitinfo-1.1.2.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-05 08:26:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "microchip-pic-avr-tools",
    "github_project": "pykitinfo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pykitinfo"
}
        
Elapsed time: 0.28075s