Sobre o projeto
smart_open é uma biblioteca Python 3 que fornece uma API unificada e Pythonica para transmitir arquivos muito grandes de e para diversos sistemas de armazenamento, incluindo Amazon S3, Google Cloud Storage, Azure Blob Storage, HDFS, WebHDFS, HTTP/HTTPS, SFTP/SCP/SSH e o sistema de arquivos local. Ela atua como um substituto direto para a função open() nativa do Python, mantendo total compatibilidade e adicionando suporte a URIs remotas e (des)compressão em tempo real para formatos como gzip, bzip2, LZ4, XZ e Zstandard.
A biblioteca lida com autenticação e detalhes de transporte para cada backend, permitindo que usuários passem clientes personalizados (por exemplo, boto3, google-cloud-storage, azure-storage-blob) via transport_params para configuração avançada. Ela suporta gerenciadores de contexto, seeking e operações padrão de IOBase. A compressão é inferida pelas extensões de arquivo por padrão, mas pode ser sobrescrita ou desabilitada. Utilitários adicionais incluem iteração paralela sobre o conteúdo de buckets S3 via smart_open.s3.iter_bucket().
A instalação é mínima por padrão; dependências opcionais para cada backend de armazenamento e formato de compressão podem ser instaladas via extras (por exemplo, pip install 'smart_open[s3,gcs,azure,http,webhdfs,ssh,zst,lz4]'). O projeto é bem testado, licenciado sob MIT e mantido ativamente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.