# Development

Before you get busy coding a new feature, create an issue and discuss the details in the issue tracker.

# Environment set-up

This guide assumes you have a GitHub (opens new window) account, as well as Python 3 (opens new window), virtualenv (opens new window) and Git (opens new window) installed. The guide is written for Bash, for Windows you can use for example Bash bundled with Git.

git clone https://github.com/<username>/pywebview
cd pywebview
  • Create a virtual environment
virtualenv -p python3 venv
source venv/bin/activate
pip install -e .
pip install pytest
  • Hello world
python examples/simple_browser.py

# Development work-flow

  • Create and checkout a new branch
git checkout -b new-branch master
  • Make your changes

  • Run tests

pytest tests
  • Commit and push your work
git add .
git commit -m "Your commit message goes here"
git push -u origin new-branch

# Testing

pywebview uses pytest (opens new window) for testing.

To run all the tests in the project root directory

 pytest tests

To run a specific test

pytest tests/test_simple_browser.py

Tests cover only trivial mistakes, syntax errors, exceptions and such. In other words there is no functional testing. Each test verifies that a pywebview window can be opened and exited without errors when run under different scenarios. Sometimes test fail / stuck randomly. The cause of the issue is not known, any help on resolving random fails is greatly appreciated.

# Learning

# Windows

# macOS

# Linux

# Qt