Metadata-Version: 2.4
Name: pbark
Version: 1.0.3
Summary: Python port of the jbark dog-themed story programming language
Author-email: Your Name <you@example.com>
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/AlexH89/bark
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"

# pbark 🐶

A dog-themed story programming language for Python.

`pbark` is the Python port of [jbark](https://github.com/AlexH89/bark), the original Java implementation.

pbark aims for feature parity with jbark and shares the same test suite. If behaviour differs, jbark is considered the canonical implementation.

## Installation

Install pbark from PyPI:

```bash
pip install pbark
```

## Quick start

Create a file called `goodgirl.woof`:

```woof
I have a labrador.
She has 2 toys.
Her name is "Bimba".
she barks how many toys she has
```

Run it:

```bash
pbark goodgirl.woof
```

## Commands

Show version:

```bash
pbark --version
```

Show help:

```bash
pbark --help
```

List available breeds:

```bash
pbark --list-breeds
```

List available objects:

```bash
pbark --list-objects
```

Available flags:

- `--help`
- `--version`
- `--strict`
- `--quiet`
- `--list-breeds`
- `--list-objects`

## Python module usage

pbark can also be executed as a Python module:

```bash
python -m pbark examples/woof/goodgirl.woof
```

## Development

Clone the repository:

```bash
git clone https://github.com/AlexH89/bark
cd pbark
```

Create a virtual environment:

```bash
python3 -m venv .venv
```

Activate it:

Linux/macOS:

```bash
source .venv/bin/activate
```

Windows:

```bash
.venv\Scripts\activate
```

Install development dependencies:

```bash
pip install -e ".[dev]"
```

Run tests:

```bash
pytest tests/ -q
```

The test suite is ported from jbark's JUnit tests and verifies parser behaviour, runtime behaviour, and compatibility.

## Documentation

See https://github.com/AlexH89/bark.

## Examples

Runnable `.woof` programs are available in the GitHub repository as well.

## Related project

`pbark` is the Python port of **jbark**, the original Java implementation.
