plumbum v1.4.1 Release Notes
-
- ๐ฎ Force
/bin/sh
to be the shell inSshMachine.session()
(#111 <https://github.com/tomerfiliba/plumbum/pull/111>
_) - โ Added
islink()
andunlink()
to path objects (#100 <https://github.com/tomerfiliba/plumbum/pull/100>
,#103 <https://github.com/tomerfiliba/plumbum/pull/103>
) - โ Added
access
to path objects - Faster
which
implementation (#98 <https://github.com/tomerfiliba/plumbum/pull/98>
_) - ๐ Several minor bug fixes
1.4
- ๐ฆ Moved
atomic
andunixutils
into the newfs
package (file-system related utilities) - โฌ๏ธ Dropped
plumbum.utils
legacy shortcut in favor ofplumbum.path.utils
- ๐ Bugfix: the left-hand-side process of a pipe wasn't waited on, leading to zombies (
#89 <https://github.com/tomerfiliba/plumbum/pull/89>
_) - โ Added
RelativePath
(the result ofPath.relative_to
) - ๐ Fixed more text alignment issues in
cli.Application.help()
- Introduced
ask()
andchoose
tocli.terminal
- ๐ Bugfix: Path comparison operators were wrong
- โ Added connection timeout to
RemoteMachine
1.3
Command.popen
: a new argument,new_session
may be passed toCommand.popen
, which runs the given in a new session (setsid
on POSIX,CREATE_NEW_PROCESS_GROUP
on Windows)- ๐
Command.Popen
: args can now also be a list (previously, it was required to be a tuple). See local.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
,AtomicCounterFile
andPidFile
)- ๐
copy
andmove
: thesrc
argument 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
- 0๏ธโฃ 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
password
parameter, which relies onsshpass <http://linux.die.net/man/1/sshpass>
_ to feed the password tossh
. This is a security risk, but it's occasionally necessary. Use this with caution! - Commands now have a
machine
attribute 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 <https://github.com/tomerfiliba/plumbum/blob/c224058bcefaf5c00fe2295389887c7ebc9d5132/tests/test_local.py#L53>
_, which (respectively) computes the difference between two paths and splits paths into lists of nodes - ๐จ cli:
Predicate
became a class decorator (it exists solely for pretty-printing anyway) - ๐ PuttyMachine:
bugfix <https://github.com/tomerfiliba/plumbum/pull/85>
_
1.2
- Path: added
chmod <https://github.com/tomerfiliba/plumbum/pull/49>
_ - Path: added
link and symlink <https://github.com/tomerfiliba/plumbum/issues/65>
_ - Path:
walk()
now applies filter recursively (#64 <https://github.com/tomerfiliba/plumbum/issues/64>
_) - Commands: added
Append redirect <https://github.com/tomerfiliba/plumbum/pull/54>
_ - Commands: fix
_subprocess
issue (#59 <https://github.com/tomerfiliba/plumbum/issues/59>
_) - Commands: add
__file__
to module hack (#66 <https://github.com/tomerfiliba/plumbum/issues/66>
_) - Paramiko: add
'username' and 'password' <https://github.com/tomerfiliba/plumbum/pull/52>
_ - Paramiko: add
'timeout' and 'look_for_keys' <https://github.com/tomerfiliba/plumbum/pull/67>
_ - Python 3: fix
#56 <https://github.com/tomerfiliba/plumbum/issues/56>
_ and#55 <https://github.com/tomerfiliba/plumbum/pull/55>
_
1.1
Paramiko <http://pypi.python.org/pypi/paramiko/1.8.0>
_ integration (#10 <https://github.com/tomerfiliba/plumbum/issues/10>
_)- โ
CLI: now with built-in support for
sub-commands <https://plumbum.readthedocs.io/en/latest/cli.html#sub-commands>
. See also:#43 <https://github.com/tomerfiliba/plumbum/issues/43>
- The "import hack" has moved to the package's
__init__.py
, to make it importable directly (#45 <https://github.com/tomerfiliba/plumbum/issues/45>
_) - ๐ Paths now support
chmod
(on POSIX platform) (#49 <https://github.com/tomerfiliba/plumbum/pull/49>
_) - 0๏ธโฃ The argument name of a
SwitchAttr
can now be given to it (defaults toVALUE
) (#46 <https://github.com/tomerfiliba/plumbum/pull/46>
_)
- ๐ฎ Force