GitHub - tyche-pbt/tyche-extension · GitHub
https://github.com/tyche-pbt/tyche-extension • 295 KB fetched Open original page
GitHub - tyche-pbt/tyche-extension · GitHub
Skip to content
Navigation Menu
Sign in Appearance settings
* Platform
* AI CODE CREATION
* GitHub Copilot Write better code with AI
* GitHub Copilot app Direct agents from issue to merge
* MCP Registry Integrate external tools
* DEVELOPER WORKFLOWS
* Actions Automate any workflow
* Codespaces Instant dev environments
* Issues Plan and track work
* Code Review Manage code changes
* Code Quality Enforce quality at merge
* APPLICATION SECURITY
* GitHub Advanced Security Find and fix vulnerabilities
* Code security Secure your code as you build
* Secret protection Stop leaks before they start
* EXPLORE
* Why GitHub
* Documentation
* Blog
* Changelog
* Marketplace
View all features
* Solutions
* BY COMPANY SIZE
* Enterprises
* Small and medium teams
* Startups
* Nonprofits
* BY USE CASE
* App Modernization
* DevSecOps
* DevOps
* CI/CD
* View all use cases
* BY INDUSTRY
* Healthcare
* Financial services
* Manufacturing
* Government
* View all industries
View all solutions
* Resources
* EXPLORE BY TOPIC
* AI
* Software Development
* DevOps
* Security
* View all topics
* EXPLORE BY TYPE
* Customer stories
* Events & webinars
* Ebooks & reports
* Business insights
* GitHub Skills
* SUPPORT & SERVICES
* Documentation
* Customer support
* Community forum
* Trust center
* Partners
View all resources
* Open Source
* COMMUNITY
* GitHub Sponsors Fund open source developers
* PROGRAMS
* Security Lab
* Maintainer Community
* GitHub Stars
* Archive Program
* REPOSITORIES
* Topics
* Trending
* Collections
* Enterprise
* ENTERPRISE SOLUTIONS
* Enterprise platform AI-powered developer platform
* AVAILABLE ADD-ONS
* GitHub Advanced Security Enterprise-grade security features
* Copilot for Business Enterprise-grade AI features
* Premium Support Enterprise-grade 24/7 support
* Pricing
Search /
Sign in
Sign up Appearance settings
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
Uh oh!
There was an error while loading. Please reload this page .
tyche-pbt
/
tyche-extension
Public
*
Notifications
You must be signed in to change notification settings
*
Fork
3
*
Star
29
*
Code
*
Issues
9
*
Pull requests
1
*
Actions
*
Projects
*
Security and quality
0
*
Insights
Additional navigation options
*
Code
*
Issues
*
Pull requests
*
Actions
*
Projects
*
Security and quality
*
Insights
main
Branches Tags
Go to file
Code Open more actions menu
Latest commit
History
242 Commits
242 Commits
Folders and files
Name Name Last commit message
Last commit date
assets
assets
docs
docs
observability-tools
observability-tools
src
src
webview-ui
webview-ui
.eslintrc.json
.eslintrc.json
.gitignore
.gitignore
.prettierignore
.prettierignore
.prettierrc
.prettierrc
.vscodeignore
.vscodeignore
CHANGELOG.md
CHANGELOG.md
LICENSE
LICENSE
README.md
README.md
demo.png
demo.png
package-lock.json
package-lock.json
package.json
package.json
tsconfig.json
tsconfig.json
View all files
Repository files navigation
*
* README
* MIT license
More items
Tyche
Tyche ( pronounced /ˈtaɪki/ ) is a tool that helps developers
to understand the effectiveness of their property-based tests. It works with PBT frameworks like
Python's Hypothesis ,
Haskell's QuickCheck ,
Java's JQF ,
and
Coq's QuickChick ,
and it is easy to implement in your framework of choice if it is not currently
supported.
Tyche is available as an extension for Visual Studio Code , but it
can also be accessed in the browser .
Tyche is described in detail in a paper that
is appearing at UIST'24.
Motivation
Current property-based testing frameworks give insufficient feedback about the specific values that
were used to test a given program and about the distributional trends in those values. In the worst
case, this lack of visibility process may give users false confidence, encouraging them to believe
their testing was thorough when, in fact, it had critical gaps. Tyche provides an interactive
interface for understanding testing effectiveness, surfacing both "pre-testing" information about
test inputs and their distributions and "post-testing" information like code coverage.
Using Tyche
In Hypothesis
Tyche is supported natively in Hypothesis via its Observability
API . Simply run a Hypothesis test
with the HYPOTHESIS_EXPERIMENTAL_OBSERVABILITY flag set and Tyche should open automatically with
information about your test results. (If it doesn't open automatically for some reason, you can run
Tyche: Open and direct it to the appropriate files in your .hypothesis/ directory manually.)
You can add features to your Tyche visualization using Hypothesis's event and target
functions. When visualized in Tyche, the following property will display information about generated
list sizes alongside other available feedback:
@ given ( st . lists ( st . integers ()))
def test_example ( l ):
event ( "len" , payload = len ( l ))
...
In QuickCheck
We have an experimental library that adds limited
support for Tyche to QuickCheck. As of now it needs to be installed via GitHub and it is not very
fully featured, but we hope to make this support more robust over time.
Elsewhere
You can implement support for Tyche in any PBT framework by having each property output data in a
specific JSON lines format. The Hypothesis
documentation has more information
about the details of the format. Once you have valid JSON lines files, simply run Tyche: Open as a
command in VSCode and direct the application to the correct files.
Please contact Harry Goldstein if you need help.
If you implement Tyche support for a PBT framework, please let us know so we can provide pointers to
the appropriate documentation from here.
Developing
Project Structure
This project is two nested NPM projects. The outer project is the source for the whole extension.
The inner project, in the webview-ui directory, is a React project that runs in the extension's
Webview.
Running in Debug Mode
When working on the webview itself, run:
npm run start:webview
This will allow you to connect to the webview itself via a browser and iterate quickly.
When working on the extension as a whole, run:
npm run build:webview
Then press F5 to open a new Extension Development Host window.
About
No description, website, or topics provided.
Resources
Readme
MIT license
Activity
Custom properties
Stars
29 stars
Watchers
3 watching
Forks
3 forks
Report repository
Releases
Packages
Contributors
Languages
Footer
(c) 2026 GitHub, Inc.
Footer navigation
*
Terms
*
Privacy
*
Security
*
Status
*
Community
*
Docs
*
Contact
*
Manage cookies
*
Do not share my personal information
You can’t perform that action at this time.
Links found on this page
- Skip to content [direct]
- Sign in [direct]
- GitHub Copilot Write better code with AI [direct]
- GitHub Copilot app Direct agents from issue to merge [direct]
- MCP Registry Integrate external tools [direct]
- Actions Automate any workflow [direct]
- Codespaces Instant dev environments [direct]
- Issues Plan and track work [direct]
- Code Review Manage code changes [direct]
- Code Quality Enforce quality at merge [direct]
- GitHub Advanced Security Find and fix vulnerabilities [direct]
- Code security Secure your code as you build [direct]
- Secret protection Stop leaks before they start [direct]
- Why GitHub [direct]
- Documentation [direct]
- Blog [direct]
- Changelog [direct]
- Marketplace [direct]
- View all features [direct]
- Enterprises [direct]
- Small and medium teams [direct]
- Startups [direct]
- Nonprofits [direct]
- App Modernization [direct]
- DevSecOps [direct]
- DevOps [direct]
- CI/CD [direct]
- View all use cases [direct]
- Healthcare [direct]
- Financial services [direct]
- Manufacturing [direct]
- Government [direct]
- View all industries [direct]
- View all solutions [direct]
- AI [direct]
- Software Development [direct]
- DevOps [direct]
- Security [direct]
- View all topics [direct]
- Customer stories [direct]
- Events & webinars [direct]
- Ebooks & reports [direct]
- Business insights [direct]
- GitHub Skills [direct]
- Customer support [direct]
- Community forum [direct]
- Trust center [direct]
- Partners [direct]
- View all resources [direct]
- GitHub Sponsors Fund open source developers [direct]
- Security Lab [direct]
- Maintainer Community [direct]
- GitHub Stars [direct]
- Archive Program [direct]
- Topics [direct]
- Trending [direct]
- Collections [direct]
- Copilot for Business Enterprise-grade AI features [direct]
- Premium Support Enterprise-grade 24/7 support [direct]
- Pricing [direct]
- Sign up [direct]
- tyche-pbt [direct]
- Notifications [direct]
- Issues
9 [direct]
- Pull requests
1 [direct]
- Actions [direct]
- Projects [direct]
- Security and quality
0 [direct]
- Insights [direct]
- Branches [direct]
- Tags [direct]
- 242 Commits [direct]
- assets [direct]
- docs [direct]
- observability-tools [direct]
- src [direct]
- webview-ui [direct]
- .eslintrc.json [direct]
- .gitignore [direct]
- .prettierignore [direct]
|
|