Skip to content

pCloud SDK for Python

PyPI version Python versions Tests Coverage License: MIT

A modern Python SDK for the pCloud API with automatic token management and real-time progress tracking.

🚀 Quick Start

from pcloud_sdk import PCloudSDK

# Simple login with automatic token management (RECOMMENDED)
sdk 💾PCloudSDK()  # Defaults: EU server, direct auth, token manager enabled
sdk.login("your_email@example.com", "your_password")

# Immediate usage
user_info 💾sdk.user.get_info()
print(f"Welcome, {user_info['email']}!")

# Upload a file with progress tracking
result 💾sdk.file.upload("./local_file.pdf", folder_id=0)
print(f"File uploaded: {result['metadata'][0]['name']}")

# Download a file
sdk.file.download(file_id=12345, path="./downloads/")

✅œ¨ Key Features

  • 🔐 Automatic Token Management - Never worry about token expiration again
  • 📊 Real-time Progress Tracking - Built-in progress bars and custom callbacks
  • 🌍 Multi-region Support - US and EU server support with auto-detection
  • 🛡️ Type Safety - Full type hints for better IDE support
  • ✅š¡ Modern Architecture - Clean, Pythonic API design
  • 🧪 Comprehensive Testing - 95%+ test coverage with integration tests
  • 📖 Rich Documentation - Detailed guides, examples, and API reference

🎯 Perfect For

  • File Management Applications - Upload, download, organize files in pCloud
  • Backup Solutions - Automated backup scripts with progress monitoring
  • Data Migration Tools - Move data to/from pCloud with reliable error handling
  • Cloud Integration - Integrate pCloud into existing Python applications

🆚 Why This SDK?

Feature pCloud SDK Other Solutions
Token Management ✅œ… Automatic ✅Œ Manual
Progress Tracking ✅œ… Built-in ✅Œ Custom implementation
Type Safety ✅œ… Full type hints ✅Œ Limited
Error Handling ✅œ… Comprehensive ✅Œ Basic
Documentation ✅œ… Extensive ✅Œ Minimal
Testing ✅œ… 95%+ coverage ✅Œ Limited

📚 Documentation Structure

🤝 Contributing

We welcome contributions! Please see our Development Guide for details on:

  • Setting up the development environment
  • Running tests and linting
  • Submitting pull requests
  • Reporting issues

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.