Executor

Latest version: v23.1

Safety actively analyzes 681935 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 18

14.0

----------------------------

Enable passing shell commands via stdin without specifying a command.
Strictly speaking this change is not backwards compatible but my
impression is that this won't break any valid, existing use cases.

.. _Release 14.0: https://github.com/xolox/python-executor/compare/13.0...14.0

13.0

----------------------------

Improve concurrency control for command pools

Previously there was only ``CommandPool.concurrency`` to control *how many*
commands were allowed to run concurrently, now the caller can control *which*
commands are allowed to run concurrently (using the two new properties
``ExternalCommand.dependencies`` and ``group_by``).

.. _Release 13.0: https://github.com/xolox/python-executor/compare/12.0...13.0

12.0

----------------------------

Connect stdin to ``/dev/null`` in command pools (backwards incompatible!)

Recently I ran into some spectacularly weird failures and it took me a
while to realize that it was happening because a command pool with SSH
client commands was running multiple SSH clients concurrently and each
of the SSH clients was allocating a pseudo-tty (``ssh -t``).

I'm currently under the impression that this new behavior is the only
sane choice, even if it is backwards incompatible. Here's hoping I
thought that through well enough before releasing this change :-).

.. _Release 12.0: https://github.com/xolox/python-executor/compare/11.0.1...12.0

11.0.1

------------------------------

- Bug fix: Allow assignment of individual environment variables.
- Refactored makefile and ``setup.py`` script (checkers, docs, wheels, twine, etc).

.. _Release 11.0.1: https://github.com/xolox/python-executor/compare/11.0...11.0.1

11.0

----------------------------

Connect stdin to ``/dev/null`` when ``tty=False`` (backwards incompatible!)

Recently I ran into several external commands whose output was being
captured and thus not visible, but which nevertheless rendered an
interactive prompt, waiting for a response on standard input (which
I wasn't providing because I never saw the interactive prompt :-).
The option to connect stdin and ``/dev/null`` was never available in
executor, however given the recent addition of the ``tty`` option it
seemed logical to combine the two.

Two changes in this commit backwards incompatible:

1. The standard input stream of external commands was never connected to
``/dev/null`` before and this is changing without an explicit opt-in or
opt-out mechanism. I'm making this choice because I believe it to be the
only sane approach.

2. The interface of the ``CachedStream`` class has changed even though this is
a documented, externally available class. However I don't actually see
anyone using ``CachedStream`` outside of the executor project, so in the
grand scheme of things this is a minor thing (99% of users will never even
notice, I'm guessing).

.. _Release 11.0: https://github.com/xolox/python-executor/compare/10.1...11.0

10.1

----------------------------

Added support for ``start_event`` and ``finish_event`` callbacks.

.. _Release 10.1: https://github.com/xolox/python-executor/compare/10.0...10.1

Page 5 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.