Skip to main content

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

Project description

PollyWeb

PollyWeb logo

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

Core APIs:

  • pw.KeyPair generates Ed25519 signing keys.
  • pw.Domain signs outbound messages and determines the DNS record to publish.
  • pw.DNS checks whether a domain's PollyWeb DKIM DNS records are compliant.
  • pw.Msg creates, signs, serializes, and validates messages.

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:

git config core.hooksPath .githooks

GitHub publish automation

The repository also includes a GitHub Actions workflow at .github/workflows/publish.yml.

  • Every push runs the test suite on Python 3.10, 3.11, and 3.12.
  • Pushes to main build and publish the package to PyPI, but only after the test job passes.
  • Package versions are generated automatically from Git metadata via setuptools-scm. The publish workflow turns the latest v* tag into a stable release version, using .postN for later pushes on main.

To make publishing work, configure PyPI to trust this GitHub repository via Trusted Publishing, or adjust the workflow to use a PYPI_API_TOKEN secret.

For clean public versions, create and push a starting Git tag such as v1.0.0. After that, later commits publish stable versions such as 1.0.0.post1, 1.0.0.post2, and so on, until the next release tag is created.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pollyweb-1.0.0.post2.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pollyweb-1.0.0.post2-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file pollyweb-1.0.0.post2.tar.gz.

File metadata

  • Download URL: pollyweb-1.0.0.post2.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pollyweb-1.0.0.post2.tar.gz
Algorithm Hash digest
SHA256 ee7f478d05ccd4f779950c72889dcc9d3d13f2a26bf6a12a553849cff2191202
MD5 7a44fb09fd05fc22c0863893684c345b
BLAKE2b-256 02cea7509fc6cd8b97aa8a8bba511fd63235a5aa917456f2668a24d6c8b46ad3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pollyweb-1.0.0.post2.tar.gz:

Publisher: publish.yml on pollyweb-org/pollyweb-pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pollyweb-1.0.0.post2-py3-none-any.whl.

File metadata

  • Download URL: pollyweb-1.0.0.post2-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pollyweb-1.0.0.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 760c741a45c39201e297b37947c2adf7aac9789cb0ddf138c7ac22a8b4964295
MD5 19ff14312703f29f407c8fcbaf6d52aa
BLAKE2b-256 893e518838bba67a82f9ed86728b24a7f2db70f1fa60fb1b459cbde43b73f92e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pollyweb-1.0.0.post2-py3-none-any.whl:

Publisher: publish.yml on pollyweb-org/pollyweb-pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page