{"id":16073032,"url":"https://github.com/dreikanter/gistopin","last_synced_at":"2026-06-08T10:02:18.886Z","repository":{"id":3394861,"uuid":"4444053","full_name":"dreikanter/gistopin","owner":"dreikanter","description":"Python script to bookmark new Gist entries with pinboard.in. By magic!","archived":false,"fork":false,"pushed_at":"2012-07-30T14:48:16.000Z","size":156,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-05T04:29:46.644Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dreikanter.png","metadata":{"files":{"readme":"README.md","changelog":"changes.txt","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":"2012-05-25T10:27:53.000Z","updated_at":"2015-05-23T00:59:17.000Z","dependencies_parsed_at":"2022-09-05T14:51:28.989Z","dependency_job_id":null,"html_url":"https://github.com/dreikanter/gistopin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dreikanter/gistopin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreikanter%2Fgistopin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreikanter%2Fgistopin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreikanter%2Fgistopin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreikanter%2Fgistopin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dreikanter","download_url":"https://codeload.github.com/dreikanter/gistopin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreikanter%2Fgistopin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34057158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-09T08:02:25.856Z","updated_at":"2026-06-08T10:02:18.855Z","avatar_url":"https://github.com/dreikanter.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gistopin\n\nGistopin (acronym from _gist-to-pinboard.in_) is a small python script for GitHub and [pinboard.in](http://pinboard.in) users, which automatically adds bookmarks for new Gist entries to pinboard.in account. This allows to search easily through created gists using your favorite bookmarking service and keep a backup copy outside GitHub (if your [pinboard arching](http://pinboard.in/tour/#archive) is enabled).\n\n## Installation\n\nGistopin requires the following modules:\n\n* [feedparser](http://code.google.com/p/feedparser/) → \n  `pip install feedparser` or `easy_install feedparser`\n* [configparser](http://docs.python.org/library/configparser.html) → \n  `pip install configparser` or `easy_install configparser`\n* [Python-Pinboard](https://github.com/mgan59/python-pinboard) → \n  `pip install -e git://github.com/mgan59/python-pinboard.git@v1.0#egg=python-pinboard`\n\n## Usage\n\nImport process parameters should be specified in configuration file (see _Configuration_ section below). By default script will use `[gistopin]` section of `gistopin.ini` located in the same directory as `gistopin.py`. But the configuration file and section names could be specified manually through the command line options:\n\n\tgistopin.py -c [config-name] -s [section]\n\nBoth parameters are optional and could be omitted. As usual `-h` or `--help` will display command line help.\n\nGistopin could be added to crontab for regular execution. The following example schedules it to run once each day in the midnight:\n\n\tcrontab 00 12 * * * user python /path/to/gistopin.py -c /path/to/gistopin.ini\n\n\n## Configuration\n\nTo avoid over-complicated command line syntax, script parameters intended to be kept in configuration file with an ordinary [RFC-822](http://tools.ietf.org/html/rfc822.html) compliant syntax. As it was mentioned already default section name is `gistopin` but a single configuration file could multiple sections for different pinboard or GitHub accounts.\n\nHere is an example:\n\n\t[gistopin]\n\tpinboard_user = dreikanter\n\tpinboard_pwd = file://$secretplace/pinboard.txt\n\tgithub_user = dreikanter\n\tshared = no\n\ttags = snippets, gistopin_check\n\tuse_hashtags = yes\n\nParameters explanation:\n\n* `pinboard_user` — pinboard.in user name.\n* `pinboard_pwd` — pinboard.in password. Yes, this might look a bit insecure, but HTTP Basic is the only supported way to authorize on pinboard in the meantime. For better security the password could be stored in a separate text file outside script configuration. In this case path should be specified in the following way: `file://secret/place/pwd.txt` (environment variables could be used in both %windows% or $unix styles).\n* `github_user` — Gist/GitHub user name.\n* `shared` — `yes` to share new bookmarks or `no` to keep them private. Pinboard configuration overrides this parameter if new bookmarks intended to be private.\n* `tags` — comma-separated list of common tags for new bookmarks. Also these tags will be used to check if the gists were imported already. Example: `snippets, gists`.\n* `use_hashtags` — `yes` to extract hash tags from Gist description and use them on pinboard.\n\n\n## FAQ\n\n**Q:** Why the import is so slow?  \n**A:** Pinboard API has a limitation for 3 second intervals between requests. And each bookmark import is a separate request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreikanter%2Fgistopin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdreikanter%2Fgistopin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreikanter%2Fgistopin/lists"}