Scrapli

Latest version: v2025.1.30

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

Scan your dependencies

Page 1 of 6

2024.07.30

- Better SSH config/known hosts file handling for system transport by bennnnnnnn -- now when passing "True" to
ssh_config_file with system transport we no longer pass the -F flag, we just let openssh/the system figure out which
config file(s) to use. See 336.
- Thanks to ssmyk for working through some issues with GenericDriver -- the default "on_open" function of GenericDriver
now will "find" the prompt in order to ensure we drain off any content on the channel left over after logging in; note
you can of course override this if this is not what you want! See 330.
- Fixed transport name validation to not break for user supplied transports thanks to mvenditto in 329.
- Yet more ANSI pattern fixups in 332 and 326 with help from ssmyk in 325 and denisbondar in 316.
- mota-ovhcloud expanded `cisco_nxos` prompts to handle maintenance mode prompt patterns in 324.
- 311 from killjoy1221 replaced `pkg_resources` with `importlib.resources`.
- Fixed scrapli hanging when connecting to misbehaving ssh servers from forrejam in 321.
- Unset `onclr` in system transport -- this should not impact scrapli itself but is a big deal for scrapli_netconf,
see scrapli_netconf issue 142 for more details.
- Ensure that channel/transport is closed if there is an exception encountered during open in context manager,
thank you to Basskip in 345 for raising this
- Critical path logging refactored to not use f-strings for performance reasons, see 343 and thank you to MattCatz
- Improved control char handling for telnet transports in 344, also thank you to MattCatz

2024.01.30

- Expand `arista_eos` prompt pattern to handle super long config sections (things like qos queues and such). Thanks
to MarkRudenko over in scrapli_cfg repo for finding this and providing the fix!
- Add `comms_roughly_match_inputs` option -- this uses a "rough" match when looking for inputs (commands/configs you
send) in output printed back on the channel. Basically, if all input characters show up in the output in the correct
order, then we assume the input was found. Of course this could be less "exacting" but it also *probably* is ok 99%
of the time :)
- Added an `eager_input` option to send operations -- this option completely skips checking for inputs being echoed back
on the channel. With the addition of the `comms_roughly_match_inputs` option this is *probably* unnecessary, but
could be useful for some corner cases.
- More ansi pattern improvement (and tests this time!) thanks to denisbondar for all the work here

2023.07.30

- Convert netconf 1.1 chunk handling over to the scrapligo style/way -- fixes 131 with thanks to
[Matt Takacs](https://github.com/matthewtakacs) for the help!

2023.05.12

- Add Fortinet FortiOS -- see 155

2023.01.30

- Handle parsing out control characters that seem to pop up on some JunOS boxes with at least ssh2 transport, see 127.
- Hopefully improved some handling with possible "over reading" during initial session establishment. See 122 for a
lot of history on this one, and 126 for at least a partial fix (if not full fix?!)
- Thanks to [sanjmonkey](https://github.com/sanjmonkey) for expanding support for "with-defaults" parsing from
capabilities in 129

2022.07.30.post1

- Big thanks once again to haccht (and to egreenspan2 for raising an issue on this as well) for fixing up some
broken telnet control character handling, and for porting that to async side of things as well!

Page 1 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.