Files
allwpilib/wpilibc/src/main/python/pyproject.toml
PJ Reiniger 762d1e8b93 [copybara] mostrobotpy to allwpilib (#8545)
Project import generated by Copybara.
GitOrigin-RevId: f10284b37498bb6a088891ca41f160793ec7fd90
2026-01-12 19:11:02 -08:00

283 lines
9.7 KiB
TOML

[build-system]
build-backend = "hatchling.build"
requires = [
"semiwrap~=0.2.1",
"hatch-meson~=0.1.0",
"hatch-robotpy~=0.2.1",
"hatchling",
"robotpy-native-wpilib==0.0.0",
"robotpy-wpiutil==0.0.0",
"robotpy-wpimath==0.0.0",
"robotpy-hal==0.0.0",
"pyntcore==0.0.0",
]
[project]
name = "wpilib"
version = "0.0.0"
description = "Binary wrapper for FRC WPILib"
authors = [
{name = "RobotPy Development Team", email = "robotpy@googlegroups.com"},
]
license = "BSD-3-Clause"
dependencies = [
"robotpy-native-wpilib==0.0.0",
"robotpy-wpiutil==0.0.0",
"robotpy-wpimath==0.0.0",
"robotpy-hal==0.0.0",
"pyntcore==0.0.0",
"robotpy-cli~=2027.0.0a1",
# For running robot tests
"pytest>=3.9",
"pytest-reraise",
]
[project.urls]
"Source code" = "https://github.com/robotpy/mostrobotpy"
[project.entry-points."robotpy_cli.2027"]
add-tests = "wpilib._impl.cli_add_tests:AddTests"
run = "wpilib._impl.cli_run:Main"
sim = "wpilib._impl.cli_sim:RobotSim"
test = "wpilib._impl.cli_test:RobotTest"
[tool.hatch.build.hooks.robotpy]
version_file = "wpilib/version.py"
[tool.hatch.build.hooks.semiwrap]
[tool.hatch.build.hooks.meson]
[tool.hatch.build.targets.wheel]
packages = ["wpilib"]
[tool.semiwrap]
update_init = [
"wpilib",
"wpilib.simulation",
"wpilib.sysid wpilib._wpilib.sysid",
]
scan_headers_ignore = [
"wpi/system/WPILibVersion.hpp",
"wpi/system/Filesystem.hpp",
"wpi/system/Notifier.hpp", # wrapped separately
"wpi/system/Resource.hpp",
"wpi/system/ScopedTracer.hpp", # not useful for python
"wpi/hardware/motor/MotorControllerGroup.hpp", # wrapped separately
"wpi/smartdashboard/ListenerExecutor.hpp", # internal detail
# Internals
"rpy/ControlWord.h",
"rpy/SmartDashboardData.h",
]
[tool.semiwrap.extension_modules."wpilib._wpilib"]
name = "wpilib"
wraps = ["robotpy-native-wpilib"]
depends = [
"wpihal", "wpiutil", "ntcore", "wpimath"
]
includes = ["wpilib/src"]
[tool.semiwrap.extension_modules."wpilib._wpilib".defines]
DYNAMIC_CAMERA_SERVER = 1
[tool.semiwrap.extension_modules."wpilib._wpilib".headers]
# rpy
Filesystem = "rpy/Filesystem.h"
MotorControllerGroup = "rpy/MotorControllerGroup.h"
Notifier = "rpy/Notifier.h"
# wpi/counter
EdgeConfiguration = "wpi/counter/EdgeConfiguration.hpp"
Tachometer = "wpi/counter/Tachometer.hpp"
UpDownCounter = "wpi/counter/UpDownCounter.hpp"
# wpi/drive
DifferentialDrive = "wpi/drive/DifferentialDrive.hpp"
MecanumDrive = "wpi/drive/MecanumDrive.hpp"
RobotDriveBase = "wpi/drive/RobotDriveBase.hpp"
# wpi/driverstation
DriverStation = "wpi/driverstation/DriverStation.hpp"
Gamepad = "wpi/driverstation/Gamepad.hpp"
GenericHID = "wpi/driverstation/GenericHID.hpp"
Joystick = "wpi/driverstation/Joystick.hpp"
PS4Controller = "wpi/driverstation/PS4Controller.hpp"
PS5Controller = "wpi/driverstation/PS5Controller.hpp"
StadiaController = "wpi/driverstation/StadiaController.hpp"
XboxController = "wpi/driverstation/XboxController.hpp"
# wpi/event
BooleanEvent = "wpi/event/BooleanEvent.hpp"
EventLoop = "wpi/event/EventLoop.hpp"
NetworkBooleanEvent = "wpi/event/NetworkBooleanEvent.hpp"
# wpi/framework
IterativeRobotBase = "wpi/framework/IterativeRobotBase.hpp"
OpModeRobot = "wpi/framework/OpModeRobot.hpp"
RobotBase = "wpi/framework/RobotBase.hpp"
TimedRobot = "wpi/framework/TimedRobot.hpp"
TimesliceRobot = "wpi/framework/TimesliceRobot.hpp"
# wpi/hardware/accelerometer
ADXL345_I2C = "wpi/hardware/accelerometer/ADXL345_I2C.hpp"
AnalogAccelerometer = "wpi/hardware/accelerometer/AnalogAccelerometer.hpp"
# wpi/hardware/bus
CAN = "wpi/hardware/bus/CAN.hpp"
I2C = "wpi/hardware/bus/I2C.hpp"
SerialPort = "wpi/hardware/bus/SerialPort.hpp"
# wpi/hardware/discrete
AnalogInput = "wpi/hardware/discrete/AnalogInput.hpp"
CounterBase = "wpi/hardware/discrete/CounterBase.hpp"
DigitalInput = "wpi/hardware/discrete/DigitalInput.hpp"
DigitalOutput = "wpi/hardware/discrete/DigitalOutput.hpp"
PWM = "wpi/hardware/discrete/PWM.hpp"
# wpi/hardware/expansionhub
ExpansionHub = "wpi/hardware/expansionhub/ExpansionHub.hpp"
ExpansionHubMotor = "wpi/hardware/expansionhub/ExpansionHubMotor.hpp"
ExpansionHubPidConstants = "wpi/hardware/expansionhub/ExpansionHubPidConstants.hpp"
ExpansionHubServo = "wpi/hardware/expansionhub/ExpansionHubServo.hpp"
# wpi/hardware/imu
OnboardIMU = "wpi/hardware/imu/OnboardIMU.hpp"
# wpi/hardware/led
AddressableLED = "wpi/hardware/led/AddressableLED.hpp"
LEDPattern = "wpi/hardware/led/LEDPattern.hpp"
# wpi/hardware/motor
Koors40 = "wpi/hardware/motor/Koors40.hpp"
MotorController = "wpi/hardware/motor/MotorController.hpp"
MotorSafety = "wpi/hardware/motor/MotorSafety.hpp"
PWMMotorController = "wpi/hardware/motor/PWMMotorController.hpp"
PWMSparkFlex = "wpi/hardware/motor/PWMSparkFlex.hpp"
PWMSparkMax = "wpi/hardware/motor/PWMSparkMax.hpp"
PWMTalonFX = "wpi/hardware/motor/PWMTalonFX.hpp"
PWMTalonSRX = "wpi/hardware/motor/PWMTalonSRX.hpp"
PWMVenom = "wpi/hardware/motor/PWMVenom.hpp"
PWMVictorSPX = "wpi/hardware/motor/PWMVictorSPX.hpp"
Spark = "wpi/hardware/motor/Spark.hpp"
SparkMini = "wpi/hardware/motor/SparkMini.hpp"
Talon = "wpi/hardware/motor/Talon.hpp"
VictorSP = "wpi/hardware/motor/VictorSP.hpp"
# wpi/hardware/pneumatic
Compressor = "wpi/hardware/pneumatic/Compressor.hpp"
CompressorConfigType = "wpi/hardware/pneumatic/CompressorConfigType.hpp"
DoubleSolenoid = "wpi/hardware/pneumatic/DoubleSolenoid.hpp"
PneumaticHub = "wpi/hardware/pneumatic/PneumaticHub.hpp"
PneumaticsBase = "wpi/hardware/pneumatic/PneumaticsBase.hpp"
PneumaticsControlModule = "wpi/hardware/pneumatic/PneumaticsControlModule.hpp"
PneumaticsModuleType = "wpi/hardware/pneumatic/PneumaticsModuleType.hpp"
Solenoid = "wpi/hardware/pneumatic/Solenoid.hpp"
# wpi/hardware/power
PowerDistribution = "wpi/hardware/power/PowerDistribution.hpp"
# wpi/hardware/range
SharpIR = "wpi/hardware/range/SharpIR.hpp"
# wpi/hardware/rotation
AnalogEncoder = "wpi/hardware/rotation/AnalogEncoder.hpp"
AnalogPotentiometer = "wpi/hardware/rotation/AnalogPotentiometer.hpp"
DutyCycle = "wpi/hardware/rotation/DutyCycle.hpp"
DutyCycleEncoder = "wpi/hardware/rotation/DutyCycleEncoder.hpp"
Encoder = "wpi/hardware/rotation/Encoder.hpp"
# wpi/internal
DriverStationModeThread = "wpi/internal/DriverStationModeThread.hpp"
# wpi/opmode
LinearOpMode = "wpi/opmode/LinearOpMode.hpp"
OpMode = "wpi/opmode/OpMode.hpp"
PeriodicOpMode = "wpi/opmode/PeriodicOpMode.hpp"
# wpi/smartdashboard
Field2d = "wpi/smartdashboard/Field2d.hpp"
FieldObject2d = "wpi/smartdashboard/FieldObject2d.hpp"
Mechanism2d = "wpi/smartdashboard/Mechanism2d.hpp"
MechanismLigament2d = "wpi/smartdashboard/MechanismLigament2d.hpp"
MechanismObject2d = "wpi/smartdashboard/MechanismObject2d.hpp"
MechanismRoot2d = "wpi/smartdashboard/MechanismRoot2d.hpp"
SendableBuilderImpl = "wpi/smartdashboard/SendableBuilderImpl.hpp"
SendableChooser = "wpi/smartdashboard/SendableChooser.hpp"
SendableChooserBase = "wpi/smartdashboard/SendableChooserBase.hpp"
SmartDashboard = "wpi/smartdashboard/SmartDashboard.hpp"
# wpi/sysid
SysIdRoutineLog = "wpi/sysid/SysIdRoutineLog.hpp"
# wpi/system
DataLogManager = "wpi/system/DataLogManager.hpp"
Errors = "wpi/system/Errors.hpp"
RobotController = "wpi/system/RobotController.hpp"
RuntimeType = "wpi/system/RuntimeType.hpp"
SystemServer = "wpi/system/SystemServer.hpp"
Threads = "wpi/system/Threads.hpp"
Timer = "wpi/system/Timer.hpp"
Tracer = "wpi/system/Tracer.hpp"
Watchdog = "wpi/system/Watchdog.hpp"
# wpi/util
Alert = "wpi/util/Alert.hpp"
Preferences = "wpi/util/Preferences.hpp"
SensorUtil = "wpi/util/SensorUtil.hpp"
[tool.semiwrap.extension_modules."wpilib.simulation._simulation"]
name = "wpilib_simulation"
wraps = ["robotpy-native-wpilib"]
depends = ["wpilib", "wpimath"]
yaml_path = "semiwrap/simulation"
[tool.semiwrap.extension_modules."wpilib.simulation._simulation".headers]
# wpi/simulation
ADXL345Sim = "wpi/simulation/ADXL345Sim.hpp"
AddressableLEDSim = "wpi/simulation/AddressableLEDSim.hpp"
AnalogEncoderSim = "wpi/simulation/AnalogEncoderSim.hpp"
AnalogInputSim = "wpi/simulation/AnalogInputSim.hpp"
BatterySim = "wpi/simulation/BatterySim.hpp"
CTREPCMSim = "wpi/simulation/CTREPCMSim.hpp"
CallbackStore = "wpi/simulation/CallbackStore.hpp"
DCMotorSim = "wpi/simulation/DCMotorSim.hpp"
DIOSim = "wpi/simulation/DIOSim.hpp"
DifferentialDrivetrainSim = "wpi/simulation/DifferentialDrivetrainSim.hpp"
DigitalPWMSim = "wpi/simulation/DigitalPWMSim.hpp"
DoubleSolenoidSim = "wpi/simulation/DoubleSolenoidSim.hpp"
DriverStationSim = "wpi/simulation/DriverStationSim.hpp"
DutyCycleEncoderSim = "wpi/simulation/DutyCycleEncoderSim.hpp"
DutyCycleSim = "wpi/simulation/DutyCycleSim.hpp"
ElevatorSim = "wpi/simulation/ElevatorSim.hpp"
EncoderSim = "wpi/simulation/EncoderSim.hpp"
FlywheelSim = "wpi/simulation/FlywheelSim.hpp"
GamepadSim = "wpi/simulation/GamepadSim.hpp"
GenericHIDSim = "wpi/simulation/GenericHIDSim.hpp"
JoystickSim = "wpi/simulation/JoystickSim.hpp"
LinearSystemSim = "wpi/simulation/LinearSystemSim.hpp"
PS4ControllerSim = "wpi/simulation/PS4ControllerSim.hpp"
PS5ControllerSim = "wpi/simulation/PS5ControllerSim.hpp"
PWMSim = "wpi/simulation/PWMSim.hpp"
PneumaticsBaseSim = "wpi/simulation/PneumaticsBaseSim.hpp"
PowerDistributionSim = "wpi/simulation/PowerDistributionSim.hpp"
PWMMotorControllerSim = "wpi/simulation/PWMMotorControllerSim.hpp"
REVPHSim = "wpi/simulation/REVPHSim.hpp"
RoboRioSim = "wpi/simulation/RoboRioSim.hpp"
SendableChooserSim = "wpi/simulation/SendableChooserSim.hpp"
SharpIRSim = "wpi/simulation/SharpIRSim.hpp"
SimDeviceSim = "wpi/simulation/SimDeviceSim.hpp"
SimHooks = "wpi/simulation/SimHooks.hpp"
SingleJointedArmSim = "wpi/simulation/SingleJointedArmSim.hpp"
SolenoidSim = "wpi/simulation/SolenoidSim.hpp"
StadiaControllerSim = "wpi/simulation/StadiaControllerSim.hpp"
XboxControllerSim = "wpi/simulation/XboxControllerSim.hpp"