Metadata-Version: 2.4
Name: quartustcl
Version: 0.4
Summary: a Python package for interfacing with Intel Quartus Tcl
Author-email: Aaron Griffith <aargri@gmail.com>
License-Expression: MIT
Project-URL: Source, https://github.com/agrif/quartustcl/
Project-URL: Documentation, https://quartustcl.readthedocs.io/en/latest/
Keywords: quartus,tcl
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: docs
Requires-Dist: mkdocs<1.3,>=1.2; extra == "docs"
Requires-Dist: mkautodoc>=0.2.0; extra == "docs"
Dynamic: license-file

quartustcl
----------

[![PyPI](https://img.shields.io/pypi/v/quartustcl)](https://pypi.org/project/quartustcl/)
[![GitHub Actions](https://github.com/agrif/quartustcl/actions/workflows/test.yaml/badge.svg)](https://github.com/agrif/quartustcl/actions/workflows/test.yaml)
[![Read the Docs](https://img.shields.io/readthedocs/quartustcl/latest)][docs]

 [docs]: https://quartustcl.readthedocs.io/en/latest/

`quartustcl` is a Python module to interact with Intel Quartus Tcl
shells. It opens a single shell in a subprocess, then helps you with
reading and writing data to it, and parsing Tcl lists.

## Installation

Install via `pip`:

```bash
pip install quartustcl
```

## Demo

You can start a demo Python REPL by running the package as a script:
```bash
python3 -m quartustcl
```

The *quartustcl* subshell is exposed in a variable named `quartus`.

## Basic Use

Instantiate a `QuartusTcl` object to start a shell. Then, call methods
on it.

```python
quartus = quartustcl.QuartusTcl()
three = quartus.expr('1 + 2')
assert three == '3'
```

If you are expecting a list as a result, use `parse` to turn Tcl lists
into Python lists.

```python
devnames = quartus.parse(quartus.get_device_names(hardware_name="Foo Bar"))
```

In the Tcl subshell, this runs
```tcl
get_device_names -hardware_name {Foo Bar}
```
and parses the result into a Python list.

For more detailed information, please [read the documentation][docs].
