- updated write method in FileSystem to no longer rely on copy_from_host
- added put and put_archive methods to FileSystem to allow users to upload files and directories to the container.
- added __all__ to all submodules to improve discoverability
- silence stdout/stderr when copying files via copy_to_host and copy_from_host
- switched from Pipenv to Poetry
- updated linting config to use Ruff and MyPy 1.1.0
- fixed a bug that prevented time_limit and kill_after from being used by subprocess.check_output
- relaxed attrs requirement to any version since 19.2.0
- added environment argument to Shell methods (#81)
- fixed issue when copying symbolically linked files (#73)
- updated Daemon constructor to support Windows out of the box
- fixed copy_from_host and copy_to_host in FileSystem to support Windows hosts.
- relaxed dependency versions to improve compatibility.
- updated default url for DockerDaemon to be the value of the DOCKER_HOST environment variable, if present. If the DOCKER_HOST environment variable is not present, unix://var/run/docker.sock will be used instead.
- added command parameter to provision method of DockerDaemon.
- added name attribute to Container class.
- added ports, user, name, environment, and entrypoint parameters to provision method of DockerDaemon.
- bug fix: added py.typed to MANIFEST.in to fix PEP 561 support.
- added __enter__ and __exit__ to Container.
- improved performance of copy_to_host, copy_from_host, and read methods in FileSystem.
- added network_mode parameter to provision method of DockerDaemon.
- added network_mode property to Container.
- bug fix: lack of defensive copying in Shell constructor can lead to crashes due to use of mappingproxy type.
- added experimental _local_to_host_pid method to Shell API.
- added support for mypy type hint discovery as specified in PEP 561
- added missing type annotations
- updated
Shell
construction to raise aContainerFileNotFound
if a given source does not exist. - added
access
method to FileSystem for testing whether user inside shell has permission to perform operations on a given file.
- updated
TimeoutExpired
andCalledProcessError
exceptions to inherit from their counterparts in the Python standard library - added
encoding
parameter toPopen
to allow users to specify which encoding, if any, should be used to decode the output stream from a process. - added
volumes
parameter toprovision
method inDockerDaemon
, allowing users to specify volume mounts.
- added persist method to Container
- added pid property Container
- added _info property to Container
- added find method to FileSystem
- added listdir method to FileSystem
- added mkdir method to FileSystem
- added rmdir method to FileSystem
- added ability to specify an environment via environment argument of shell method in Container
- added ability to construct a shell using sources via sources argument of shell method in Container
- optimised implementation of environ method in Shell by removing the need to interact with the underlying container
- added ip_address property to Container
- disabled stdout logging by default
- added time_limit and kill_after to command execution methods in Shell
- added makedirs to FileSystem
- added mktemp to FileSystem
- added remove to FileSystem
- added write to FileSystem
- added tempfile method to FileSystem
- fixed bug in copy_from_host that prevented files from being copied to the container
- implemented provision method in Daemon
- added copy_from_host method to FileSystem
- added read method to FileSystem
- added copy_to_host method to FileSystem
- updated attrs to 19.3.0
- initial release.