Skip to main content

Backup everything from Trello

Project description

https://img.shields.io/pypi/v/trello-full-backup.svg?style=flat-square https://img.shields.io/pypi/pyversions/trello-full-backup.svg?style=flat-square https://img.shields.io/docker/automated/jtpio/trello-full-backup.svg?style=flat-square

Backup everything from Trello:

  • boards, open and closed, as json files

  • lists, open and archived, as json files

  • cards, open and archived, as json files

  • attachments, downloaded as raw files

The script also creates a folder tree structure corresponding to the way data is organized. This is to make it more convenient to navigate locally between folders, as it mimics the flow you have when using the web and mobile apps.

Here is an example of what the tree structure looks like:

2015-11-12_23-28-36_backup/
└── me
    └── A Test Board
        ├── 0_To Do
        │   ├── 0_Task3
        │   │   ├── attachments
        │   │   │   └── 0_chessboard.png
        │   │   ├── card.json
        │   │   └── description.md
        │   └── 1_Task4
        │       ├── card.json
        │       └── description.md
        ├── 1_In Progress
        │   └── 0_Task2
        │       ├── card.json
        │       └── description.md
        ├── 2_Done
        │   └── 0_Task1
        │       ├── attachments
        │       ├── card.json
        │       └── description.md
        └── A Test Board_full.json
  • Lists and cards have their names prefixed by their position to keep the order

  • For each card:

  • The description is saved to a separate Markdown file

  • The attachments are downloaded to a separate folder

  • The rest stays in the json file

Run with Docker

The easiest way to execute the script with the default parameters (if you have Docker):

docker run -t -e TRELLO_API_KEY=YOUR_KEY -e TRELLO_TOKEN=YOUR_TOKEN -v /backups:/app jtpio/trello-full-backup

This will create a new folder on your host system in the backups directory. Feel free to adjust it based on your host system (GNU/Linux, Mac OS, Windows…).

To pass different parameters, for example to avoid downloading attachments:

docker run -t -e TRELLO_API_KEY=YOUR_KEY -e TRELLO_TOKEN=YOUR_TOKEN -v /backups:/app jtpio/trello-full-backup trello-full-backup -a 0

Install

pip install trello-full-backup

Usage

Make sure the environment variables TRELLO_API_KEY and TRELLO_TOKEN are correctly set.

Then you can run the following commands:

export TRELLO_API_KEY=yourapikey
export TRELLO_TOKEN=yourtoken

And execute the script:

trello-full-backup

By default the script creates a folder with the current date as a name. Example: 2015-11-12_18-57-56_backup

You can specify your own destination directory, but the script does not create the intermediate directories in case they don’t exist:

trello-full-backup -d path/to/dir

Options

trello-full-backup -h
usage: trello-full-backup [-h] [-d [DEST]] [-i] [-t] [-B] [-L] [-C] [-o]
                          [-a [ATTACHMENT_SIZE]]

Trello Full Backup

optional arguments:
  -h, --help            show this help message and exit
  -d [DEST]             Destination folder
  -i, --incremental     Backup in an already existing folder incrementally
  -t, --tokenize        Tokenize the names for folders and files. Useful for
                        scripts
  -B, --closed-boards   Backup closed board
  -L, --archived-lists  Backup archived lists
  -C, --archived-cards  Backup archived cards
  -m, --my-boards       Backup my personal boards
  -o, --organizations   Backup organizations
  -a [ATTACHMENT_SIZE], --attachment-size [ATTACHMENT_SIZE]
                        Attachment size limit in bytes. Set to -1 to disable
                        the limit

If neither the -m or -o switches are specified, the script will default to backing up personal boards only.

Incremental mode

The incremental mode is useful for scripts. It will replace the names of the folders in each board by unique tokens. Furthermore, it allows the user to specify the same directory for backup. This will update all the json and description.md files. However it will download the attachment only if they have changed from the last backup.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trello-full-backup-0.3.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

trello_full_backup-0.3.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file trello-full-backup-0.3.1.tar.gz.

File metadata

  • Download URL: trello-full-backup-0.3.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for trello-full-backup-0.3.1.tar.gz
Algorithm Hash digest
SHA256 5bd8f3276ab4fff04d802442cba79bdfecf8b749551243f4d02fc2bdf528dfd9
MD5 db30b8c4719836842ac89143dd25c495
BLAKE2b-256 31f9b7adb736a9704c55c181678f22004b3c407efbdac918e9643fbf1c717643

See more details on using hashes here.

Provenance

File details

Details for the file trello_full_backup-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: trello_full_backup-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for trello_full_backup-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 421f4b3edcff0b4e3def430b64c4f7452b59a981dfed2776be6bf8c1fa923ddf
MD5 fa34d4c2ec4e6ba9473b5dd4101366e5
BLAKE2b-256 d21d022c774324499014a65f0ded1ce9ebc1d0c539a7ec615638f62225ba5392

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page