home / content / repos

repos: 248903544

This data as json

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
248903544 MDEwOlJlcG9zaXRvcnkyNDg5MDM1NDQ= hacker-news-to-sqlite dogsheep/hacker-news-to-sqlite 0 53015001 https://github.com/dogsheep/hacker-news-to-sqlite Create a SQLite database containing data pulled from Hacker News 0 2020-03-21T04:02:05Z 2021-06-06T22:42:00Z 2021-03-13T19:15:06Z   19 25 25 Python 1 1 1 1 0 2 0 0 0 apache-2.0 ["hacker-news", "datasette", "dogsheep", "datasette-io", "datasette-tool"] 2 0 25 main {"admin": false, "push": false, "pull": false}   53015001 2 1 # hacker-news-to-sqlite [![PyPI](https://img.shields.io/pypi/v/hacker-news-to-sqlite.svg)](https://pypi.org/project/hacker-news-to-sqlite/) [![Changelog](https://img.shields.io/github/v/release/dogsheep/hacker-news-to-sqlite?include_prereleases&label=changelog)](https://github.com/dogsheep/hacker-news-to-sqlite/releases) [![Tests](https://github.com/dogsheep/hacker-news-to-sqlite/workflows/Test/badge.svg)](https://github.com/dogsheep/hacker-news-to-sqlite/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/hacker-news-to-sqlite/blob/main/LICENSE) Create a SQLite database containing data fetched from [Hacker News](https://news.ycombinator.com/). ## How to install $ pip install hacker-news-to-sqlite ## Usage $ hacker-news-to-sqlite user hacker-news.db your-username Importing items: 37%|███████████ | 845/2297 [05:09<11:02, 2.19it/s] Imports all of your Hacker News submissions and comments into a SQLite database called `hacker-news.db`. $ hacker-news-to-sqlite trees hacker-news.db 22640038 22643218 Fetches the entire comments tree in which any of those content IDs appears. ## Browsing your data with Datasette You can use [Datasette](https://datasette.readthedocs.org/) to browse your data. Install Datasette like this: $ pip install datasette Now run it against your `hacker-news.db` file like so: $ datasette hacker-news.db Visit `https://localhost:8001/` to search and explore your data. You can improve the display of your data usinng the [datasette-render-timestamps](https://github.com/simonw/datasette-render-timestamps) and [datasette-render-html](https://github.com/simonw/datasette-render-html) plugins. Install them like this: $ pip install datasette-render-timestamps datasette-render-html Now save the following configuration in a file called `metadata.json`: ```json { "databases": { "hacker-news": { "tables": { "items": { "plugins": { "datasette-render-html": { "columns": [ "text" ] }, "datasette-render-timestamps": { "columns": [ "time" ] } } }, "users": { "plugins": { "datasette-render-timestamps": { "columns": [ "created" ] } } } } } } } ``` Run Datasette like this: $ datasette -m metadata.json hacker-news.db The timestamp columns will now be rendered as human-readable dates, and any HTML in your posts will be displayed as rendered HTML. <div id="readme" class="md" data-path="README.md"><article class="markdown-body entry-content container-lg" itemprop="text"><h1><a id="user-content-hacker-news-to-sqlite" class="anchor" aria-hidden="true" href="#user-content-hacker-news-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>hacker-news-to-sqlite</h1> <p><a href="https://pypi.org/project/hacker-news-to-sqlite/" rel="nofollow"><img src="https://camo.githubusercontent.com/bf6d88d26ea4d8f1f396c1b1fc88ae74380de6a30f5a792c9f29664f21a219dd/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6861636b65722d6e6577732d746f2d73716c6974652e737667" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/hacker-news-to-sqlite.svg" style="max-width:100%;"></a> <a href="https://github.com/dogsheep/hacker-news-to-sqlite/releases"><img src="https://camo.githubusercontent.com/090ef507ee9402a786e40313d173f516f1dbdedf3df703402296594a4ebcad73/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f646f6773686565702f6861636b65722d6e6577732d746f2d73716c6974653f696e636c7564655f70726572656c6561736573266c6162656c3d6368616e67656c6f67" alt="Changelog" data-canonical-src="https://img.shields.io/github/v/release/dogsheep/hacker-news-to-sqlite?include_prereleases&amp;label=changelog" style="max-width:100%;"></a> <a href="https://github.com/dogsheep/hacker-news-to-sqlite/actions?query=workflow%3ATest"><img src="https://github.com/dogsheep/hacker-news-to-sqlite/workflows/Test/badge.svg" alt="Tests" style="max-width:100%;"></a> <a href="https://github.com/simonw/hacker-news-to-sqlite/blob/main/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%;"></a></p> <p>Create a SQLite database containing data fetched from <a href="https://news.ycombinator.com/" rel="nofollow">Hacker News</a>.</p> <h2><a id="user-content-how-to-install" class="anchor" aria-hidden="true" href="#user-content-how-to-install"><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>How to install</h2> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ pip install hacker-news-to-sqlite "><pre><code>$ pip install hacker-news-to-sqlite </code></pre></div> <h2><a id="user-content-usage" class="anchor" aria-hidden="true" href="#user-content-usage"><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>Usage</h2> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ hacker-news-to-sqlite user hacker-news.db your-username Importing items: 37%|███████████ | 845/2297 [05:09&lt;11:02, 2.19it/s] "><pre><code>$ hacker-news-to-sqlite user hacker-news.db your-username Importing items: 37%|███████████ | 845/2297 [05:09&lt;11:02, 2.19it/s] </code></pre></div> <p>Imports all of your Hacker News submissions and comments into a SQLite database called <code>hacker-news.db</code>.</p> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ hacker-news-to-sqlite trees hacker-news.db 22640038 22643218 "><pre><code>$ hacker-news-to-sqlite trees hacker-news.db 22640038 22643218 </code></pre></div> <p>Fetches the entire comments tree in which any of those content IDs appears.</p> <h2><a id="user-content-browsing-your-data-with-datasette" class="anchor" aria-hidden="true" href="#user-content-browsing-your-data-with-datasette"><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>Browsing your data with Datasette</h2> <p>You can use <a href="https://datasette.readthedocs.org/" rel="nofollow">Datasette</a> to browse your data. Install Datasette like this:</p> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ pip install datasette "><pre><code>$ pip install datasette </code></pre></div> <p>Now run it against your <code>hacker-news.db</code> file like so:</p> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ datasette hacker-news.db "><pre><code>$ datasette hacker-news.db </code></pre></div> <p>Visit <code>https://localhost:8001/</code> to search and explore your data.</p> <p>You can improve the display of your data usinng the <a href="https://github.com/simonw/datasette-render-timestamps">datasette-render-timestamps</a> and <a href="https://github.com/simonw/datasette-render-html">datasette-render-html</a> plugins. Install them like this:</p> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ pip install datasette-render-timestamps datasette-render-html "><pre><code>$ pip install datasette-render-timestamps datasette-render-html </code></pre></div> <p>Now save the following configuration in a file called <code>metadata.json</code>:</p> <div class="highlight highlight-source-json position-relative" data-snippet-clipboard-copy-content="{ &quot;databases&quot;: { &quot;hacker-news&quot;: { &quot;tables&quot;: { &quot;items&quot;: { &quot;plugins&quot;: { &quot;datasette-render-html&quot;: { &quot;columns&quot;: [ &quot;text&quot; ] }, &quot;datasette-render-timestamps&quot;: { &quot;columns&quot;: [ &quot;time&quot; ] } } }, &quot;users&quot;: { &quot;plugins&quot;: { &quot;datasette-render-timestamps&quot;: { &quot;columns&quot;: [ &quot;created&quot; ] } } } } } } } "><pre>{ <span class="pl-s"><span class="pl-pds">"</span>databases<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>hacker-news<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>tables<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>items<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>plugins<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>datasette-render-html<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>columns<span class="pl-pds">"</span></span>: [ <span class="pl-s"><span class="pl-pds">"</span>text<span class="pl-pds">"</span></span> ] }, <span class="pl-s"><span class="pl-pds">"</span>datasette-render-timestamps<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>columns<span class="pl-pds">"</span></span>: [ <span class="pl-s"><span class="pl-pds">"</span>time<span class="pl-pds">"</span></span> ] } } }, <span class="pl-s"><span class="pl-pds">"</span>users<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>plugins<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>datasette-render-timestamps<span class="pl-pds">"</span></span>: { <span class="pl-s"><span class="pl-pds">"</span>columns<span class="pl-pds">"</span></span>: [ <span class="pl-s"><span class="pl-pds">"</span>created<span class="pl-pds">"</span></span> ] } } } } } } }</pre></div> <p>Run Datasette like this:</p> <div class="snippet-clipboard-content position-relative" data-snippet-clipboard-copy-content="$ datasette -m metadata.json hacker-news.db "><pre><code>$ datasette -m metadata.json hacker-news.db </code></pre></div> <p>The timestamp columns will now be rendered as human-readable dates, and any HTML in your posts will be displayed as rendered HTML.</p> </article></div>            

Links from other tables

  • 5 rows from repo in releases
Powered by Datasette · Queries took 1.238ms