Releases: MillionConcepts/hostess
Releases · MillionConcepts/hostess
v0.11.3
Added
ServerPoolnow supports atask_delayargument that enforces
a minimum time interval between assigning any two tasks to any
one worker. This can be passed directly to dependent methods such as
aws.ec2.Cluster.commandmap().aws.s3.Bucketnow supports simple bucket tag access and management.
Tags may be set by passing kwargs to theBucket.set_tags()method,
and may be inspected as theBucket.tagsattribute.
Changed
- Assorted linting and documentation cleanup
Full Changelog: v0.11.2...v0.11.3
v0.11.2
Full Changelog: v0.11.1...v0.11.2
v0.11.1
Full Changelog: v0.11.0...v0.11.1
v0.11.0
Full Changelog: v0.10.2...v0.11.0
v0.10.2
Fixed
- bug in
pyproject.tomlwhich left outawsandconfigmodules in fresh installs
Full Changelog: v0.10.1...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 thechunksizeargument, 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
SSHobjects 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-
Clusterfile upload/download methods (read(),get(),put(),
read_csv()) - can now set default S3
TransferConfiginhostess.config RefAlarmtool for debugging reference leaks / dropsClusterandInstancenow haveinstall_conda()methods that perform
managed installation(s) of a Conda distribution of Python (by default miniforge)ServerPoolobject for managed asynchronous dispatch of arbitrary numbers
of tasks to remote hosts
Changed
Clustercan now be indexed byInstancenames, instance ids, and ip
addresses as well as their indices within theCluster'sinstanceslistClusterwait-until-connected behavior is now available as an individual
method (connect()), not just fromlaunch()- various
Clustermethods 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)dictsreturned by theprice_per_hour()methods ofClusterandInstance
now order keys the same way- assorted updates to documentation and examples
Fixed
Bucket.put_stream()updated to work with newBucketinternalsconsole_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
argseqas individual tasks (due to both ambiguity and partial incompatibility
withpythonmap()'ssignature). They will always interpret a sequence of bare
strings as atupleof args to be included in all tasks.
Full Changelog: 0.8.0...v0.9.0