Change Log¶
1.4.3¶
- CLI: add
invoke, which allows you to programmatically run applications (#149) - CLI: add
--help-alland various cosmetic fixes: (#125), (#126), (#127) - CLI: add
root_appproperty (#141) - Machines:
getattrnow raisesAttributeErrorinstead of CommandNotFound (#135) - Paths: bugfix to
cwdinteraction withPath(#142) - Paths: read/write now accept an optional encoding parameter (#148)
- Commands: renamed
setenvtowith_env(#143) - Commands: pipelines will now fail with
ProcessExecutionErrorif the source process fails (#145)
1.4.2¶
- Paramiko now supports Python 3, enabled support in Plumbum
- Terminal: added
prompt(), bugfix toget_terminal_size()(#113) - CLI: added
cleanup(), which is called aftermain()returns - CLI: bugfix to
CountOf(#118) - Commands: Add a TEE modifier (#117)
- Remote machines: bugfix to
which, bugfix to remote environment variables (#122) - Path:
read()/write()now operate on bytes
1.4.1¶
1.4¶
- Moved
atomicandunixutilsinto the newfspackage (file-system related utilities) - Dropped
plumbum.utilslegacy shortcut in favor ofplumbum.path.utils - Bugfix: the left-hand-side process of a pipe wasn’t waited on, leading to zombies (#89)
- Added
RelativePath(the result ofPath.relative_to) - Fixed more text alignment issues in
cli.Application.help() - Introduced
ask()andchoosetocli.terminal - Bugfix: Path comparison operators were wrong
- Added connection timeout to
RemoteMachine
1.3¶
Command.popen: a new argument,new_sessionmay be passed toCommand.popen, which runs the given in a new session (setsidon POSIX,CREATE_NEW_PROCESS_GROUPon Windows)Command.Popen: args can now also be a list (previously, it was required to be a tuple). Seelocal.daemonize: run commands as full daemons (double-fork andsetsid) on POSIX systems, or detached from their controlling console and parent (on Windows).list_processes: return a list of running process (local/remote machines)SshMachine.nohup: “daemonize” remote commands vianohup(not really a daemon, but good enough)atomic: Atomic file operations (AtomicFile,AtomicCounterFileandPidFile)copyandmove: thesrcargument can now be a list of files to move, e.g.,copy(["foo", "bar"], "/usr/bin")- list local and remote processes
- cli: better handling of text wrapping in the generated help message
- cli: add a default
main()method that checks for unknown subcommands - terminal: initial commit (
get_terminal_size) - packaging: the package was split into subpackages; it grew too big for a flat namespace. imports are not expected to be broken by this change
- SshMachine: added
passwordparameter, which relies on sshpass to feed the password tossh. This is a security risk, but it’s occasionally necessary. Use this with caution! - Commands now have a
machineattribute that points to the machine they run on - Commands gained
setenv, which creates a command with a bound environment - Remote path: several fixes to
stat(StatRes) - cli: add lazily-loaded subcommands (e.g.,
MainApp.subcommand("foo", "my.package.foo.FooApp")), which are imported on demand - Paths: added relative_to and split, which (respectively) computes the difference between two paths and splits paths into lists of nodes
- cli:
Predicatebecame a class decorator (it exists solely for pretty-printing anyway) - PuttyMachine: bugfix
1.2¶
- Path: added chmod
- Path: added link and symlink
- Path:
walk()now applies filter recursively (#64) - Commands: added Append redirect
- Commands: fix
_subprocessissue (#59) - Commands: add
__file__to module hack (#66) - Paramiko: add ‘username’ and ‘password’
- Paramiko: add ‘timeout’ and ‘look_for_keys’
- Python 3: fix #56 and #55
1.1¶
- Paramiko integration #10
- CLI: now with built-in support for sub-commands. See also: #43
- The “import hack” has moved to the package’s
__init__.py, to make it importable directly #45 - Paths now support
chmod(on POSIX platform) #49 - The argument name of a
SwitchAttrcan now be given to it (defaults toVALUE) #46
1.0.1¶
- Windows: path are no longer converted to lower-case, but
__eq__and__hash__operate on the lower-cased result #38 - Properly handle empty strings in the argument list #41
- Relaxed type-checking of
LocalPathandRemotePath#35 - Added
PuttyMachinefor Windows users that relies onplinkandpscp(instead ofsshandscp) #37
1.0.0¶
0.9.0¶
Initial release