Download¶
Everything Tap ships, in one zip for your system: the tap server, the Kotlin client and JUnit
5 extension, the Python client and pytest plugin, tap-agent, Tap Studio, tap-watcher, this
documentation and an install script.
Tap 0.0.2 (alpha):
Linux x86-64 macOS Apple silicon Any OS with Java 17
| Your system | Download | Server inside |
|---|---|---|
| Linux on x86-64 | tap-0.0.2-linux-x86_64.zip |
native executable |
| macOS on Apple silicon | tap-0.0.2-macos-aarch64.zip |
native executable |
| Windows, Linux on ARM, Intel Macs: anything with JDK 17+ | tap-0.0.2-jvm.zip |
JVM distribution |
Checksums of the three zips are in SHA256SUMS on the
release page.
Install¶
On Linux and macOS:
unzip tap-0.0.2-linux-x86_64.zip
cd tap-0.0.2-linux-x86_64
./install.sh
The script:
- checks every file in the bundle against its
SHA256SUMS; - puts
tapin~/.local/bin(with the jvm bundle, it unpacks the server to~/.local/share/tap/serverand links it there; it needs Java 17+); - installs
tap-e2e,tap-agent,tap-studioandtap-watcherinto their own virtual environment (~/.local/share/tap/venv) and linkstap-agent,tap-studioandtap-watcherinto~/.local/bin(it needs Python 3.10+; the packages' dependencies come from PyPI); - copies the Kotlin artifacts (a local Maven repository), the wheels and the docs to
~/.local/share/tap; - prints what to add to your Gradle build and the
pip installcommand for your project.
| Option | Effect |
|---|---|
--prefix DIR |
install under DIR instead of ~/.local |
--venv DIR |
put the Python packages into this virtual environment (for example your test project's) |
--no-server, --no-python |
skip that part |
--uninstall |
remove everything a previous run installed under the prefix |
Running a newer bundle's script upgrades in place. On Windows, unzip the jvm bundle and follow
its INSTALL.md, which also describes every step by hand.
Use it¶
tap start # the server, once per machine; tap stop ends it
The bundle's Maven repository needs no GitHub token:
repositories {
maven(uri("${System.getProperty("user.home")}/.local/share/tap/maven"))
mavenCentral() // the client's own dependencies (gRPC, coroutines, ...)
}
dependencies {
testImplementation("io.github.noamcohen48.tap:tap-junit5:0.0.2")
testImplementation("org.junit.jupiter:junit-jupiter:5.13.4")
}
In your test project's virtual environment:
pip install ~/.local/share/tap/python/tap_e2e-0.0.2-py3-none-any.whl
Then continue with Getting started from step 2 to write and run your first test.
What is inside¶
tap-0.0.2-<platform>/
├── install.sh, INSTALL.md
├── VERSIONS the version of each part
├── SHA256SUMS a checksum for every file
├── server/ tap (native) or tap-0.0.2-jvm.zip
├── maven/ tap-junit5, tap-client, tap-api, tap-schema as a Maven repository
├── python/ tap_e2e, tap_agent, tap_studio, tap_watcher wheels
├── docs/ this documentation as Markdown, with the API references
└── LICENSE
The files are the ones published in each part's own release, repackaged. The parts are
versioned separately (see Releases and versions), so one bundle can
hold, for example, server 0.0.2 with Tap Studio 0.0.1; VERSIONS lists them.
One part at a time¶
Every part also has its own release, if you only need one: the server binaries, the Python wheels and the Kotlin artifacts (from GitHub Packages, which needs a token) are linked from Getting started and listed on the releases page.