Skip to main content

Verified Installation of Posit - An extensible test suite for validating Posit Team deployments

Project description

PyPI CI Python

VIP - Verified Installation of Posit

An open-source, extensible test suite that validates Posit Team deployments are installed correctly and functioning properly.

VIP uses BDD-style tests (pytest-bdd + Playwright) to verify Connect, Workbench, and Package Manager. Results are compiled into an HTML report that can be published to a Connect server.

Documentation: https://posit-dev.github.io/vip/

Quick start

uv pip install posit-vip
uv run playwright install chromium
vip verify --connect-url https://connect.example.com --interactive-auth

With a configuration file:

cp vip.toml.example vip.toml     # edit with your deployment details
vip verify --config vip.toml

CLI commands

Command Description
vip verify Run verification tests against a Posit Team deployment
vip status Quick health check for each configured product
vip cleanup Delete VIP test credentials and resources
vip report Render the HTML report from test results (requires Quarto CLI)
vip app Launch the Shiny GUI for interactive test running
vip auth Authentication tools (e.g. mint Connect API keys)
vip cluster Cluster connection tools for Kubernetes deployments

Run vip --help or vip <command> --help for full usage details.

Shiny app (graphical test runner)

VIP includes a Shiny for Python app that lets you select test categories, run tests, and view the report — all from a browser. This is especially convenient inside a Posit Workbench session (RStudio or Positron) where the app opens in the Viewer pane.

uv run vip app

See the Shiny App guide for details.

Development

See docs/development.md for dev setup, linting, and formatting.

For the test architecture and four-layer design, see docs/test-architecture.md.

License

MIT — see LICENSE.

Project details


Download files

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

Source Distribution

posit_vip-0.16.0.tar.gz (587.8 kB view details)

Uploaded Source

Built Distribution

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

posit_vip-0.16.0-py3-none-any.whl (162.2 kB view details)

Uploaded Python 3

File details

Details for the file posit_vip-0.16.0.tar.gz.

File metadata

  • Download URL: posit_vip-0.16.0.tar.gz
  • Upload date:
  • Size: 587.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for posit_vip-0.16.0.tar.gz
Algorithm Hash digest
SHA256 34ac04d9c75060d67b1d5aa9573ec1ef94ef40b2baf591e300cb3b871bd7e863
MD5 fc58dbfc58a7590bfd407b72e355c85c
BLAKE2b-256 bd2dc07c1f721e8c15829b0be0889677f409ee269d792dc25376afd2b79702e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for posit_vip-0.16.0.tar.gz:

Publisher: publish.yml on posit-dev/vip

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

File details

Details for the file posit_vip-0.16.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for posit_vip-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4fe97a03c975311ac1d4f47a84951e26addeff2d022b6ded2d8101faa181439
MD5 459766ff0cef6bced1c33cd1b2745a1b
BLAKE2b-256 7ddbe913d9c1da685f0a80c3ff61310bc67dea8fcf818c66fedf995ecf4241d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for posit_vip-0.16.0-py3-none-any.whl:

Publisher: publish.yml on posit-dev/vip

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