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

Uploaded Python 3

File details

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

File metadata

  • Download URL: posit_vip-0.19.1.tar.gz
  • Upload date:
  • Size: 589.1 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.1.tar.gz
Algorithm Hash digest
SHA256 c3ca72f15b2b05856691ca0c8e3a9f8264707b9c40a5bca3af5b6dcedb0fdf80
MD5 b4dad810a2b74f2bebce012c458b084a
BLAKE2b-256 842ea44a90a15c97f0d899da46b17e4007dd76e3296d5eff19f2240a1dfdd5e2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: posit_vip-0.19.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c9b3fb44a5165ae94da41f24935b97459ea7e52aca970887a67b3f3de65d3ac5
MD5 5fe9e2b6f07b46cece5d6b6ad4f93ca8
BLAKE2b-256 ac78b4f8605d0c2a819cd9e33421391a8f7801c758c812fa127e6600bbe70039

See more details on using hashes here.

Provenance

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