github
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/pull/432#issuecomment-482876432 | https://api.github.com/repos/simonw/datasette/issues/432 | 482876432 | MDEyOklzc3VlQ29tbWVudDQ4Mjg3NjQzMg== | 9599 | 2019-04-13T20:06:32Z | 2019-04-13T20:06:32Z | OWNER | This has a bug which isn't being caught by the unit tests (yet) - facet suggestion suggests facets that have already been enabled: <img width="845" alt="fixtures__facetable__15_rows" src="https://user-images.githubusercontent.com/9599/56084775-eceb0100-5dec-11e9-8d98-24f1ea1862eb.png"> There is also a test failure due to missing plugin hook documentation. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
432893491 | |
https://github.com/simonw/datasette/issues/427#issuecomment-482865424 | https://api.github.com/repos/simonw/datasette/issues/427 | 482865424 | MDEyOklzc3VlQ29tbWVudDQ4Mjg2NTQyNA== | 9599 | 2019-04-13T18:56:25Z | 2019-04-13T19:42:08Z | OWNER | I think there's a `Facet` base class. `class ColumnFacet(Facet):` is the default behaviour we have today `class ArrayFacet(Facet):` facet by JSON array `class ManyToManyFacet(Facet):` facet by M2M table `class DateFacet(Facet):` facet by date `class DateTimeFacet(Facet):` facet by datetime `class EmojiFacet(Facet):` super-fun demo plugin I have planned Could even have a facet against a numerical column which loads the entire set of column values into numpy or pandas and calculates complex statistics facets in memory . There’s actually a lot of potential for Datasette plugins that load several MBs of data and analyze using other Python libraries. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
431800286 | |
https://github.com/simonw/datasette/issues/431#issuecomment-482872210 | https://api.github.com/repos/simonw/datasette/issues/431 | 482872210 | MDEyOklzc3VlQ29tbWVudDQ4Mjg3MjIxMA== | 9599 | 2019-04-13T19:37:57Z | 2019-04-13T19:37:57Z | OWNER | You should be able to see the reload happening in the console logs: <img width="1045" alt="tmp_—_sqlite3_fixtures_db_—_80×25_and_tmp_—_Python_◂_datasette_--reload_fixtures_db_-p_8052_—_154×57_and_datasette_—_python3_7__usr_local_Cellar_pipenv_2018_11_26_libexec_bin_pipenv_shell_▸_bash_—_147×43" src="https://user-images.githubusercontent.com/9599/56084524-d347ba80-5de8-11e9-9fc8-6e902244a92a.png"> I'm doing some work at the moment to handle mutating files MUCH better - #419 - my goal is to have Datasette work against SQLite files that are being updated out-of-the box, and change the current immutable behaviour to be an option rather than the default. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
432870248 | |
https://github.com/simonw/datasette/issues/427#issuecomment-482864457 | https://api.github.com/repos/simonw/datasette/issues/427 | 482864457 | MDEyOklzc3VlQ29tbWVudDQ4Mjg2NDQ1Nw== | 9599 | 2019-04-13T18:51:44Z | 2019-04-13T18:57:51Z | OWNER | A facet needs to: - given a sql query and a list of configs, return a list of buckets - Know how to generate URLs for selecting and deselecting a filter (along with underlying filter application sql logic) - Tell if a specific filter is currently selected or not - Set a time limit and report if it times out - Generate human readable labels - In some cases: expand foreign keys - which means they need access to foreign key information - just the name of the table and the name of the column is enough to call `expand_foreign_keys()` (I [moved that](https://github.com/simonw/datasette/commit/274ef43bb7b129ddc2e68805b4f4ff3776fb9503) to the Datasette class to make it easier to access) - Make suggestions for facets. Let's give it access to the whole table here so it could either run against each column in return and rely with a list of suggestions or it could spot eg a latitude and a longitude column | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
431800286 | |
https://github.com/simonw/datasette/issues/427#issuecomment-482864837 | https://api.github.com/repos/simonw/datasette/issues/427 | 482864837 | MDEyOklzc3VlQ29tbWVudDQ4Mjg2NDgzNw== | 9599 | 2019-04-13T18:53:43Z | 2019-04-13T18:53:43Z | OWNER | `TableView.data` is currently the longest, hairiest method in the codebase. It's 775 - 177 = 598 lines of code! Extracting faceting logic should help reduce that quite a bit. https://github.com/simonw/datasette/blob/274ef43bb7b129ddc2e68805b4f4ff3776fb9503/datasette/views/table.py#L177-L775 | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
431800286 | |
https://github.com/simonw/datasette/issues/429#issuecomment-482766801 | https://api.github.com/repos/simonw/datasette/issues/429 | 482766801 | MDEyOklzc3VlQ29tbWVudDQ4Mjc2NjgwMQ== | 9599 | 2019-04-13T01:56:19Z | 2019-04-13T01:56:19Z | OWNER | Documentation is here: https://datasette.readthedocs.io/en/latest/json_api.html#special-table-arguments Demo: * https://latest.datasette.io/fixtures/facetable?_where=state=%22MI%22&_where=city_id=3 * https://latest.datasette.io/fixtures/facetable?_where=city_id%20in%20(select%20id%20from%20facet_cities%20where%20name%20!=%20%22Detroit%22) | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
432636432 |