{"id":16653561,"url":"https://github.com/norm/simplenote-local","last_synced_at":"2025-07-03T13:07:50.254Z","repository":{"id":229178513,"uuid":"765148763","full_name":"norm/simplenote-local","owner":"norm","description":"Synchronise and edit local notes files with Simplenote","archived":false,"fork":false,"pushed_at":"2024-04-16T09:03:01.000Z","size":41,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-16T14:12:14.036Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/norm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-29T11:22:46.000Z","updated_at":"2024-03-22T14:00:36.000Z","dependencies_parsed_at":"2024-04-16T10:26:59.557Z","dependency_job_id":"2cbe62dd-8d42-4318-bfdb-26dca9175767","html_url":"https://github.com/norm/simplenote-local","commit_stats":null,"previous_names":["norm/simplenote-local"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/norm/simplenote-local","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fsimplenote-local","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fsimplenote-local/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fsimplenote-local/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fsimplenote-local/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/norm","download_url":"https://codeload.github.com/norm/simplenote-local/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norm%2Fsimplenote-local/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260352836,"owners_count":22996216,"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-10-12T09:45:52.030Z","updated_at":"2025-07-03T13:07:50.232Z","avatar_url":"https://github.com/norm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# simplenote-local\n\nA command-line tool to fetch, edit, and synchronise local notes files with\n[Simplenote](https://simplenote.com).\n\n\n## Synchronising notes\n\nSet the username and password for your Simplenote account in the environment.\n\n    export SIMPLENOTE_LOCAL_USER=user@example.com\n    export SIMPLENOTE_LOCAL_PASSWORD=sekr1tp@ss\n\nThen fetch the latest notes state from Simplenote. \n\n    simplenote --fetch\n\nNotes are kept in `$HOME/Notes` by default, but this can be overridden.\n\n    export SIMPLENOTE_LOCAL_DIR=$HOME/simplenotes\n    simplenote --fetch\n\nSend any local changes to Simplenote. Although notes are automatically sent to\nSimplenote when changed using `simplenote --edit`, this will send any changes\nmade by other commands.\n\n    simplenote --send\n\nLoop forever sending any local updates to Simplenote, and regularly checking\nSimplenote for updates to fetch.\n\n    simplenote --watch\n\nBy default this will check Simplenote for new changes every 10 minutes, and\nwait one minute after detecting local changes before sending (in case the same\nfile is changed again in quick succession). These timings can be overridden.\n\n    simplenote --fetch-interval 60 --send-wait 0 --watch\n\n\n## Finding notes\n\nTo list all notes:\n\n    simplenote --list\n\nThe notes are sorted with the most recently edited files first.\n\nTo list only those notes that contain one or more words either in the\nfilename, or in the file contents:\n\n    simplenote --list recipe rice\n\nWords are searched as fragments, not whole words. For example, `simplenote\n--list recipe rice` would also find recipe notes that included the word\n\"ricer\" or \"liquorice\".\n\nTo list notes that have a specific tag applied, you can use either `#tag`\nor `%tag` notation. Hashes are more commonly used in social media, but\nin the shell it starts a comment, so would need to be quoted.\n\n    simplenote --list \\#recipe\n    simplenote --list %recipe pie\n\nTo list all available tags:\n\n    simplenote --list-tags\n\n\n## Editing notes\n\nTo edit all notes:\n\n    simplenote --edit\n\n**Note:** unless your editor is fast at loading multiple files, or loads\nthem one at a time (like vi), this could be painfully slow once you have\na lot of notes.\n\nTo override the editor your default `VISUAL` and/or `EDITOR` environment\nvariables would specify:\n\n    export SIMPLENOTE_LOCAL_EDITOR=sublime\n    simplenote --edit\n\nTo edit only those notes that would match using the same rules as `--list`:\n\n    simplenote --edit key lime pie\n    simplenote --edit \"key lime pie\"\n    simplenote --edit %recipe pie\n\nEditing is the default, so the flag can be omitted.\n\n    simplenote key lime pie\n\nTo edit an individual file, the filename must contain at least one space\n**and** the space(s) must be quoted in the command. The \".txt\" extension\ndoes not need to be included.\n\n    simplenote \"key lime pie\"\n    simplenote key\\ lime\\ pie\n\nTo pipe the output of a command into a note, creating it if it doesn't\nalready exist:\n\n    pbpaste | simplenote \"cake recipe\"\n\n**Notes:**\n* If the argument(s) match more than one existing note, only the first match\n  will be updated.\n* If no match is given, the note will be named after the first line of the\n  output.\n\nIf the input looks like HTML, it will be passed through\n[markdownify](https://pypi.org/project/markdownify/) first. You can disable\nthis step with with the `--raw` option:\n\n    curl https://.../cake-recipe.html | simplenote \"cake recipe\"\n    curl https://.../cake-recipe.html | simplenote --raw \"html cake recipe\"\n\n\n## Tagging notes\n\nTo add a tag to matching notes:\n\n    simplenote --add-tag recipe key lime pie\n\nTo remove a tag from matching notes:\n\n    simplenote --remove-tag recipe key lime pie\n\nTo remove a tag from all notes:\n\n    simplenote --remove-tag recipe\n\n\n## Removing notes\n\nTo move all matching notes to the Trash:\n\n    simplenote --trash recipe\n\nTo restore a note from the Trash:\n\n    simplenote --restore key lime pie\n\nTo permanently delete notes from the Trash:\n\n    simplenote --purge key lime pie\n\n\n## Pinning notes\n\n**Note:** pinned notes appear at the top of the notes list in the Simplenote\ninterface. In the local copy, it will sort those notes to the top when using\n`simplenote --list`, nothing else.\n\nTo pin all matching notes:\n\n    simplenote --pin key lime pie\n\nTo unpin all matching notes:\n\n    simplenote --unpin key lime pie\n\n\n## Publishing notes\n\nTo tell Simplenote to publish notes to a web page:\n\n    simplenote --publish key lime pie\n\nTo tell Simplenote to remove published notes:\n\n    simplenote --unpublish key lime pie\n\n\n## Collaborating on notes\n\nTo collaborate with others on notes, you can add a tag which is the\nemail address of another user:\n\n    simplenote --add-tag norm@example.com key lime pie\n\nTo stop sharing notes with them, remove the tag again:\n\n    simplenote --remove-tag norm@example.com key lime pie\n\n**Note:** There are two wrinkles with this implementation of sharing:\n\n1. If that email is not already registered with Simplenote there appears to be\n   no notification to them that they could sign up to collaborate with you --\n   that is, you either have to be sure they already use Simplenote, or inform\n   them yourself to sign up in order to be able to work together on a note.\n\n2. When you later unshare a note, the other account keeps a copy of the\n   original note as it was immediately before unsharing, which may be\n   unexpected behaviour and not what you want.\n\n\n## Show a summary of the metadata stored about matching notes\n\n    simplenote --info key lime pie\n\n\n## Historical versions of notes\n\nSimplenote keeps multiple versions of notes as they are updated, but not all.\nThe [Simperium documentation](https://simperium.com/overview/) states:\n\n\u003e Simperium stores up to 50 of your most recent versions, and then every\n\u003e 10th version beyond that.\n\nSimperium is the name for the service backing the Simplenote app.\n\n**Personal note:** I have some regularly edited notes with 1,500+ versions\nwhere versions more than 1,000 back are not available; so there are more\npossible expiry thresholds for historical versions than stated.\n\nTo get a list of the recent historical versions of matching notes:\n\n    simplenote --history key lime pie\n\nTo get a list of all available historical versions of matching notes:\n\n    simplenote --history --full key lime pie\n\nTo show the metadata and content of an older version of a single note:\n\n    simplenote --show-version \"key lime pie\" 22\n\nTo restore the content and tags of an older version of a single note:\n\n    simplenote --restore-version \"key lime pie\" 22\n\n**Note:** In this instance, the name of the note needs to be quoted to make it\nthe first argument to the command, as the second argument is the version.\n\n\n## Local changes\n\nTo list known local changes to notes:\n\n    simplenote --list-changes\n\n**Note:** this does not automatically fetch the current state of notes, so\nit is not 100% authoritative.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorm%2Fsimplenote-local","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnorm%2Fsimplenote-local","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorm%2Fsimplenote-local/lists"}