This section assumes you've completed the Requirements section on the front page.
-
macOS
- Install HomeBrew Package Manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Install required packages with HomeBrew
brew install make
- Install HomeBrew Package Manager
-
Windows
-
Install Chocolatey Package Manager
-
Install required packages with Choco
IMPORTANT: Open a PowerShell window with elevated permissions (As Administrator)
choco install -y make
-
From now on, we'll use make commands to develop and build this Python package locally.
-
Fork this repository on GitHub
-
Git clone your forked repository
-
Prepare
.VENVdirectory - This step also installs the latest version ofpipandwheelmake venv-prepare
-
IMPORTANT: The Makefile activates
.VENVfor anyvenv-target. -
Install this package's development
requirements.txtin.VENVmake venv-install
-
Install this package in edit mode
IMPORTANT: For any change in ./src/audacity_scripting/cli/, it's best to re-run this command to update the CLI commands; see Click Framework.
make venv-install-edit
You can now start the development process!
- Checkout to a new branch
feature/my-awesome-feature - (Optional) Add a new Python package and update ./requirements.txt accordingly
make venv-install PACKAGE_NAME=click==8.1.7
make venv-requirements-update
- Add tests on your feature in ./tests; all tests are based on the Python's unittest framework
- Run tests - This wrapper command kills existing Audacity instances, cleans up test outputs, starts Audacity, and then starts the tests.
make wrapper-run-test
- Commit changes to your cloned fork
git commit -am "added an awesome feature" - Create a GitHub Pull Request from your fork to the source repository.
-
Add this repository as a "source" remote
cd audacity-scriptinggit remote add source https://github.com/unfor19/audacity-scripting.git -
Check git remotes
git remote -v
Assuming you are
willywonka, here's the desired output:origin https://github.com/willywonka/audacity-scripting.git (fetch) origin https://github.com/willywonka/audacity-scripting.git (push) source https://github.com/unfor19/audacity-scripting.git (fetch) source https://github.com/unfor19/audacity-scripting.git (push) -
To sync from
source(this project's source repo) to your current branch, execute this command:git pull source main
NOTE: Following that, you might need to handle some merge conflicts, but that's it; you're up-to-date with the latest version of the source code.