home / content

repos

4 rows where permissions = "{"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}", topics contains "datasette-io" and watchers = 3

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: owner, homepage, forks_count, open_issues_count, forks, open_issues, network_count, subscribers_count, 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
163790822 MDEwOlJlcG9zaXRvcnkxNjM3OTA4MjI= datasette-sqlite-fts4 simonw/datasette-sqlite-fts4 0 simonw 9599 https://github.com/simonw/datasette-sqlite-fts4 Datasette plugin that adds custom SQL functions for working with SQLite FTS4 0 2019-01-02T03:40:41Z 2022-07-31T16:33:25Z 2022-07-31T14:46:26Z https://datasette.io/plugins/datasette-sqlite-fts4 14 3 3 Python 1 1 1 1 0 1 0 0 0 Apache License 2.0 apache-2.0 ["datasette", "datasette-io", "datasette-plugin", "plugin"] 1 0 3 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}     1 2 # datasette-sqlite-fts4 [![PyPI](https://img.shields.io/pypi/v/datasette-sqlite-fts4.svg)](https://pypi.org/project/datasette-sqlite-fts4/) [![Changelog](https://img.shields.io/github/v/release/simonw/datasette-sqlite-fts4?include_prereleases&label=changelog)](https://github.com/simonw/datasette-sqlite-fts4/releases) [![Tests](https://github.com/simonw/datasette-sqlite-fts4/workflows/Test/badge.svg)](https://github.com/simonw/datasette-sqlite-fts4/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-sqlite-fts4/blob/main/LICENSE) Datasette plugin that exposes the custom SQL functions from [sqlite-fts4](https://github.com/simonw/sqlite-fts4). [Interactive demo](https://datasette-sqlite-fts4.datasette.io/24ways-fts4?sql=select%0D%0A++++json_object%28%0D%0A++++++++"label"%2C+articles.title%2C+"href"%2C+articles.url%0D%0A++++%29+as+article%2C%0D%0A++++articles.author%2C%0D%0A++++rank_score%28matchinfo%28articles_fts%2C+"pcx"%29%29+as+score%2C%0D%0A++++rank_bm25%28matchinfo%28articles_fts%2C+"pcnalx"%29%29+as+bm25%2C%0D%0A++++json_object%28%0D%0A++++++++"pre"%2C+annotate_matchinfo%28matchinfo%28articles_fts%2C+"pcxnalyb"%29%2C+"pcxnalyb"%29%0D%0A++++%29+as+annotated_matchinfo%2C%0D%0A++++matchinfo%28articles_fts%2C+"pcxnalyb"%29+as+matchinfo%2C%0D%0A++++decode_matchinfo%28matchinfo%28articles_fts%2C+"pcxnalyb"%29%29+as+decoded_matchinfo%0D%0Afrom%0D%0A++++articles_fts+join+articles+on+articles.rowid+%3D+articles_fts.rowid%0D%0Awhere%0D%0A++++articles_fts+match+%3Asearch%0D%0Aorder+by+bm25&search=jquery+maps). Read [Exploring search relevance algorithms with SQLite](https://simonwillison.net/2019/Jan/7/exploring-search-relevance-algorithms-sqlite/) for further details on this project. ## Installation pip install datasette-sqlite-fts4 If you are deploying a database using `datasette publish` you can include this plugin using the `--install` option: datasette publish now mydb.db --install=datasette-sqlite-fts4 <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-datasette-sqlite-fts4" class="anchor" aria-hidden="true" href="#user-content-datasette-sqlite-fts4"><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>datasette-sqlite-fts4</h1> <p dir="auto"><a href="https://pypi.org/project/datasette-sqlite-fts4/" rel="nofollow"><img src="https://camo.githubusercontent.com/97851cd6d6e2680d8da8db28d662851a36db50317ea8909c060aef1d1fcec110/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6461746173657474652d73716c6974652d667473342e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/datasette-sqlite-fts4.svg" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-sqlite-fts4/releases"><img src="https://camo.githubusercontent.com/e86e60059d267b02f60a9af932dbd99e1ec8d011e106ac2e8be952b364fcb7d1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f73696d6f6e772f6461746173657474652d73716c6974652d667473343f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/simonw/datasette-sqlite-fts4?include_prereleases&amp;label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-sqlite-fts4/actions?query=workflow%3ATest"><img src="https://github.com/simonw/datasette-sqlite-fts4/workflows/Test/badge.svg" alt="Tests" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-sqli… 1 public 0   0  
236110759 MDEwOlJlcG9zaXRvcnkyMzYxMTA3NTk= datasette-auth-existing-cookies simonw/datasette-auth-existing-cookies 0 simonw 9599 https://github.com/simonw/datasette-auth-existing-cookies Datasette plugin that authenticates users based on existing domain cookies 0 2020-01-25T01:20:31Z 2022-05-28T01:50:15Z 2022-05-30T17:10:11Z   54 3 3 Python 1 1 1 1 0 1 0 0 0 Apache License 2.0 apache-2.0 ["datasette", "datasette-io", "datasette-plugin"] 1 0 3 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}     1 3 # datasette-auth-existing-cookies [![PyPI](https://img.shields.io/pypi/v/datasette-auth-existing-cookies.svg)](https://pypi.org/project/datasette-auth-existing-cookies/) [![Changelog](https://img.shields.io/github/v/release/simonw/datasette-auth-existing-cookies?include_prereleases&label=changelog)](https://github.com/simonw/datasette-auth-existing-cookies/releases) [![Tests](https://github.com/simonw/datasette-auth-existing-cookies/workflows/Test/badge.svg)](https://github.com/simonw/datasette-auth-existing-cookies/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-auth-existing-cookies/blob/master/LICENSE) Datasette plugin that authenticates users based on existing domain cookies. ## When to use this This plugin allows you to build custom authentication for Datasette when you are hosting a Datasette instance on the same domain as another, authenticated website. Consider a website on `www.example.com` which supports user authentication. You could run Datasette on `data.example.com` in a way that lets it see cookies that were set for the `.example.com` domain. Using this plugin, you could build an API endpoint at `www.example.com/user-for-cookies` which returns a JSON object representing the currently signed-in user, based on their cookies. The plugin running on `data.example.com` will then make the `actor` available to the rest of Datasette based on the response from that API. Read about [Datasette's authentication and permissions system](https://docs.datasette.io/en/stable/authentication.html) for more on how actors and permissions work. ## Configuration This plugin requires some configuration in the Datasette [metadata.json file](https://datasette.readthedocs.io/en/stable/plugins.html#plugin-configuration). The following configuration options are supported: - `api_url`: this is the API endpoint that Datasette should call with the user's cookies in order to identify the logged in user. - `cookies`: optional. A … <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-datasette-auth-existing-cookies" class="anchor" aria-hidden="true" href="#user-content-datasette-auth-existing-cookies"><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>datasette-auth-existing-cookies</h1> <p dir="auto"><a href="https://pypi.org/project/datasette-auth-existing-cookies/" rel="nofollow"><img src="https://camo.githubusercontent.com/590f1fc881f5547ddc2df20c3e78f26fde45e0e616863c3c2111d37bf22f6a61/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6461746173657474652d617574682d6578697374696e672d636f6f6b6965732e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/datasette-auth-existing-cookies.svg" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-auth-existing-cookies/releases"><img src="https://camo.githubusercontent.com/ca9233dbd3b295b882d4e93a38bf3d9d64a6904111ad04a787a4d7201b3cd58f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f73696d6f6e772f6461746173657474652d617574682d6578697374696e672d636f6f6b6965733f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/simonw/datasette-auth-existing-cookies?include_prereleases&amp;label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-auth-existing-cookies/actions?query=workflow%3ATest"><img src="https://github.com/simonw/datasette-auth-exis… 1 public 0      
275711254 MDEwOlJlcG9zaXRvcnkyNzU3MTEyNTQ= datasette-write simonw/datasette-write 0 simonw 9599 https://github.com/simonw/datasette-write Datasette plugin providing a UI for executing SQL writes against the database 0 2020-06-29T02:27:31Z 2021-09-11T06:00:31Z 2021-09-11T06:03:07Z https://datasette.io/plugins/datasette-write 15 3 3 Python 1 1 1 1 0 2 0 0 2   ["datasette-io", "datasette-plugin"] 2 2 3 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}     2 2 # datasette-write [![PyPI](https://img.shields.io/pypi/v/datasette-write.svg)](https://pypi.org/project/datasette-write/) [![Changelog](https://img.shields.io/github/v/release/simonw/datasette-write?label=changelog)](https://github.com/simonw/datasette-write/releases) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/datasette-write/blob/master/LICENSE) Datasette plugin providing a UI for writing to a database ## Installation Install this plugin in the same environment as Datasette. $ pip install datasette-write ## Usage Having installed the plugin, visit `/-/write` on your Datasette instance to submit SQL queries that will be executed against a write connection to the specified database. By default only the `root` user can access the page - so you'll need to run Datasette with the `--root` option and click on the link shown in the terminal to sign in and access the page. The `datasette-write` permission governs access. You can use permission plugins such as [datasette-permissions-sql](https://github.com/simonw/datasette-permissions-sql) to grant additional access to the write interface. ## Development To set up this plugin locally, first checkout the code. Then create a new virtual environment: cd datasette-write python3 -mvenv venv source venv/bin/activate Or if you are using `pipenv`: pipenv shell Now install the dependencies and tests: pip install -e '.[test]' To run the tests: pytest <div id="readme" class="md" data-path="README.md"><article class="markdown-body entry-content container-lg" itemprop="text"><h1><a id="user-content-datasette-write" class="anchor" aria-hidden="true" href="#user-content-datasette-write"><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>datasette-write</h1> <p><a href="https://pypi.org/project/datasette-write/" rel="nofollow"><img src="https://camo.githubusercontent.com/af6b19f94bfb6ec8ed636dff5653009dc4f78e69fd40954cb91643aa191fbf8c/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6461746173657474652d77726974652e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/datasette-write.svg" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-write/releases"><img src="https://camo.githubusercontent.com/e1043914eb7cc84d8e2e2f9dbd17ba4051783e6f7da84c9bdce83a3a53e0b9e4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f73696d6f6e772f6461746173657474652d77726974653f6c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/simonw/datasette-write?label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/simonw/datasette-write/blob/master/LICENSE"><img src="https://camo.githubusercontent.com/1698104e976c681143eb0841f9675c6f802bb7aa832afc0c7a4e719b1f3cf955/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License" data-canonical-src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" style="max-width: 100…            
374846311 MDEwOlJlcG9zaXRvcnkzNzQ4NDYzMTE= datasette-geojson eyeseast/datasette-geojson 0 eyeseast 25778 https://github.com/eyeseast/datasette-geojson Add GeoJSON output to Datasette queries 0 2021-06-08T01:33:19Z 2022-02-16T19:59:42Z 2022-02-16T20:02:49Z   1102 3 3 Python 1 1 1 1 0 1 0 0 3   ["datasette-io", "datasette-plugin", "geojson", "gis", "sqlite"] 1 3 3 main {"admin": false, "maintain": false, "push": false, "triage": false, "pull": false}     1 1 # datasette-geojson [![PyPI](https://img.shields.io/pypi/v/datasette-geojson.svg)](https://pypi.org/project/datasette-geojson/) [![Changelog](https://img.shields.io/github/v/release/eyeseast/datasette-geojson?include_prereleases&label=changelog)](https://github.com/eyeseast/datasette-geojson/releases) [![Tests](https://github.com/eyeseast/datasette-geojson/workflows/Test/badge.svg)](https://github.com/eyeseast/datasette-geojson/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/eyeseast/datasette-geojson/blob/main/LICENSE) Add GeoJSON as an output option for datasette queries. ## Installation Install this plugin in the same environment as Datasette. datasette install datasette-geojson ## Usage To render GeoJSON, add a `.geojson` extension to any query URL that includes a `geometry` column. That column should be a valid [GeoJSON geometry](https://datatracker.ietf.org/doc/html/rfc7946#section-3.1). For example, you might use [geojson-to-sqlite](https://pypi.org/project/geojson-to-sqlite/) or [shapefile-to-sqlite](https://pypi.org/project/shapefile-to-sqlite/) to load [neighborhood boundaries](https://bostonopendata-boston.opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0/explore) into a SQLite database. ```sh wget -O neighborhoods.geojson https://opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0.geojson geojson-to-sqlite boston.db neighborhoods neighborhoods.geojson --spatial-index # create a spatial index datasette serve boston.db --load-extension spatialite ``` If you're using Spatialite, the geometry column will be in a binary format. If not, make sure the `geometry` column is a well-formed [GeoJSON geometry](https://datatracker.ietf.org/doc/html/rfc7946#section-3.1). If you used `geojson-to-sqlite` or `shapefile-to-sqlite`, you should be all set. Run this query in Datasette and you'll see a link to download GeoJSON: ```sql select rowid, OBJECTID, Name, Acres, Neighborhood_ID, SqMiles, … <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-datasette-geojson" class="anchor" aria-hidden="true" href="#user-content-datasette-geojson"><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>datasette-geojson</h1> <p dir="auto"><a href="https://pypi.org/project/datasette-geojson/" rel="nofollow"><img src="https://camo.githubusercontent.com/526d2a27eb7e19691a8f966dba069780f3fe109d6ac662d72901ff561f31b133/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6461746173657474652d67656f6a736f6e2e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/datasette-geojson.svg" style="max-width: 100%;"></a> <a href="https://github.com/eyeseast/datasette-geojson/releases"><img src="https://camo.githubusercontent.com/367e4f55f2b376367d7fbc8ab6ec5d765b3b04590149b3a8f60794cd39a5b54d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f65796573656173742f6461746173657474652d67656f6a736f6e3f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/eyeseast/datasette-geojson?include_prereleases&amp;label=changelog" style="max-width: 100%;"></a> <a href="https://github.com/eyeseast/datasette-geojson/actions?query=workflow%3ATest"><img src="https://github.com/eyeseast/datasette-geojson/workflows/Test/badge.svg" alt="Tests" style="max-width: 100%;"></a> <a href="https://github.com/eyeseast/datasette-geojson/blob/main/LICENSE"><img src="https… 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 193.929ms