Metadata-Version: 2.4
Name: PyICe-ADI
Version: 0.0.10
Summary: A Python package to aid in evaluating integrated circuits using standard electronics laboratory equipment
Author-email: Dave Simmons <david.simmons@analog.com>
License-File: LICENSE
License-File: NOTICE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.9
Requires-Dist: bokeh
Requires-Dist: cairosvg
Requires-Dist: deprecated
Requires-Dist: graphviz
Requires-Dist: jsonc-parser
Requires-Dist: labcomm
Requires-Dist: matplotlib>=3.6.0
Requires-Dist: minimalmodbus
Requires-Dist: networkx
Requires-Dist: nifgen
Requires-Dist: numpy
Requires-Dist: objutils==0.6.4
Requires-Dist: openpyxl
Requires-Dist: pandas
Requires-Dist: pybind11
Requires-Dist: pycairo
Requires-Dist: pypdf2
Requires-Dist: pyserial
Requires-Dist: pyside2; python_version < '3.11'
Requires-Dist: pyside6; python_version >= '3.11'
Requires-Dist: pysocks
Requires-Dist: pystdf
Requires-Dist: python-pptx
Requires-Dist: python-usbtmc
Requires-Dist: python-vxi11
Requires-Dist: pyusb
Requires-Dist: pyvisa
Requires-Dist: pywin32; platform_system == 'Windows'
Requires-Dist: reportlab
Requires-Dist: requests
Requires-Dist: scikit-rf
Requires-Dist: scipy>=1.7
Requires-Dist: statsmodels
Requires-Dist: svglib
Requires-Dist: sympy
Requires-Dist: vcdvcd
Requires-Dist: windows-curses; platform_system == 'Windows'
Requires-Dist: xlrd
Requires-Dist: xlsxwriter
Provides-Extra: dev
Requires-Dist: beautifulsoup4; extra == 'dev'
Requires-Dist: flake8; extra == 'dev'
Requires-Dist: flake8-docstrings; extra == 'dev'
Requires-Dist: html5lib; extra == 'dev'
Requires-Dist: interrogate; (sys_platform != 'win32') and extra == 'dev'
Requires-Dist: pip-tools; extra == 'dev'
Requires-Dist: pyright; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
Requires-Dist: xdoctest; extra == 'dev'
Description-Content-Type: text/markdown

# PyICe

PyICe is a comprehensive Python framework designed specifically for lab
automation. It can interact with most lab instruments, treating each aspect of
a given instrument as an individual “channel”. The channel model reduces even
the most complex instruments to a collection of scalars that can be monitored
and controlled by test scripts, a graphical user interface, or logged into an
SQLite database or Excel worksheet.

A second distinct aspect of the project is used to interact with internal IC
memory in the same way as other test equipment channels so that the DUT memory
and outside electrical conditions can be monitored, controlled, and logged
synchronously. This part of the project also includes numerous utilites to
generate both publicly distributable libraries and documentation, and private
IC synthesis and test files, all from a single common XML-based register map
description. Register maps can be imported from proprietary XML, Yoda JSON, or
industry-standard IP-XACT (IEEE 1685-2014 / SPIRIT 1685-2009) files via
`twi_instrument.populate_from_ipxact()` and `spiInstrument.from_ipxact()`.

## IP-XACT Register Map Import

PyICe can import register maps directly from IP-XACT XML files (IEEE 1685-2014 / SPIRIT 1685-2009).

**Command-line conversion (no Python required):**
```console
python -m PyICe.ipxact_parser my_device.xml -o my_device_regmap.json
```

**Python — direct import (skip JSON):**
```python
from PyICe.twi_instrument import twi_instrument

inst = twi_instrument(interface)
inst.populate_from_ipxact("my_device.xml", addr7=0x50)
```

**Python — convert to JSON first, then import:**
```python
from PyICe.ipxact_parser import ipxact_to_pyice_json

ipxact_to_pyice_json("my_device.xml", output_file="my_device_regmap.json")
```

See `python -m PyICe.ipxact_parser --help` for all CLI options, or
`help(PyICe.ipxact_parser)` for the full module walkthrough.

For more detailed documentation, please go [here](https://pyice-adi.github.io/PyICe/)

# [PyICe contributors, please go here for install instructions](https://github.com/PyICe-ADI/PyICe/blob/main/CONTRIBUTING.md)

# PyICe user install instructions
To install PyICe from PyPI, run the command: 
```console
pip install pyice-adi
```
