{"id":13509495,"url":"https://github.com/jwarlander/everex","last_synced_at":"2026-02-21T17:33:49.339Z","repository":{"id":26970661,"uuid":"30434143","full_name":"jwarlander/everex","owner":"jwarlander","description":"Evernote API client for Elixir","archived":false,"fork":false,"pushed_at":"2021-08-02T07:14:51.000Z","size":145,"stargazers_count":10,"open_issues_count":6,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T10:42:16.559Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwarlander.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-06T21:37:19.000Z","updated_at":"2018-10-04T17:57:29.000Z","dependencies_parsed_at":"2022-08-24T15:06:29.320Z","dependency_job_id":null,"html_url":"https://github.com/jwarlander/everex","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarlander%2Feverex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarlander%2Feverex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarlander%2Feverex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwarlander%2Feverex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwarlander","download_url":"https://codeload.github.com/jwarlander/everex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246324050,"owners_count":20759068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T02:01:08.588Z","updated_at":"2025-10-21T15:52:33.507Z","avatar_url":"https://github.com/jwarlander.png","language":"Erlang","funding_links":[],"categories":["Third Party APIs"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/jwarlander/everex.svg?branch=master)](https://travis-ci.org/jwarlander/everex)\n\nEverex is an Evernote API client for Elixir. It uses a modified version of the\n[Erlang Thrift library](https://github.com/apache/thrift/tree/master/lib/erl),\ntogether with compiled output from the\n[Evernote Cloud API IDL files](https://github.com/evernote/evernote-thrift).\n\n_**NOTE:** Everex is UNDER DEVELOPMENT, and is NOT ready for production use.\nFeedback and contributions (via pull requests) are very welcome, of course!_\n\nStatus\n------\n\nIt's so far possible to list tags, list notebooks, find notes, and retrieve\nnote data.\n\nAn authentication token is required before connecting, and can be either a\nuser token retrieved\n[using OAuth](https://dev.evernote.com/doc/articles/authentication.php)\nor a [developer token](https://sandbox.evernote.com/api/DeveloperToken.action).\n\nEverex now represents Thrift data structures as `structs`, to keep client usage\nidiomatic and the data more self-explanatory. See examples below.\n\n_**UPDATE:** There is now an example showing how to get access using the OAuth\nauthentication process. See `examples/oauth.exs`. This requires having an\n[API key](https://dev.evernote.com/doc/articles/authentication.php), of course,\nand exporting the environment variables EN_CONSUMER_KEY / EN_CONSUMER_SECRET\nbefore running the example._\n\nUsage\n-----\n\nAdd Everex to your dependencies in `mix.exs`:\n\n```elixir\n  defp deps do\n    [{:everex, \"~\u003e 0.1.1\"}]\n  end\n```\n\nYou also need to include `:everex` in your application list:\n\n```elixir\n  def application do\n    [applications: [:everex]]\n  end\n\n```\n\nExamples\n--------\n\n_**NOTE:** It's assumed that you're testing in the Evernote Sandbox, with a\ndeveloper token._\n\n```elixir\niex(1)\u003e {:ok, client} = Everex.Client.new(System.get_env(\"EN_DEVELOPER_TOKEN\"), sandbox: true)\n{:ok, #PID\u003c0.1295.0\u003e}\niex(2)\u003e client |\u003e Everex.NoteStore.list_tags\n{:ok,\n [%Everex.Types.Tag{guid: \"98590060-4eaa-44fe-8514-50cb158742c2\",\n   name: \"one_tag\", parentGuid: :undefined, updateSequenceNum: 20},\n  %Everex.Types.Tag{guid: \"f8484cd9-f213-4072-9df5-c0ab49f79fe3\",\n   name: \"another_tag\", parentGuid: :undefined, updateSequenceNum: 22}]}\niex(3)\u003e tag_filter = %Everex.Types.NoteFilter{tagGuids: [\"98590060-4eaa-44fe-8514-50cb158742c2\"]}\n%Everex.Types.NoteFilter{ascending: :undefined, emphasized: :undefined,\n inactive: :undefined, notebookGuid: :undefined, order: :undefined,\n tagGuids: [\"98590060-4eaa-44fe-8514-50cb158742c2\"], timeZone: :undefined,\n words: :undefined}\niex(4)\u003e client |\u003e Everex.NoteStore.find_notes_metadata(tag_filter)\n{:ok,\n %Everex.Types.NotesMetadataList{notes: [%Everex.Types.NoteMetadata{attributes: :undefined,\n    contentLength: :undefined, created: :undefined, deleted: :undefined,\n    guid: \"9a6cbc15-613c-4e77-b184-76829421c3db\",\n    largestResourceMime: :undefined, largestResourceSize: :undefined,\n    notebookGuid: :undefined, tagGuids: :undefined, title: :undefined,\n    updateSequenceNum: :undefined, updated: :undefined}],\n  searchedWords: :undefined, startIndex: 0, stoppedWords: :undefined,\n  totalNotes: 1, updateCount: 22}}\niex(5)\u003e client |\u003e Everex.NoteStore.get_note(\"9a6cbc15-613c-4e77-b184-76829421c3db\",true)\n{:ok,\n %Everex.Types.Note{active: true,\n  attributes: %Everex.Types.NoteAttributes{altitude: :undefined,\n   applicationData: :undefined, author: \"jevernotedev\",\n   classifications: :undefined, contentClass: :undefined, creatorId: :undefined,\n   lastEditedBy: :undefined, lastEditorId: :undefined, latitude: :undefined,\n   longitude: :undefined, placeName: :undefined, reminderDoneTime: :undefined,\n   reminderOrder: :undefined, reminderTime: :undefined, shareDate: :undefined,\n   source: :undefined, sourceApplication: :undefined, sourceURL: :undefined,\n   subjectDate: :undefined},\n  content: \"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003c!DOCTYPE en-note SYSTEM \\\"http://xml.evernote.com/pub/enml2.dtd\\\"\u003e\\n\u003cen-note\u003e\u003cdiv\u003eWe'll tag these, too!\u003cbr clear=\\\"none\\\"/\u003e\u003c/div\u003e\u003cdiv\u003e\u003cbr clear=\\\"none\\\"/\u003e\u003c/div\u003e\u003c/en-note\u003e\",\n  contentHash: \u003c\u003c224, 142, 222, 77, 133, 184, 83, 71, 40, 126, 14, 48, 128, 249, 99, 18\u003e\u003e,\n  contentLength: 203, created: 1424066828000, deleted: :undefined,\n  guid: \"9a6cbc15-613c-4e77-b184-76829421c3db\",\n  notebookGuid: \"ebaf248b-667b-4511-beb5-ab3e8749d38d\", resources: :undefined,\n  tagGuids: [\"98590060-4eaa-44fe-8514-50cb158742c2\"], tagNames: :undefined,\n  title: \"Another test, to be sure\", updateSequenceNum: 19,\n  updated: 1424066857000}}\n```\n\nTesting\n-------\n\nFor testing, you'll need an Evernote Sandbox account and a personal\n[developer token](https://sandbox.evernote.com/api/DeveloperToken.action):\n\n    export EN_DEVELOPER_TOKEN=\"\u003cyour_token\u003e\"\n    mix test\n\nLicense\n-------\n\nCopyright 2015 Johan Wärlander\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwarlander%2Feverex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwarlander%2Feverex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwarlander%2Feverex/lists"}