Go to file
Marek Marczykowski-Górecki 218d43a2e0
Add simple properties caching
Reduce Admin API calls by caching returned values. The cache is not
enabled by default, because it could result in stale values being
returned. It can be enabled by setting 'cache_enabled' to True on
Qubes() object. This is safe in two cases:
 - the application don't care about changed values - like a short-lived
   process that retrieve values once (for example qvm-ls)
 - the application listen for events and invalidate cache when property
   is changed

For the second case, invalidating the cache on appropriate event
(property-set:*, property-reset:*) is done before calling other event
handlers. This is because the event may try to access the property value
(not necessary from the event arguments), so we need to be sure it will
see the new value.

Fixes QubesOS/qubes-issues#5415
2020-05-22 18:59:44 +02:00
ci Move pylint config to canonical place 2018-09-18 16:47:58 +02:00
debian version 4.1.5 2020-04-10 05:40:18 +02:00
doc Fix and improvements from Marek's comments 2020-03-28 17:33:03 +01:00
etc qvm-start-daemon: allow starting only if service enabled 2020-03-28 17:33:03 +01:00
qubesadmin Add simple properties caching 2020-05-22 18:59:44 +02:00
rpm_spec Change qvm-start-gui to qvm-start-daemon for handling audio too 2020-03-28 17:33:02 +01:00
scripts Move qvm-console from qubes-core-agent-linux 2020-01-21 22:37:40 +00:00
test-packages Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
.gitignore .gitignore: add doc/_build/ 2018-05-03 01:03:27 +02:00
.pylintrc Make pylint happy 2019-10-05 21:57:48 +02:00
.travis.yml Drop Python2 support 2020-01-15 21:41:52 +01:00
LICENSE Initial commit 2017-03-01 23:48:53 +01:00
Makefile Fix and improvements from Marek's comments 2020-03-28 17:33:03 +01:00
Makefile.builder debian: initial packaging 2017-05-20 03:15:23 +02:00
README.md Drop Python2 support 2020-01-15 21:41:52 +01:00
run-tests Drop Python2 support 2020-01-15 21:41:52 +01:00
setup.py Bump Python version requirement for qvm-* to 3.5 2019-02-12 02:17:38 +01:00
version version 4.1.5 2020-04-10 05:40:18 +02:00

This is client side implementation of Qubes Admin API. See https://www.qubes-os.org/doc/admin-api/ for protocol specification.

Compatibility

This package requires Python >= 3.5