Package: evernote-backup
evernote-backupBackup your notes & notebooks from Evernote locally and export them at any time!FeaturesQuickly sync all your notes into the SQLite database for backup.Export all backed up notes in*.enexformat, asnotebooksorsingle notes.Support for bothEvernoteandYinxiang (印象笔记).InstallationUsing portable binaryDownload the latest releasefor your OS.WithHomebrew(Recommended for macOS)$brewinstallevernote-backupWithPIPX(Recommended for Linux & Windows)$pipxinstallevernote-backupWith PIP$pipinstall--userevernote-backupPython 3.7 or later required.With Docker$dockerrun--rm-t-v"$PWD":/tmpvzhd1701/evernote-backup:latestTo log in to Evernote using OAuth with Docker, you'll have to forward port 10500 for a callback:$dockerrun--rm-t-v"$PWD":/tmp-p10500:10500vzhd1701/evernote-backup:latestinit-db--oauthUsageStep 1. Database initializationTo start you need to initialize your database.$evernote-backupinit-dbUsername or Email: user@example.comPassword:Logging in to Evernote...Enter one-time code: 120917Authorizing 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--userand--passwordoptions.If you log in to Evernote with Google or Apple accounts, you must use the--oauthoption.To connect toYinxianginstead of Evernote, use--backend chinaoption. Unfortunately, OAuth is not supported forYinxiangyet.Step 2. Downloading Evernote dataThen you will be able to sync your account data.$evernote-backupsyncReading 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/6763566 notes to download...[####################################]  566/566Updated or added notebooks: 23Updated or added notes: 566Expunged notebooks: 0Expunged notes: 0Synchronization completed!You can interrupt this process at any point. It will continue from where it's left off when you will rerunevernote-backup sync.evernote-backupkeeps 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. Syncing uses the Evernote Cloud API.Step 3. Exporting*.enexfilesFinally, you can export your data into specifiedoutput directory$evernote-backupexportoutput_dir/Reading database en_backup.db...Exporting notes...[####################################]  23/23All notes have been exported!By default,evernote-backupwill export notes by packing them into notebooks, one*.enexfile each. If you want to extract notes asseparate files, use the--single-notesflag.To also includetrashednotes in export, use the--include-trashflag.Exporting is performed wholly offline, and does not require access to the Evernote Cloud API to convert the notes.That's it! So to export all your Evernote data, you will have to run three commands:$evernote-backupinit-db$evernote-backupsync$evernote-backupexportoutput_dir/After first initialization, you can scheduleevernote-backup synccommand to keep your local database always up-to-date. However,evernote-backup exportwill always re-export all notebooks to the specified output directory.How to refresh expired tokenIn case your auth token that you initialized your database with expires, you have an option to re-authorize it by running theevernote-backup reauthcommand. It has the same options as theinit-dbcommand.Getting helpIf you found a bug or have a feature request, pleaseopen a new issue.If you have a question about the program or have difficulty using it, you are welcome tothe discussions page. You can also mail me directly, I'm always happy to help.Dependenciesevernote3- to access Evernote APIoauth2- to perform OAuth authenticationxmltodict- to convert Evernote internal representation of notes into XMLclick- to create a CLI interfaceclick-option-group- to add mutually exclusive options in сlickAlternative toolsevernote-backupis basically a clone of Evernote's originalENScriptbut 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 ofEvernote's legacy clientand run the following commands:ENScript.exe syncDatabase /d backup.ebx /u your@email.com /p your_passwordENScript.exe exportDatabase /d backup.ebx /f output_dirFurther readingHow to export Notebooks in new Evernote clientBacking up and restoring Evernote data (Reference article) (requires registration)Migrating Your Notes from Evernote to Obsidianhttps://github.com/davidedc/A-thousand-notesSimilar projectsI've also combined abigger listwhere I included all adjacent projects that I could find.ExportProjectDescriptionLanguageStarsLast commitExportAllEverNoteExport notes in ENEX format driectly from your accountPython132020evernote2Improved version of standard Evernote SDK. Also provides a tool for exporting notes driectly from your accountPython12020evernote-to-sqliteConverts ENEX files into SQLite databasePython202021enoteUtility that can backup Evernote notes and notebooksPython122017evernote-exporterExport notes from old Evernote local database .exb formatPython282016Export / SyncProjectDescriptionLanguageStarsLast commitSyncToGitSyncs your notes with their resources to the git repository in HTML formatPython32020evermarkA command line tool for syncing markdown notes to EvernoteJavaScript722018eversyncSync your local directories with evernote notebooksPython442017EverMarkA tool that can sync local markdown/text notes to EvernotePython502016LocalEvernoteSyncs local directory containing notes in Markdown format with EvernotePython02021