Metadata-Version: 2.4
Name: pitybas
Version: 0.4.1
Summary: A TI-BASIC interpreter written in Python
Author: Ryan Hileman
Maintainer-email: Thomas Roten <tsr@thomasroten.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/tsroten/pitybas
Project-URL: Repository, https://github.com/tsroten/pitybas
Project-URL: Issues, https://github.com/tsroten/pitybas/issues
Keywords: ti-basic,interpreter,calculator,ti-83,ti-84
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Interpreters
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

pitybas
=======
A working TI-BASIC interpreter, written in Python.

## Installation

    pip install pitybas

## Usage

Use `pb -i vt100` to run programs which need a working home screen.

If you run `pb` with no filename, it launches an interactive shell.

    Usage: pb [options] filename

    Options:
        -h, --help        show this help message and exit
        -a, --ast         parse, print ast, and quit
        -d, --dump        dump variables in stacktrace
        -s, --stacktrace  always stacktrace
        -v, --verbose     verbose output
        -i IO, --io=IO    select an IO system: simple (default), vt100
        -x, --strict      raise ERR:UNDEFINED instead of silently defaulting unset variables to 0

You can also run it as a module without installing the console script:

    python -m pitybas -i vt100

## Known Limitations

- **Graph screen functions are not supported.** Commands that draw to the TI-83/84 graph screen (e.g. `Circle`, `Line`, `DrawF`) are not implemented. Programs that use them will fail or produce no output.

## Development

Clone the repository and install it in editable mode with the test extras:

    pip install -e .[test]
    pytest
