Releases: MillionConcepts/hostess
Releases · MillionConcepts/hostess
v0.10.2
v0.10.1
v0.9.3
v0.9.2
Added
- stdout/stderr stream chunksize (in bytes) for most process execution objects
can now be modified by passing thechunksize
argument, e.g.
Viewer.from_command('ls', chunksize=100)
Bucket.ls()
will also retrieve object owner information when passed
fetch_owner=True
Fixed
- bug that caused AWS credential file parsing to fail on non-default account
creds stored in non-default credentials file - occasional failures when attempting to disown processes
- bug that sporadically delayed SSH tunnel cleanup for closed / destroyed
SSH
objects until interpreter exit
Changed
- default stdout/stderr stream chunksize increased from 1K to 20K
- assorted linting, stability tweaks, etc.
v0.9.1
v0.9.0
Added
- whole-
Cluster
file upload/download methods (read()
,get()
,put()
,
read_csv()
) - can now set default S3
TransferConfig
inhostess.config
RefAlarm
tool for debugging reference leaks / dropsCluster
andInstance
now haveinstall_conda()
methods that perform
managed installation(s) of a Conda distribution of Python (by default miniforge)ServerPool
object for managed asynchronous dispatch of arbitrary numbers
of tasks to remote hosts
Changed
Cluster
can now be indexed byInstance
names, instance ids, and ip
addresses as well as their indices within theCluster
'sinstances
listCluster
wait-until-connected behavior is now available as an individual
method (connect()
), not just fromlaunch()
- various
Cluster
methods can now be run in 'permissive' mode, returning
exceptions rather than raising them (intended to allow instructions to execute
on some instances even if attempts to execute instructions on others fail) - backed by
ServerPool
,Cluster
'scommandmap()
andpythonmap()
now
accept arbitrary numbers of tasks, dispatching them to instances as soon as they free up hostess.caller.generic_python_endpoint()
now permits returning objects in
pickled and/or gzipped form (preparation for high-level features in a later version)dicts
returned by theprice_per_hour()
methods ofCluster
andInstance
now order keys the same way- assorted updates to documentation and examples
Fixed
Bucket.put_stream()
updated to work with newBucket
internalsconsole_stream_handlers()
no longer creates secret duplicate stdout/stderr
caches- edge case in
find_conda_env()
that sometimes prevented finding the most
recently-created env - edge case in caller json serialization for some nested objects containing
strings Instance.conda_env()
now autoconnects as intended
Removed
- Because they now accept arbitrary numbers of tasks,
Cluster.commandmap()
andpythonmap()
no longer interpret sequences of bare strings passed to
argseq
as individual tasks (due to both ambiguity and partial incompatibility
withpythonmap()'s
signature). They will always interpret a sequence of bare
strings as atuple
of args to be included in all tasks.
Full Changelog: 0.8.0...v0.9.0
v0.8.0
Added
- dispatched asynchronous I/O for
aws.s3.Bucket
- variable-argument "mapped" versions of
call_python()
andcommand()
for
aws.ec2.Cluster
- read-to-memory functionality for SSH-backed objects and
Bucket
- dynamic price-per-hour calculation for EC2 instances
- tutorial Notebooks for
aws.s3
andaws.ec2
- experimental extended return options for
caller
-generated functions
Changed
- most module-level plain functions in
aws.s3
are now methods ofBucket
- performance, stability, and consistency improvements to
Bucket.ls()
- SSH tunnels now run in threads instead of subprocesses
- additional options for
aws.utilities.autopage()
- small changes to
caller.generic_python_endpoint()
signature - updated documentation
- EC2 wait-until-state-reached methods now accept timeouts
Cluster.launch()
now includes a block-until-connected option
(connect=True
) along with its existing block-until-started option
(wait=True
)
Fixed
- assorted MacOS compatibility issues
- several AWS pricing API regressions
- bug in
Bucket.put()
- bug with passing
int
/float
positional arguments tosubutils.RunCommand
and subclasses - bug with packing ndarrays of homogeneous dtype
Full Changelog: v0.7.2...0.8.0