Releases: drivendataorg/cloudpathlib
Releases · drivendataorg/cloudpathlib
v0.6.3
- Fixed error when using
rmtree
on nested directories for Google Cloud Storage and Azure Blob Storage. (Issue #184, PR #185) - Fixed broken builds due mypy errors in azure dependency (PR #177)
- Fixed dev tools for building and serving documentation locally (PR #178)
v0.6.2
v0.6.1
v0.6.0
v0.5.0
v0.4.1
- Added support for custom S3-compatible object stores. This functionality is available via the
endpoint_url
keyword argument when instantiating anS3Client
instance. See documentation for more details. (#138 thanks to @YevheniiSemendiak) - Added
CloudPath.upload_from
which uploads the passed path to this CloudPath (issuse #58) - Added support for common file transfer functions based on
shutil
. Issue #108. PR #142.CloudPath.copy
copy a file from one location to another. Can be cloud -> local or cloud -> cloud. Ifclient
is not the same, the file transits through the local machine.CloudPath.copytree
reucrsively copy a directory from one location to another. Can be cloud -> local or cloud -> cloud. UsesCloudPath.copy
so ifclient
is not the same, the file transits through the local machine.
v0.4.0
- Added rich comparison operator support to cloud paths, which means you can now use them with
sorted
. (#129) - Added polymorphic class
AnyPath
which creates a cloud path orpathlib.Path
instance appropriately for an input filepath. See new documentation for details and example usage. (#130) - Added integration with Pydantic. See new documentation for details and example usage. (#130)
- Exceptions: (#131)
- Changed all custom
cloudpathlib
exceptions to be located in newcloudpathlib.exceptions
module. - Changed all custom
cloudpathlib
exceptions to subclass from new baseCloudPathException
. This allows for easy catching of any custom exception fromcloudpathlib
. - Changed all custom exceptions names to end with
Error
as recommended by PEP 8. - Changed various functions to throw new
CloudPathFileExistsError
,CloudPathIsADirectoryError
orCloudPathNotADirectoryError
exceptions instead of a genericValueError
. - Removed exception exports from the root
cloudpathlib
package namespace. Import fromcloudpathlib.exceptions
instead if needed.
- Changed all custom
- Fixed
download_to
method to handle case when source is a file and destination is a directory. (#121 thanks to @genziano) - Fixed bug where
hash(...)
of a cloud path was not consistent with the equality operator. (#129) - Fixed
AzureBlobClient
instantiation to throw new errorMissingCredentialsError
when no credentials are provided, instead ofAttributeError
.LocalAzureBlobClient
has also been changed to accordingly error under those conditions. (#131) - Fixed
GSClient
to instantiate as anonymous with public access only when instantiated with no credentials, instead of erroring. (#131)
v0.3.0
- Added a new module
cloudpathlib.local
with utilities for mocking cloud paths in tests. The module has "Local" substitute classes that use the local filesystem in place of cloud storage. See the new documentation article "Testing code that uses cloudpathlib" to learn more about how to use them. (#107)
v0.2.1
v0.2.0
- Added support for Google Cloud Storage. Instantiate with URIs prefixed by
gs://
or explicitly using theGSPath
class. (#113 thanks to @wolfgangwazzlestrauss) - Changed backend logic to reduce number of network calls to cloud. This should result in faster cloud path operations, especially when dealing with many small files. (#110, #111)