๐ฆ Installation
Looking to install AdvantageKit in a Python robot project? Consider using PyKit, an alternative to AdvantageKit developed by Team 1757 that supports deterministic replay in Python.
New Projectsโ
Template projects are not currently available for the 2027 alpha versions of AdvantageKit.
For new projects, we highly recommend starting with one of the template projects attached to the latest release. These projects include detailed documentation and setup instructions for many common use cases:
- 2026 KitBot Template: For robots based on the 2026 FIRST KitBot.
- Differential Drive Template: For other differential drive (tank) robots.
- Spark Swerve Template: For swerve drives primarily using the Spark Max and Spark Flex, including NEO, NEO Vortex, or NEO 550 motors.
- TalonFX(S) Swerve Template: For swerve drives primarily using TalonFX(S)-based motors like the Falcon 500, Kraken X60, Kraken X44, and Minion.
- Vision Template: Example code for running simple vision targeting and pose estimation.
- Skeleton Template: Simple project with AdvantageKit installed but without subsystems or control logic.
Existing Projectsโ
Users wishing to install AdvantageKit in an existing project should check the documentation page for existing projects.
Offline Installationโ
Maven artifacts for AdvantageKit can be downloaded and installed for offline use. This allows AdvantageKit to be accessed even if the Maven repository is blocked on school networks.
- Download the "maven_offline.zip" asset attached to the latest GitHub release.
- Unzip the file into "C:\Users\Public\wpilib\YEAR\maven" on Windows or "~/wpilib/YEAR/maven" on macOS/Linux.
Legacy Projectsโ
Projects based on AdvantageKit v4.0.0-beta-1 or earlier may experience build failures due to the use of an invalid GitHub Packages token. To address this issue, these releases have been republished to the current Maven repository used by v4.0.0 and later (which does not require authentication). Please follow the steps below to switch to the new Maven repository:
-
Ensure that you are using the original vendordep JSON file (all versions of the vendordep JSON can be found on the GitHub releases page). Do not modify this JSON file.
-
Find the block below in
build.gradlewhich configured the GitHub Packages repository:
repositories {
maven {
url = uri("https://maven.pkg.github.com/Mechanical-Advantage/AdvantageKit")
credentials {
username = "Mechanical-Advantage-Bot"
password = "\u0067\u0068\u0070\u005f\u006e\u0056\u0051\u006a\u0055\u004f\u004c\u0061\u0079\u0066\u006e\u0078\u006e\u0037\u0051\u0049\u0054\u0042\u0032\u004c\u004a\u006d\u0055\u0070\u0073\u0031\u006d\u0037\u004c\u005a\u0030\u0076\u0062\u0070\u0063\u0051"
}
}
}
- Replace that block with the new version shown below:
repositories {
maven {
url = uri("https://frcmaven.wpi.edu/artifactory/littletonrobotics-mvn-release")
}
}