Skip to content

blasterspike/pycloud

 
 

Repository files navigation

pcloud - A Python API client for pCloud

https://travis-ci.org/tomgross/pycloud.svg?branch=master

This Python (Version >= 3.6 only!) library provides a Python API to the pCloud storage.

Features

  • Can be used as a library
  • Comes with a command line script
  • Provides a PyFileSystem implementation

Examples

Usage of API

>>> from pcloud import PyCloud
>>> pc = PyCloud('[email protected]', 'SecretPassword')
>>> pc.listfolder(folderid=0)

Uploading files

  1. from filenames:
>>> pc.uploadfile(files=['/full/path/to/image1.jpg', '/Users/tom/another/image.png'],
...     path='/path-to-pcloud-dir')
  1. from data:
>>> import io
>>> from PIL import Image
>>> img = Image.open('image.jpg', 'r')
>>> bio = io.BytesIO()
>>> img.save(bio, format='jpeg')
>>> pc.uploadfile(data=bio.getvalue(), filename="image.jpg", path='/path-to-pcloud-dir')

Usage of PyFilesystem with opener

>>> from fs import opener
>>> opener.open_fs('pcloud://email%40example.com:SecretPassword@/')
<pCloudFS>

Copying files from Linux to pCloud using PyFilesystem

>>> from fs import opener, copy
>>> with opener.open_fs('pcloud://email%40example.com:SecretPassword@/') as pcloud_fs:
>>>    with opener.open_fs('/opt/data_to_copy') as linux_fs:
>>>        copy.copy_file(src_fs=linux_fs,
>>>                       src_path='database.sqlite3',
>>>                       dst_fs=pcloud_fs,
>>>                       dst_path='/backup/server/database.sqlite3')

Copy directory from Linux to pCloud using PyFilesystem

>>> from fs import opener, copy
>>> with opener.open_fs('pcloud://email%40example.com:SecretPassword@/') as pcloud_fs:
>>>    with opener.open_fs('/opt/data_to_copy') as linux_fs:
>>>        copy.copy_dir(src_fs=linux_fs,
>>>                      src_path='database/',
>>>                      dst_fs=pcloud_fs,
>>>                      dst_path='/backup/database/')

Documentation

Implements the pCloud API found at https://docs.pcloud.com/

Installation

$ pip install pcloud

Contribute

License

The project is licensed under MIT (see docs/LICENSE.rst).

About

A Python implementation of the pCloud API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%