Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
DataLog
✓ from wpiutil.log import DataLog
✗ from wpilib import DataLog
DataLog moved to wpiutil in 2023; trying to import from wpilib gives ModuleNotFoundError.
SendableRegistry
✓ from wpiutil import SendableRegistry
No common mistake found.
StringPublisher
✓ from wpiutil.log import StringPublisher
✗ from wpiutil import StringPublisher
Logging classes are in wpiutil.log submodule, not top-level.
Basic usage: create a DataLog, publish a string, then close.
import wpilib
from wpiutil.log import DataLog, StringPublisher
myLog = DataLog()
pub = StringPublisher(myLog, '/topic')
pub.set('hello')
pub.close()
myLog.close()
Debug
Known issues
breakingBreaking changes on major season releases (e.g., 2023->2024). Always install the version matching your WPILib season.fixUse `pip install robotpy-wpiutil==<season>.x` or let robotpy-wpilib pin it.
affects: 2024.0.0, 2025.0.0, 2026.0.0
deprecatedThe old `WPIUtil` class in wpilib has been removed; use `wpiutil` package directly.fixImport from `wpiutil` instead of `wpilib`.
affects: >=2023
gotchaDataLog and log classes live in `wpiutil.log` submodule, not top-level `wpiutil`. Many users miss this and get ImportError.fixUse `from wpiutil.log import DataLog, StringPublisher, etc.`
affects: all
gotchaWindows users may need Microsoft Visual C++ Redistributable for binary wheels.fixInstall VC++ Redist from Microsoft.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'wpiutil'
robotpy-wpiutil not installed or version mismatch.
fixRun `pip install robotpy-wpiutil` or `pip install robotpy-wpilib` (which includes wpiutil).
ImportError: cannot import name 'DataLog' from 'wpiutil'
Importing from wrong submodule; DataLog is in wpiutil.log.
fixChange import to `from wpiutil.log import DataLog`.
AttributeError: module 'wpiutil' has no attribute 'sendableRegistry'
Case sensitivity: correct is SendableRegistry (capital S, capital R).
fixUse `from wpiutil import SendableRegistry` (exact casing).
RuntimeError: Not a robot project
Running code outside of a robot simulation or on a non-roboRIO platform.
fixEnsure you are running with wpilib simulation (e.g., `python robot.py sim`) or on a roboRIO.
Upgrade
Version history
2026.2.2latest on PyPI · released Mar 13, 2026
Audit
Dependencies
robotpy-wpiutilrequiredC++ side of WPILib utilities, required
robotpy-wpiutilrequiredThis is the package itself; real dependency is robotpy-wpilib which depends on robotpy-wpiutil
Resources
No resource links recorded.