Shellous

Latest version: v0.37.0

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

Scan your dependencies

Page 3 of 7

0.26.0

------

- [FEATURE] Add `path` option to customize the search path for a command.
- [FEATURE] Add `find_command()` method to the `sh` CmdContext for use in locating a command in the `path`. (424)
- [API] Remove support for concatenating commands using the `%` operator. The same result can be achieved using `cmd.args`. (420)
- [LATERAL] Add CI testing for `eager_task_factory` in Python 3.12. (437)

0.25.0

------

- [API] Removed the `extra` property from the `Result` object. `PipeResult` is no longer defined.
- [API] The `catch_cancelled_error` option has been renamed to `_catch_cancelled_err` and is now private.
- [FEATURE] The external API is now fully typed. Added a `py.typed` file.
- [BUGFIX] Added support for combining stdout(DEVNULL) and stderr(STDOUT) to produce only standard error, as if it was normal output (381).
- [BUGFIX] Reduced verbosity of logging under the `info` level.
- [LATERAL] Refactored the `_run_` helper method used in Runner, PipeRunner.

0.24.0

------

- [API] The `Runner.run()` method is now private. The correct API is `await`, `async for` or `async with`.
- [API] The `return_result` and `writable` options in the `Options` class are now private.
- [FEATURE] Improve typing of Command, CmdContext and Pipeline to differentiate between "string" mode and "Result" mode (375).
- [FEATURE] Improve typing of the audit_callback info; add `AuditEventInfo` as a `TypedDict`.
- [FEATURE] Allow redirection with append to more types than `Path` (359).
- [BUGFIX] Fix bug in redirecting via `|` to a `bytearray`, `StringIO` or `BytesIO` where the original content was not replaced/truncated.
- [BUGFIX] Fix unintended dependency on typing_extensions module; shellous has no required dependencies.
- [BUGFIX] Fix edge case on FreeBSD where running command in a pty that produces no output causes a shellous command to hang (378).
- [LATERAL] Add CI testing for Python 3.12-dev.
- [LATERAL] Fix CI code coverage due to codecov API changes.
- [LATERAL] Replace flake8 with ruff in CI.

0.23.0

------

- [API] When using `async with`, you MUST tag the desired input/output streams with `sh.CAPTURE`. The new default is to capture nothing; the previous default was `stdout(sh.CAPTURE)`.
- [API] In Runner/PipeRunner, the `result()` method will always return a `Result` object. Previously, it could return `str`.
- [API] Setting the encoding to `None` is no longer allowed. If you want `bytes` output, use the `Result` object. This was previously a DeprecationWarning.
- [API] The `sh.RESULT` constant has been renamed to `sh.BUFFER` to avoid confusion with the `sh.result` modifier.
- [FEATURE] Added the `.result` modifier to CmdContext. You can now request a `Result` using the syntax `await sh.result("echo")`.

0.22.0

------

- [FEATURE] The default for standard error is to write to `error_bytes` in the Result object (saving the first 1024 bytes only). If a command fails, this makes it easier to see what went wrong.
- [FEATURE] Issue a warning when using Python '3.10.9' and '3.11.1'. These specific releases have a known race condition bug that affects asyncio subprocess output.
- [API] Setting the output encoding to `None` issues a DeprecationWarning. If you want the bytes output, use the `Result` object.
- [LATERAL] Reorder the fields in the `Result` object to improve readability.

0.21.0

------

- [BUGFIX] Fix an issue with pty support on Linux. The bug led to closing a file descriptor that was already closed.
- [LATERAL] Add stronger typing support internally.
- [LATERAL] Refactor _RunOptions internal class.
- [LATERAL] Remove dependency on immutables module.

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.