Metadata-Version: 2.4
Name: pollyweb
Version: 0.1.12
Summary: A neutral, open, and global web protocol that allows any person or AI agent to chat with any business, place, or thing.
Home-page: https://www.pollyweb.org
Author: jorgemf
Author-email: jorgemf <pollyweb@pollycore.net>
License: Apache-2.0
Project-URL: Website, https://www.pollyweb.org
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=41.0.0
Requires-Dist: pollyweb-domain
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# PollyWeb

<img src="https://www.pollyweb.org/images/pollyweb-logo.png" alt="PollyWeb logo" width="66" />

A neutral, open, and global web protocol that allows any person or AI agent to chat with any business, place, or thing.

## Usage

```
from pollyweb import hello
print(hello())
```


## Demo key generator

In addition to the `hello` helper, the package includes a simple demo
module that can generate a public/private key pair.  After installation
run::

    python -m pollyweb.demo.keys

By default this writes `pub.pem` and `priv.pem` in the current working
directory.  You can customize the output names with `--pub` and
`--priv`, and change the RSA key size with `--bits`.

A lightweight console script named ``pollyweb-keys`` is installed as
well, so the same functionality is available via::

    pollyweb-keys

For temporary experiments you can use the `tmp/` directory which is committed
empty but ignored by git.  Place any generated keys there to keep your
working tree clean::

    python -m pollyweb.demo.keys --pub tmp/pub.pem --priv tmp/priv.pem

Another helper script demonstrates a second command.  It takes a public
key filename and a DKIM identifier; older versions accepted two positional
arguments, but the current syntax is key/value based.  Both values are
ignored and the command simply prints a fixed API URL::

    pollyweb-setup dkim=pub.key id=key1

The module form works the same way::

    python -m pollyweb.demo.setup dkim=pub.key id=key1

The equal sign can be replaced with a colon if you prefer::

    pollyweb-setup dkim:pub.key id:key1

These forms allow easy extension if additional parameters are
introduced later.

## Git push guard (tests + security audit)

This repository includes a `pre-push` hook at `.githooks/pre-push` that runs
`pytest` and `pip-audit` against the local project, and blocks `git push` when
tests fail or when dependency vulnerabilities are reported.

Enable it once per local clone:

```bash
git config core.hooksPath .githooks
```

Install the security scanner once:

```bash
python -m pip install pip-audit
```
