Extended manifest files with Python system packages (if available) #275

Merged
blacklight merged 7 commits from 274/refactor-integrations-manifests into master 2023-08-17 02:56:15 +02:00
Owner
  • If a Python optional dependency is available as a system package on
    the target system, try and install it that route rather than pip. It's
    usually faster and it decreases the risk of breaking system packages.

  • Added support for apk dependencies in manifest files. This brings the
    number of distros officially supported by all the extensions to four:

    • Alpine
    • Arch
    • Debian
    • Ubuntu

Closes: #274

- If a Python optional dependency is available as a system package on the target system, try and install it that route rather than pip. It's usually faster and it decreases the risk of breaking system packages. - Added support for apk dependencies in manifest files. This brings the number of distros officially supported by all the extensions to four: - Alpine - Arch - Debian - Ubuntu Closes: #274
blacklight added the
enhancement
architecture
labels 2023-08-16 22:51:23 +02:00
blacklight self-assigned this 2023-08-16 22:51:23 +02:00
blacklight added 1 commit 2023-08-16 22:51:24 +02:00
Extended manifest files with Python system packages (if available).
All checks were successful
continuous-integration/drone/push Build is passing
98e9abde18
- If a Python optional dependency is available as a system package on
  the target system, try and install it that route rather than pip. It's
  usually faster and it decreases the risk of breaking system packages.

- Added support for apk dependencies in manifest files. This brings the
  number of distros officially supported by all the extensions to four:

  - Alpine
  - Arch
  - Debian
  - Ubuntu
blacklight added 6 commits 2023-08-17 02:53:02 +02:00
It's already been replaced by the setup.py entry point.
setup.py won't pass any arguments to `main()`, so the default entry
point should get them itself from `sys.argv`.
When that happens, it's most likely that the application is already
stopping and the Redis service has already been terminated.
Added @ensure_initialized decorator to actions in variable.
All checks were successful
continuous-integration/drone/push Build is passing
bf7d060b81
The `variable` plugin may break in the constructor the first time the
application is started.

That's because it tries to initialize the cache of stored variables, but
the local database hasn't yet been initialized.

That's because plugins are registered _before_ the entities engine is
initialized, as the entities engine assumes that it already has plugins
to scan for entities.

Therefore, the initialization of the `variable` plugin's cache should be
lazy (only done upon the first call to `get`/`set` etc.), in order to
prevent deadlock situations where the plugin waits for the engine to
start, but the engine will be initialized only after the plugin is
ready.

And the lazy initialization logic should also ensure that the entities
engine has been properly started (and emit a `TimeoutError` if that's
not the case), in order to prevent race conditions.
blacklight merged commit bf7d060b81 into master 2023-08-17 02:56:15 +02:00
blacklight deleted branch 274/refactor-integrations-manifests 2023-08-17 02:56:15 +02:00
Sign in to join this conversation.
No description provided.