home / content

repos

3 rows where forks = 3, permissions = "{"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}" and topics contains "sqlite"

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: owner, created_at (date), updated_at (date), pushed_at (date), topics (array)

id ▼ node_id name full_name private owner html_url description fork created_at updated_at pushed_at homepage size stargazers_count watchers_count language has_issues has_projects has_downloads has_wiki has_pages forks_count archived disabled open_issues_count license topics forks open_issues watchers default_branch permissions temp_clone_token organization network_count subscribers_count readme readme_html allow_forking visibility is_template template_repository web_commit_signoff_required has_discussions
195145678 MDEwOlJlcG9zaXRvcnkxOTUxNDU2Nzg= sqlite-diffable simonw/sqlite-diffable 0 simonw 9599 https://github.com/simonw/sqlite-diffable Tools for dumping/loading a SQLite database to diffable directory structure 0 2019-07-04T00:58:46Z 2022-07-12T17:00:19Z 2022-08-18T22:49:29Z   30 42 42 Python 1 1 1 1 0 3 0 0 3 Apache License 2.0 apache-2.0 ["datasette-io", "datasette-tool", "sqlite"] 3 3 42 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}     3 1 # sqlite-diffable [![PyPI](https://img.shields.io/pypi/v/sqlite-diffable.svg)](https://pypi.org/project/sqlite-diffable/) [![Changelog](https://img.shields.io/github/v/release/simonw/sqlite-diffable?include_prereleases&label=changelog)](https://github.com/simonw/sqlite-diffable/releases) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/sqlite-diffable/blob/main/LICENSE) Tools for dumping/loading a SQLite database to diffable directory structure ## Installation pip install sqlite-diffable ## Demo The repository at [simonw/simonwillisonblog-backup](https://github.com/simonw/simonwillisonblog-backup) contains a backup of the database on my blog, https://simonwillison.net/ - created using this tool. ## Dumping a database Given a SQLite database called `fixtures.db` containing a table `facetable`, the following will dump out that table to the `dump/` directory: sqlite-diffable dump fixtures.db dump/ facetable To dump out every table in that database, use `--all`: sqlite-diffable dump fixtures.db dump/ --all ## Loading a database To load a previously dumped database, run the following: sqlite-diffable load restored.db dump/ This will show an error if any of the tables that are being restored already exist in the database file. You can replace those tables (dropping them before restoring them) using the `--replace` option: sqlite-diffable load restored.db dump/ --replace ## Converting to JSON objects Table rows are stored in the `.ndjson` files as newline-delimited JSON arrays, like this: ``` ["a", "a", "a-a", 63, null, 0.7364712141640124, "$null"] ["a", "b", "a-b", 51, null, 0.6020187290499803, "$null"] ``` Sometimes it can be more convenient to work with a list of JSON objects. The `sqlite-diffable objects` command can read a `.ndjson` file and its accompanying `.metadata.json` file and output JSON objects to standard output: sqlite-diffable objects fixtures.db dump/sortable.ndjson The output of that command looks somethi… <div id="readme" class="md" data-path="README.md"><article class="markdown-body entry-content container-lg" itemprop="text"><h1 dir="auto"><a id="user-content-sqlite-diffable" class="anchor" aria-hidden="true" href="#user-content-sqlite-diffable"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>sqlite-diffable</h1> <p dir="auto"><a href="https://pypi.org/project/sqlite-diffable/" rel="nofollow"><img src="https://camo.githubusercontent.com/f397aed437dd402178061cc28cd230ddaa228d7a19d4e6e33dd7d9d6b9aa7016/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f73716c6974652d6469666661626c652e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/sqlite-diffable.svg" style="max-width: 100%;"></a> <a href="https://github.com/simonw/sqlite-diffable/releases"><img src="https://camo.githubusercontent.com/ad89df075a7b5a43a53000aaf22188af53405e2b5177102cb1b550954996dac4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f73696d6f6e772f73716c6974652d6469666661626c653f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/simonw/sqlite-diffable?include_prereleases&amp;label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/simonw/sqlite-diffable/blob/main/LICENSE"><img src="https://camo.githubusercontent.com/1698104e976c681143eb0841f9675c6f802bb7aa832afc0c7a4e719b1f3cf955/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License" data-canonical-sr… 1 public 0   0  
213286752 MDEwOlJlcG9zaXRvcnkyMTMyODY3NTI= pocket-to-sqlite dogsheep/pocket-to-sqlite 0 dogsheep 53015001 https://github.com/dogsheep/pocket-to-sqlite Create a SQLite database containing data from your Pocket account 0 2019-10-07T03:24:14Z 2022-08-21T21:11:59Z 2022-08-22T16:21:34Z   20 63 63 Python 1 1 1 1 0 3 0 0 5 Apache License 2.0 apache-2.0 ["datasette", "datasette-io", "datasette-tool", "dogsheep", "pocket", "pocket-api", "sqlite"] 3 5 63 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}   dogsheep 53015001 3 4 # pocket-to-sqlite [![PyPI](https://img.shields.io/pypi/v/pocket-to-sqlite.svg)](https://pypi.org/project/pocket-to-sqlite/) [![Changelog](https://img.shields.io/github/v/release/dogsheep/pocket-to-sqlite?include_prereleases&label=changelog)](https://github.com/dogsheep/pocket-to-sqlite/releases) [![Tests](https://github.com/dogsheep/pocket-to-sqlite/workflows/Test/badge.svg)](https://github.com/dogsheep/pocket-to-sqlite/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/dogsheep/pocket-to-sqlite/blob/main/LICENSE) Create a SQLite database containing data from your [Pocket](https://getpocket.com/) account. ## How to install $ pip install pocket-to-sqlite ## Usage You will need to first obtain a valid OAuth token for your Pocket account. You can do this by running the `auth` command and following the prompts: $ pocket-to-sqlite auth Visit this page and sign in with your Pocket account: https://getpocket.com/auth/author... Once you have signed in there, hit <enter> to continue Authentication tokens written to auth.json Now you can fetch all of your items from Pocket like this: $ pocket-to-sqlite fetch pocket.db The first time you run this command it will fetch all of your items, and display a progress bar while it does it. On subsequent runs it will only fetch new items. You can force it to fetch everything from the beginning again using `--all`. Use `--silent` to disable the progress bar. ## Using with Datasette The SQLite database produced by this tool is designed to be browsed using [Datasette](https://datasette.readthedocs.io/). Use the [datasette-render-timestamps](https://github.com/simonw/datasette-render-timestamps) plugin to improve the display of the timestamp values. <div id="readme" class="md" data-path="README.md"><article class="markdown-body entry-content container-lg" itemprop="text"><h1 dir="auto"><a id="user-content-pocket-to-sqlite" class="anchor" aria-hidden="true" href="#user-content-pocket-to-sqlite"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>pocket-to-sqlite</h1> <p dir="auto"><a href="https://pypi.org/project/pocket-to-sqlite/" rel="nofollow"><img src="https://camo.githubusercontent.com/98050bc158f5e93f2c3576b03fa6a25b4a8091bb6d44774e07d95ae2842e4a3e/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f706f636b65742d746f2d73716c6974652e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/pocket-to-sqlite.svg" style="max-width: 100%;"></a> <a href="https://github.com/dogsheep/pocket-to-sqlite/releases"><img src="https://camo.githubusercontent.com/b37c773b526e69ffcc72b9c02cbcd977d1b6e6a9bcf317c3accfc04b975e960c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f646f6773686565702f706f636b65742d746f2d73716c6974653f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/dogsheep/pocket-to-sqlite?include_prereleases&amp;label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/dogsheep/pocket-to-sqlite/actions?query=workflow%3ATest"><img src="https://github.com/dogsheep/pocket-to-sqlite/workflows/Test/badge.svg" alt="Tests" style="max-width: 100%;"></a> <a href="https://github.com/dogsheep/pocket-to-sqlite/blob/main/LICENSE"><img src="https://camo.github… 1 public 0   0  
237321267 MDEwOlJlcG9zaXRvcnkyMzczMjEyNjc= geojson-to-sqlite simonw/geojson-to-sqlite 0 simonw 9599 https://github.com/simonw/geojson-to-sqlite CLI tool for converting GeoJSON files to SQLite (with SpatiaLite) 0 2020-01-30T22:51:05Z 2022-03-05T00:40:56Z 2022-04-13T23:39:25Z   117 34 34 Python 1 1 1 1 0 3 0 0 4 Apache License 2.0 apache-2.0 ["datasette-io", "datasette-tool", "geojson", "gis", "sqlite"] 3 4 34 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}     3 3 # geojson-to-sqlite [![PyPI](https://img.shields.io/pypi/v/geojson-to-sqlite.svg)](https://pypi.org/project/geojson-to-sqlite/) [![Changelog](https://img.shields.io/github/v/release/simonw/geojson-to-sqlite?include_prereleases&label=changelog)](https://github.com/simonw/geojson-to-sqlite/releases) [![Tests](https://github.com/simonw/geojson-to-sqlite/workflows/Test/badge.svg)](https://github.com/simonw/geojson-to-sqlite/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/geojson-to-sqlite/blob/main/LICENSE) CLI tool for converting GeoJSON to SQLite (optionally with SpatiaLite) [RFC 7946: The GeoJSON Format](https://tools.ietf.org/html/rfc7946) ## How to install $ pip install geojson-to-sqlite ## How to use You can run this tool against a GeoJSON file like so: $ geojson-to-sqlite my.db features features.geojson This will load all of the features from the `features.geojson` file into a table called `features`. Each row will have a `geometry` column containing the feature geometry, and columns for each of the keys found in any `properties` attached to those features. (To bundle all properties into a single JSON object, use the `--properties` flag.) The table will be created the first time you run the command. On subsequent runs you can use the `--alter` option to add any new columns that are missing from the table. You can pass more than one GeoJSON file, in which case the contents of all of the files will be inserted into the same table. If your features have an `"id"` property it will be used as the primary key for the table. You can also use `--pk=PROPERTY` with the name of a different property to use that as the primary key instead. If you don't want to use the `"id"` as the primary key (maybe it contains duplicate values) you can use `--pk ''` to specify no primary key. Specifying a primary key also will allow you to upsert data into the rows instead of insert data into new rows. If no primary key is specified,… <div id="readme" class="md" data-path="README.md"><article class="markdown-body entry-content container-lg" itemprop="text"><h1 dir="auto"><a id="user-content-geojson-to-sqlite" class="anchor" aria-hidden="true" href="#user-content-geojson-to-sqlite"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>geojson-to-sqlite</h1> <p dir="auto"><a href="https://pypi.org/project/geojson-to-sqlite/" rel="nofollow"><img src="https://camo.githubusercontent.com/b0c77834f0d6adf37e62573e121ccadd92711433ad2c5b4dd506610919762dab/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f67656f6a736f6e2d746f2d73716c6974652e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/geojson-to-sqlite.svg" style="max-width: 100%;"></a> <a href="https://github.com/simonw/geojson-to-sqlite/releases"><img src="https://camo.githubusercontent.com/e88a12c13acc77ac4d0338f065dfeb664076b3414a7ee2560e8d465e828c1320/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f73696d6f6e772f67656f6a736f6e2d746f2d73716c6974653f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/simonw/geojson-to-sqlite?include_prereleases&amp;label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/simonw/geojson-to-sqlite/actions?query=workflow%3ATest"><img src="https://github.com/simonw/geojson-to-sqlite/workflows/Test/badge.svg" alt="Tests" style="max-width: 100%;"></a> <a href="https://github.com/simonw/geojson-to-sqlite/blob/main/LICENSE"><img src="https://camo.github… 1 public 0      

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [repos] (
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [name] TEXT,
   [full_name] TEXT,
   [private] INTEGER,
   [owner] INTEGER REFERENCES [users]([id]),
   [html_url] TEXT,
   [description] TEXT,
   [fork] INTEGER,
   [created_at] TEXT,
   [updated_at] TEXT,
   [pushed_at] TEXT,
   [homepage] TEXT,
   [size] INTEGER,
   [stargazers_count] INTEGER,
   [watchers_count] INTEGER,
   [language] TEXT,
   [has_issues] INTEGER,
   [has_projects] INTEGER,
   [has_downloads] INTEGER,
   [has_wiki] INTEGER,
   [has_pages] INTEGER,
   [forks_count] INTEGER,
   [archived] INTEGER,
   [disabled] INTEGER,
   [open_issues_count] INTEGER,
   [license] TEXT,
   [topics] TEXT,
   [forks] INTEGER,
   [open_issues] INTEGER,
   [watchers] INTEGER,
   [default_branch] TEXT,
   [permissions] TEXT,
   [temp_clone_token] TEXT,
   [organization] INTEGER REFERENCES [users]([id]),
   [network_count] INTEGER,
   [subscribers_count] INTEGER, [readme] TEXT, [readme_html] TEXT, [allow_forking] INTEGER, [visibility] TEXT, [is_template] INTEGER, [template_repository] TEXT, [web_commit_signoff_required] INTEGER, [has_discussions] INTEGER,
   FOREIGN KEY([license]) REFERENCES [licenses]([key])
);
CREATE INDEX [idx_repos_license]
    ON [repos] ([license]);
CREATE INDEX [idx_repos_organization]
    ON [repos] ([organization]);
CREATE INDEX [idx_repos_owner]
    ON [repos] ([owner]);
Powered by Datasette · Queries took 155.599ms