explaingit

houtianze/bypy

8,537PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

A Python command-line tool for accessing Baidu Yun cloud storage (2TB free) from Linux terminals and small devices like Raspberry Pi, supporting upload, download, and folder sync.

Mindmap

mindmap
  root((bypy))
    What it does
      Upload files
      Download files
      Sync folders
      Compare local vs cloud
    Tech stack
      Python
      pip
      Baidu API
    Limitations
      /apps/bypy path only
      Maintenance mode
    Audience
      Linux users
      Raspberry Pi users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Upload and sync files from a Raspberry Pi or headless Linux server to 2TB of free Baidu cloud storage without a desktop app.

USE CASE 2

Download files from Baidu Yun to a remote Linux machine using a single terminal command.

USE CASE 3

Compare a local folder against Baidu Yun to find what is missing and sync only the differences, avoiding redundant transfers.

Tech stack

Pythonpip

Getting it running

Difficulty · easy Time to first run · 30min

Can only access the /apps/bypy subfolder on your Baidu account due to API restrictions, no access to the rest of your cloud storage.

In plain English

Bypy is a Python command-line client for Baidu Yun, a Chinese cloud storage service that offers 2 terabytes of free personal storage. The main reason it exists is to let people use that storage from a Linux terminal, including on small devices like a Raspberry Pi, where no official desktop app is available. It works on Windows too, though that has been tested less thoroughly. Once installed with a single pip command, you run bypy from the terminal and authorize it once by following a login prompt. After that, you can list files on the cloud, upload your current folder, download from the cloud, or compare what is local against what is stored remotely. The compare command is highlighted in the README as particularly useful for keeping two locations in sync without redundant transfers. One constraint is worth knowing upfront: due to permission restrictions in the Baidu API, the program can only read and write to a specific subfolder on your cloud account, specifically the path called /apps/bypy. It cannot access the rest of your Baidu cloud storage. This is a platform limitation, not something the project controls. The tool supports Unicode and Chinese filenames, retries failed transfers automatically, handles recursive uploads and downloads across folders, and caches file hashes to avoid rehashing the same content repeatedly. A basic graphical interface is also available by running bypygui if you prefer to avoid the terminal. The project is now in maintenance mode. No new features will be added, and updates will only happen if a critical bug is found. The README is bilingual in Chinese and English, reflecting its original focus on Chinese users running Linux servers or small single-board computers.

Copy-paste prompts

Prompt 1
Using bypy, write a shell script that automatically syncs a local /backup folder to Baidu Yun every night on a Raspberry Pi via cron.
Prompt 2
How do I authorize bypy on a headless Linux server with no browser, then upload an entire directory to /apps/bypy?
Prompt 3
Write a bypy command sequence that compares my local Downloads folder against Baidu Yun and downloads only the files that are missing locally.
Open on GitHub → Explain another repo

← houtianze on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.