Python library for remote controlling the environment in FwESI
Project description
ESIRemote
A Python library to remotely control the environment in FwESI
Functionality
FwESI
expand
FwESI has a remote control (basically a local web server) where the user can control the application without having to interact with the computer itself.
This includes actions such as
- loading save file/sub save
- controlling variables of a fire engine (such as the height and length of the ladder)
- start a fire (in FwESI)
- check state of door
- show/hide elements
The last action is still quite buggy with smoke in the latest tested version (1.10.1) and needs to be fixed by the FwESI developers. Actions like video control are also a bit unstable.
What CAN'T be done:
- read/change coordinates of elements (like the user himself)
- get a livestream of the situation
- detect button presses (there are no buttons)
ESIRemote
The library automatically parses the available objects (also called OperatorActors), parameters and save files as Python objects.
By default, ESIRemote allows the user to modify the attributes of these objects. Changes are applied automatically, but this can be turned off.
Anything available on the remote server can be used with this library.
Installation
ESIRemote is still in early development, but can already be installed using PyPI:
pip install esiremote
Quick Start
Check out the (TODO) examples directory to get an idea of how you can use ESIRemote.
Before you can use this library, make sure the remote server is enabled. You can enable it by default in the settings.
Also make sure you have objects with the remote option enabled.
from esiremote import ESIRemote
remote = ESIRemote()
for operatoractor in remote.operatoractors:
print(operatoractor.name)
This little example lists all elements available.
TODO list
- Add more docstrings and comments
- Add more to readme (stuff like installation and usage)
- Add more helper functions (like search by ID, name, type, etc)
- Maybe do something like a custom list object with a function called "search_by_attribute" or something
- remove test code
- add some examples (and maybe supply scenes)
- make sure it works flawlessly (check the models especially)
- add
setup.py
orpyproject.toml
- publish to PyPi with GH Actions
- add unittests
- Feature: load external save file (might not work at all)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file esiremote-0.5.tar.gz
.
File metadata
- Download URL: esiremote-0.5.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de6da7d3a55905a33651b401ced3395211c3030af9372a9619884320b093bec6 |
|
MD5 | 5f18ffd7251fa133b3e7b8ec02141faa |
|
BLAKE2b-256 | 3cf36f2db5b0f2b09d07450be44f87cf95e4769671ff30abcd87a2388ce5b4ff |
File details
Details for the file ESIRemote-0.5-py3-none-any.whl
.
File metadata
- Download URL: ESIRemote-0.5-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 561f4ffbc00accafe261b02be4917d13b5830d361da37d62dac5157cbb62b647 |
|
MD5 | a9d6388320cfb2c5edf304c2356c20d9 |
|
BLAKE2b-256 | 568c182dae5a403874a8f26c2d0a16b9452e2c68a6b249f420884ecc6f0eb4f7 |