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
continuous-integration/drone/push Build is passing Details
98e9abde18
Extended manifest files with Python system packages (if available).
- 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
e9dbcff1a8
Removed old `bin/platypush` script.
It's already been replaced by the setup.py entry point.
3bf068e0b2
The __main__ function should take no arguments.
setup.py won't pass any arguments to `main()`, so the default entry
point should get them itself from `sys.argv`.
ec2b8da983
Ignore Redis errors when a backend sends an unregister notify event.
When that happens, it's most likely that the application is already
stopping and the Redis service has already been terminated.
continuous-integration/drone/push Build is passing Details
bf7d060b81
Added `@ensure_initialized` decorator to actions in `variable`.
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 reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: platypush/platypush#275
No description provided.