https://github.com/openfactoryio/openfactory-virtual-assets
A collection of virtual OpenFactory Assets
https://github.com/openfactoryio/openfactory-virtual-assets
Last synced: 21 days ago
JSON representation
A collection of virtual OpenFactory Assets
- Host: GitHub
- URL: https://github.com/openfactoryio/openfactory-virtual-assets
- Owner: openfactoryio
- License: apache-2.0
- Created: 2025-08-28T21:07:59.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-05-02T00:07:44.000Z (about 1 month ago)
- Last Synced: 2026-05-02T02:22:23.085Z (about 1 month ago)
- Language: Python
- Size: 124 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenFactory Virtual Assets
[](https://github.com/openfactoryio/openfactory-virtual-assets/releases)
[](.devcontainer/README.md)

A collection of virtual assets for OpenFactory. Each asset simulates a device and can be used for testing, development, or demonstration purposes.
Virtual assets are organized in `virtual_assets/`, and each asset has its own subdirectory with source code, a `Dockerfile`, and a README explaining its configuration and usage.
## ๐ Quick Start
Deploying a virtual asset involves **two simple steps**:
1. **Create a configuration file**
Write a YAML file that defines the virtual device and its adapter. You can base it on the example provided in the assetโs README. For example, for the temperature sensor:
```yaml
devices:
vtempsens:
uuid: VIRTUAL-TEMP-SENS-002
connector:
type: mtconnect
agent:
port: 2102
device_xml: github://openfactoryio:openfactory-virtual-assets@/virtual_assets/temp_sensor/device.xml
adapter:
image: ghcr.io/openfactoryio/virtual-temp-sensor:${OPENFACTORY_VERSION}
port: 7878
environment:
- SLEEP_INTERVAL=4.0
- MIN_TEMP=200
- MAX_TEMP=220
- ADAPTER_PORT=7878
```
Save this file as `temp_sensor.yml` (or any name you prefer).
2. **Deploy the virtual asset in OpenFactory**
```bash
ofa device up temp_sensor.yml
```
OpenFactory will automatically build and deploy the virtual asset based on this configuration.
## ๐ค Contributing
Contributions are welcome! Please follow these guidelines:
* Add new virtual assets in their own subdirectory under `virtual_assets/`.
* Include a README for each asset explaining configuration and deployment.
## ๐ Development
### ๐งช Install for Development
Install in editable mode with development tools:
```bash
pip install -e .[dev]
```
> ๐ง For a zero-configuration local dev environment using Docker and VS Code, see [Development Container Setup](.devcontainer/README.md)
### ๐ป CLI Commands
Use the `ofa` command for deploying and managing virtual assets.
### โ
Code Quality
Run linting checks with:
```bash
flake8 .
```