Ayrton

Latest version: v0.9.1

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

Scan your dependencies

Page 2 of 4

0.7.1

* Iterable parameters to executables are expanded in situ, so `foo(..., i, ...)` is expanded to `foo (..., i[0], i[1], ...` and `foo(..., k=i, ...)` is expanded to `foo (..., k=i[0], k=i[1], ...`.
* `-x|--trace` allows for minimal execution tracing.
* `-xx|--trace-with-linenos` allows for execution tracing that also prints the line number.

-- Marcos Dione <mdionegrulic.org.ar> Wed, 10 Feb 2016 10:14:17 +0100

0.7

* Send data to/from the remote via another `ssh` channel, which is more stable than using `stdin`.
* Stabilized a lot all tests, specially those using a mocked stdout for getting test validation.
* A lot of tests have been moved to their own scripts in ayrton/tests/scripts, which also work as (very minimal) examples of whatś working.
* Use `flake8` to check the code.
* Move `remote()` to its own source.
* API change: if a `str` or `bytes` object is passed in `_in`, then it's the name of a file where to read `stdin`. If it's an `int`, then it's considered a file descriptor. This makes the API consistent to `_out` and `_err` handling.
* More error handling.
* Fixed errors with global variables handling.
* `argv` is handled at the last time possible, allowing it being passed from test invoction.
* `shift` complains on negative values.
* Lazy `pprint()`, so debug statemens do not do useless work.
* `stdin/out/err` handling in `remote()` is done by a single thread.
* Modify a lot the local terminal when in `remote()` so, among other things, we have no local echo.
* Properly pass the terminal type and size to the remote. These last three features allows programs like `vi` be run in the remote.
* Paved the road to make `remote()`s more like `Command()`s.

-- Marcos Dione <mdionegrulic.org.ar> Wed, 09 Dec 2015 15:48:49 +0100

0.6

* Great improvements in `remote()`'s API and sematics:
* Made sure local varaibles go to and come back from the remote.
* Code block is executes syncronically.
* For the moment the streams are no longer returned.
* _python_only option is gone.
* Most tests actually connect to a listening netcat, only one test uses `ssh`.
* Fixed bugs in the new parser.
* Fixed globals/locals mix up.
* Scripts are no longer wrapped in a function. This means that you can't return values and that module semantics are restored.
* `ayrton` exits with status 1 when the script fails to run (SyntaxError, etc).

-- Marcos Dione <mdionegrulic.org.ar> Wed, 28 Oct 2015 20:57:19 +0100

0.5

* Much better command detection.
* `CommandNotFound` exception is now a subclass of `NameError`.
* Allow `Command` keywords be named like `-l` and `--long-option`, so it supports options with single dashes (`-long-option`, à la `find`).
* This also means that long-option is no longer passed as --long-option; you have to put the dashes explicitly.
* bash() does not return a single string by default; override with single=True.
* Way more tests.
* Updated docs.

-- Marcos Dione <mdionegrulic.org.ar> Sun, 30 Aug 2015 15:13:30 +0200

0.4.4

* `source()` is out. use Python's import system.
* Support executing `foo.py()`.

-- Marcos Dione <mdionegrulic.org.ar> Wed, 20 May 2015 23:44:42 +0200

0.4.3

* Let commands handle SIGPIE and SIGINT. Python does funky things to them.
* for line in foo(): ... forces Capture'ing the output.
* Fix remote() a little. The API stills sucks.
* Fix remote() tests.

-- Marcos Dione <mdionegrulic.org.ar> Fri, 10 Apr 2015 22:09:40 +0200

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.