All Projects → vzhd1701 → evernote-backup

vzhd1701 / evernote-backup

Licence: MIT license
Backup & export all Evernote notes and notebooks

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to evernote-backup

Github records archiver
Backs up a GitHub organization's repositories and all their associated information for archival purposes.
Stars: ✭ 100 (-3.85%)
Mutual labels:  export, backup
sicksync
Don’t accept the available as the preferable. Go the extra mile with extra speed.
Stars: ✭ 67 (-35.58%)
Mutual labels:  sync, backup
Dynein
DynamoDB CLI written in Rust.
Stars: ✭ 126 (+21.15%)
Mutual labels:  export, backup
Elasticsearch Dump
Import and export tools for elasticsearch
Stars: ✭ 5,977 (+5647.12%)
Mutual labels:  export, backup
mindav
A self-hosted file backup server which bridges WebDAV protocol with @minio written in @totoval. Webdav ❤️ Minio
Stars: ✭ 64 (-38.46%)
Mutual labels:  sync, backup
Quip Export
Export all folders and documents from Quip
Stars: ✭ 28 (-73.08%)
Mutual labels:  export, backup
Rats
Movie Ratings Synchronization with Python
Stars: ✭ 156 (+50%)
Mutual labels:  export, sync
Node Firestore Import Export
Firestore data import and export
Stars: ✭ 271 (+160.58%)
Mutual labels:  export, backup
goodrexport
Goodreads data export
Stars: ✭ 16 (-84.62%)
Mutual labels:  export, backup
open2fa
Two-factor authentication app with import/export for iOS and macOS. All codes encrypted with AES 256. FaceID & TouchID support included. Written with love in SwiftUI ❤️
Stars: ✭ 24 (-76.92%)
Mutual labels:  export, backup
Roam To Git
Automatic RoamResearch backup to Git
Stars: ✭ 489 (+370.19%)
Mutual labels:  export, backup
calcardbackup
calcardbackup: moved to https://codeberg.org/BernieO/calcardbackup
Stars: ✭ 67 (-35.58%)
Mutual labels:  export, backup
Qzoneexport
QQ空间导出助手,用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件,便于迁移与保存
Stars: ✭ 456 (+338.46%)
Mutual labels:  export, backup
Rexport
Reddit takeout: export your account data as JSON: comments, submissions, upvotes etc. 🦖
Stars: ✭ 87 (-16.35%)
Mutual labels:  export, backup
Wikiteam
Tools for downloading and preserving wikis. We archive wikis, from Wikipedia to tiniest wikis. As of 2020, WikiTeam has preserved more than 250,000 wikis.
Stars: ✭ 404 (+288.46%)
Mutual labels:  export, backup
Flares
Flares 🔥 is a CloudFlare DNS backup tool
Stars: ✭ 156 (+50%)
Mutual labels:  export, backup
KoHighlights
KOHighlights is a utility for viewing KOReader's highlights and/or export them to simple text, csv or html files.
Stars: ✭ 62 (-40.38%)
Mutual labels:  export, sync
ghexport
Export your Github activity: events, repositories, stars, etc.
Stars: ✭ 18 (-82.69%)
Mutual labels:  export, backup
quentier
Cross-platform desktop Evernote client
Stars: ✭ 115 (+10.58%)
Mutual labels:  evernote, evernote-client
connect-backup
A tool to backup and restore AWS Connect, with some useful other utilities too
Stars: ✭ 19 (-81.73%)
Mutual labels:  export, backup

evernote-backup

PyPI version Python Version tests 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.
  • Support for both Evernote and Yinxiang (印象笔记).

Installation

Using portable binary

Download the latest release for your OS.

With Homebrew (Recommended for macOS)

$ brew install evernote-backup

With PIPX (Recommended for Linux & Windows)

$ pipx install evernote-backup

With PIP

$ pip install --user evernote-backup

Python 3.7 or later required.

With Docker

$ docker run --rm -t -v "$PWD":/tmp vzhd1701/evernote-backup:latest

To log in to Evernote using OAuth with Docker, you'll have to forward port 10500 for a callback:

$ docker run --rm -t -v "$PWD":/tmp -p 10500:10500 vzhd1701/evernote-backup:latest init-db --oauth

Usage

Step 1. Database initialization

To start you need to initialize your database.

$ evernote-backup init-db
Username or Email: [email protected]
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 log in to Evernote with Google or Apple accounts, you must use the --oauth option.

To connect to Yinxiang instead of Evernote, use --backend china option. Unfortunately, OAuth is not supported for Yinxiang yet.

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.

Getting help

If you found a bug or have a feature request, please open a new issue.

If you have a question about the program or have difficulty using it, you are welcome to the discussions page. You can also mail me directly, I'm always happy to help.

Dependencies

  • evernote3 - to access Evernote API
  • oauth2 - to perform OAuth authentication
  • xmltodict - to convert Evernote internal representation of notes into XML
  • click - to create a CLI interface
  • click-option-group - to add mutually exclusive options in сlick

Alternative tools

evernote-backup is basically a clone of Evernote's original ENScript but simplified and stripped of its other functions. If you prefer to export your notes using Evernote's original tool, then you will need to take hold of Evernote's legacy client and run the following commands:

ENScript.exe syncDatabase /d backup.ebx /u [email protected] /p your_password
ENScript.exe exportDatabase /d backup.ebx /f output_dir

Further reading

Similar projects

I've also combined a bigger list where I included all adjacent projects that I could find.

Export

Project Description Language Stars Last commit
ExportAllEverNote Export notes in ENEX format driectly from your account Python 13 2020
evernote2 Improved version of standard Evernote SDK. Also provides a tool for exporting notes driectly from your account Python 1 2020
evernote-to-sqlite Converts ENEX files into SQLite database Python 20 2021
enote Utility that can backup Evernote notes and notebooks Python 12 2017
evernote-exporter Export notes from old Evernote local database .exb format Python 28 2016

Export / Sync

Project Description Language Stars Last commit
SyncToGit Syncs your notes with their resources to the git repository in HTML format Python 3 2020
evermark A command line tool for syncing markdown notes to Evernote JavaScript 72 2018
eversync Sync your local directories with evernote notebooks Python 44 2017
EverMark A tool that can sync local markdown/text notes to Evernote Python 50 2016
LocalEvernote Syncs local directory containing notes in Markdown format with Evernote Python 0 2021
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].