Skip to main content

htx-cli

htx-cli is a command-line client for the Disk backend API. It supports:

  • SSO-based login by exchanging an authorization code for the backend JWT token
  • Listing remote Disk directories
  • Switching into a remote working directory with cd
  • Uploading a local file into a remote Disk directory
  • Uploading a local directory recursively while recreating its folder structure remotely
  • Resumable multipart uploads with real remote-part progress

Install

pip install htx-cli

For local development:

pip install -e .

Commands

Print the SSO authorization URL:

htx login --print-url

Interactive login:

htx login

You can also paste the full callback URL directly:

htx login --code 'https://d.6-79.cn/oauth/qtb/callback?code=...'

Show the authenticated user:

htx whoami

Change into a remote directory:

htx cd @Ab12Cd
htx cd Projects
htx cd ../Archive

Print the current remote directory:

htx pwd

List the current remote directory:

htx ls

List the remote root directory explicitly:

htx ls /

List a nested remote directory by relative path:

htx ls Photos/2024

List a remote resource directly by resource ID:

htx ls id:Ab12Cd

The shorter @资源ID form works too:

htx ls @Ab12Cd

Upload a local file into a remote directory:

htx upload ./report.pdf

Upload a local directory recursively. The local directory name is created or reused under the target remote directory:

htx upload ./albums

Only upload selected extensions:

htx upload ./albums /Photos --include-ext jpg --include-ext png

Exclude specific extensions:

htx upload ./albums /Photos --exclude-ext tmp --exclude-ext log

You can combine both flags. --exclude-ext takes precedence when both match the same file.

Create a directory under the remote root:

htx mkdir Projects
htx cd Projects
htx mkdir 2026

Create a directory under a specific remote folder:

htx mkdir 2026 /Photos
htx mkdir Archive @Ab12Cd

Rename a remote resource:

htx rename /Photos/old-name.jpg new-name.jpg

Move a remote resource into another remote directory:

htx mv new-name.jpg ../Archive

Delete a remote file:

htx rm new-name.jpg

Delete a non-empty remote directory recursively:

htx rm --recursive Archive

Download a remote file to the current directory:

htx download report.pdf

Download a remote file into a chosen local path:

htx download @Ab12Cd ./downloads/report.pdf

Download a remote directory recursively:

htx download @Ab12Cd ./downloads/Archive

Create a remote link resource:

htx link Search https://www.google.com

State File

The CLI stores the backend JWT token and the last fetched user payload in:

~/.config/htx-cli/state.json

Use --config to point to a different state file.

Multipart upload resume records are stored under:

~/.config/htx-cli/upload-records/

Metadata

Release files for htx-cli 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for htx-cli 0.1.7
File Size Uploaded
htx_cli-0.1.7.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for htx-cli 0.1.7
File Interpreter ABI Platform
htx_cli-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 32.2 kB

Release files / htx_cli-0.1.7.tar.gz

Download URL htx_cli-0.1.7.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8276d55c9637b6782b605110b7e1b77007e9f58ed7b7af24bf893d8fb6351a29
BLAKE2b-256 checksum
How to use checksums
c7ac52006fefe8c13062ef799043c78d1f0da303c709c78264e8418ec81e7493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / htx_cli-0.1.7-py3-none-any.whl

Download URL htx_cli-0.1.7-py3-none-any.whl
Size 16.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
156102f263b623be7fdf291a2eba5071ddf148eb5e8cf2e139451d5808066502
BLAKE2b-256 checksum
How to use checksums
6d5ff2b9214909dcdf09f5a2796f1cfad83ce5cb53655521826d6b72d447fe82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page