Registry /
devops / fiftyone-devicedetection-shared
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.
FiftyOneDeviceDetectionSharedEngine
✓ from fiftyone_devicedetection_shared import FiftyOneDeviceDetectionSharedEngine
✗ from fiftyone_devicedetection_shared import FiftyOneDeviceDetectionSharedEngine
Basic usage: create engine, build pipeline, process a user-agent, and read device properties.
from fiftyone_devicedetection_shared import FiftyOneDeviceDetectionSharedEngine
from fiftyone_pipeline_core import PipelineBuilder
# Initialize the engine with a data file
engine = FiftyOneDeviceDetectionSharedEngine(
data_file='path/to/datafile.dat',
licence_keys=os.environ.get('FOD_LICENCE_KEY', '')
)
pipeline = PipelineBuilder().add(engine).build()
# Process a flow element
from fiftyone_pipeline_core.flowelement import FlowElement
flow_element = FlowElement()
flow_element.evidence.add('header.user-agent', 'Mozilla/5.0...')
pipeline.process(flow_element)
# Access device data
device = flow_element.device
print(device.devicetype)
Debug
Known issues
breakingIn version 4.x, the import path changed from `fiftyone.devicedetection.shared` (dots) to `fiftyone_devicedetection_shared` (underscores). Existing code using the old dotted path will break.fixUpdate imports to use underscores: from fiftyone_devicedetection_shared import ...
affects: <4.0.0 to >=4.0.0
gotchaThe PyPI package name uses hyphens (fiftyone-devicedetection-shared) but Python import module uses underscores (fiftyone_devicedetection_shared). Always use underscores in import statements.fixWhen importing, replace hyphens with underscores: from fiftyone_devicedetection_shared import ...
affects: >=4.0.0
deprecatedThe `cloud_engine` parameter is deprecated in favor of specifying cloud settings via `CloudRequestEngine` in `fiftyone-pipeline-cloud`. Direct use of `cloud_engine` in older code may stop working in future versions.fixMigrate to using a separate CloudRequestEngine and add it to the pipeline instead.
affects: >=4.3.0
gotchaLicence keys are required for production use. Without a valid key, the engine may throw a `LicenceKeyException` or produce limited data.fixSet the environment variable `FOD_LICENCE_KEY` or pass `licence_keys` parameter to the engine.
affects: >=4.0.0
Upgrade
Version history
4.5.52latest on PyPI · released Jun 3, 2026
Audit
Dependencies
fiftyone-pipeline-corerequiredCore Pipeline API dependency
fiftyone-devicedetection-hashoptionalHash-based device detection data files
fiftyone-devicedetection-onpremiseoptionalOn-premise device detection data files