Skip to main content

Backup & export Evernote notes and notebooks.

Project description

evernote-backup

PyPI version Python Version Tests Status codecov

Backup your notes & notebooks from Evernote locally and export them at any time!

Features

  • Quickly sync all your notes into the SQLite database for backup.
  • Export all backed up notes in *.enex format, as notebooks or single notes.

Installation

$ pip install evernote-backup

Or, since evernote-backup is a standalone tool, it might be more convenient to install it using pipx:

$ pipx install evernote-backup

Usage

Step 1. Database initialization

To start you need to initialize your database.

$ evernote-backup init-db
Username or Email: user@example.com
Password:
Logging in to Evernote...
Enter one-time code: 120917
Authorizing auth token, evernote backend...
Successfully authenticated as user!
Current login will expire at 2022-03-10 10:22:00.
Initializing database en_backup.db...
Reading database en_backup.db...
Successfully initialized database for user!

By default, it will prompt you to enter your account credentials. You can provide them beforehand with --user and --password options.

If you want to connect to Yinxiang instead of Evernote, use --backend china option.

Step 2. Downloading Evernote data

Then you will be able to sync your account data.

$ evernote-backup sync
Reading database en_backup.db...
Authorizing auth token, evernote backend...
Successfully authenticated as user!
Current login will expire at 2022-03-10 10:22:00.
Syncing latest changes...
  [####################################]  6763/6763
566 notes to download...
  [####################################]  566/566
Updated or added notebooks: 23
Updated or added notes: 566
Expunged notebooks: 0
Expunged notes: 0
Synchronization completed!

You can interrupt this process at any point. It will continue from where it's left off when you will rerun evernote-backup sync.

evernote-backup keeps track of the sync state and downloads only new changes that have been made since the last run. So every sync will go pretty fast, but you'll have to wait for a bit on the first run if you have a lot of notes in your account.

Step 3. Exporting *.enex files

Finally, you can export your data into specified output directory

$ evernote-backup export output_dir/
Reading database en_backup.db...
Exporting notes...
  [####################################]  23/23
All notes have been exported!

By default, evernote-backup will export notes by packing them into notebooks, one *.enex file each. If you want to extract notes as separate files, use the --single-notes flag.

To also include trashed notes in export, use the --include-trash flag.

That's it! So to export all your Evernote data, you will have to run three commands:

$ evernote-backup init-db
$ evernote-backup sync
$ evernote-backup export output_dir/

After first initialization, you can schedule evernote-backup sync command to keep your local database always up-to-date.

How to refresh expired token

In case your auth token that you initialized your database with expires, you have an option to re-authorize it by running the evernote-backup reauth command. It has the same options as the init-db command.

Dependencies

  • evernote3 - to access Evernote API
  • xmltodict - to convert Evernote internal representation of notes into XML
  • click - to create a CLI interface

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

evernote-backup-1.0.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

evernote_backup-1.0.0-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file evernote-backup-1.0.0.tar.gz.

File metadata

  • Download URL: evernote-backup-1.0.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.5 CPython/3.9.4 Linux/5.4.0-1046-azure

File hashes

Hashes for evernote-backup-1.0.0.tar.gz
Algorithm Hash digest
SHA256 72edf6dd6b8411eab99c9d2ead94ef1144949da5ec4d8f8384c3b336d1ef59ad
MD5 653a9cb62117ca3381f25c4bd21379d1
BLAKE2b-256 8d97920a82435c60833137cf52e9a541213b4ac98ca52e4a155e297e8a368b79

See more details on using hashes here.

File details

Details for the file evernote_backup-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: evernote_backup-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.5 CPython/3.9.4 Linux/5.4.0-1046-azure

File hashes

Hashes for evernote_backup-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c6667037c1f9be806b94acfcf88ea186e86f8f58ea0163b399ec437a3e5e35b
MD5 f8da315aa02cd7317a76405be8e9f24f
BLAKE2b-256 d1de5fd8bfa4fd5fdaf45c354542964ee2d87f6c9e375b27f7cf77a2b20c4e34

See more details on using hashes here.

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