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.19.0.tar.gz (589.0 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.19.0-py3-none-any.whl (162.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: posit_vip-0.19.0.tar.gz
  • Upload date:
  • Size: 589.0 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.19.0.tar.gz
Algorithm Hash digest
SHA256 108835b2c13a35d45120ad07dfe876fa3c1d858251273aa23a545a0e7e31d2ba
MD5 62e1e150dacf2f2e9a73e6ba12662f14
BLAKE2b-256 000058849ae9882300b42a7a18cf28ca3f76e3667be94d2ba6faec610492618d

See more details on using hashes here.

Provenance

The following attestation bundles were made for posit_vip-0.19.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.19.0-py3-none-any.whl.

File metadata

  • Download URL: posit_vip-0.19.0-py3-none-any.whl
  • Upload date:
  • Size: 162.8 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.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e95f40e199a7b7a921ad39e4f5504115a56a1287c43b696a423d69a1f6a3f08f
MD5 f294307345b0c48ea8c40d347909bd9f
BLAKE2b-256 87e2c31c3c10ad74635ac7820fc8271c1e473643cbd90e70c0b646cfb44a7060

See more details on using hashes here.

Provenance

The following attestation bundles were made for posit_vip-0.19.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