{"html_url": "https://github.com/simonw/datasette/issues/1798#issuecomment-1234925618", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1798", "id": 1234925618, "node_id": "IC_kwDOBm6k_c5Jm3gy", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T00:01:00Z", "updated_at": "2022-09-02T00:01:00Z", "author_association": "OWNER", "body": "There's a thread about this here, but it doesn't have any workaround that look to me like they would be worth applying: https://stackoverflow.com/questions/36463531/pyyaml-automatically-converting-certain-keys-to-boolean-values", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1359557737, "label": "Parts of YAML file do not work when db name is \"off\""}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1798#issuecomment-1234925621", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1798", "id": 1234925621, "node_id": "IC_kwDOBm6k_c5Jm3g1", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T00:01:47Z", "updated_at": "2022-09-02T00:01:47Z", "author_association": "OWNER", "body": "It's a nasty gotcha though. I'm inclined to add validation to Datasette that fails to start the server with an error if you attempt to start it with metadata that accidentally has a boolean where a database name is expected.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1359557737, "label": "Parts of YAML file do not work when db name is \"off\""}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1798#issuecomment-1234925975", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1798", "id": 1234925975, "node_id": "IC_kwDOBm6k_c5Jm3mX", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T00:02:53Z", "updated_at": "2022-09-02T00:02:53Z", "author_association": "OWNER", "body": "Here's a very old issue that suggests validating metadata:\r\n- https://github.com/simonw/datasette/issues/260", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1359557737, "label": "Parts of YAML file do not work when db name is \"off\""}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/260#issuecomment-1234926923", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1234926923, "node_id": "IC_kwDOBm6k_c5Jm31L", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T00:04:26Z", "updated_at": "2022-09-02T00:04:45Z", "author_association": "OWNER", "body": "Interesting example of why this would be valuable here:\r\n- https://github.com/simonw/datasette/issues/1798\r\n\r\nThis YAML file:\r\n```yaml\r\ntitle: Some title\r\ndescription_html: |-\r\n

This is an experiment.

\r\ndatabases:\r\n off:\r\n tables:\r\n products_from_owners:\r\n title: products_from_owners*\r\n```\r\nWas loaded as equivalent to this JSON:\r\n```json\r\n{\r\n \"title\": \"Some title\",\r\n \"description_html\": \"

This is an experiment.

\",\r\n \"databases\": {\r\n \"false\": {\r\n \"tables\": {\r\n \"products_from_owners\": {\r\n \"title\": \"products_from_owners*\"\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\nValidation that caught this would have been useful.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323223872, "label": "Validate metadata.json on startup"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/260#issuecomment-1234927627", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1234927627, "node_id": "IC_kwDOBm6k_c5Jm4AL", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T00:05:43Z", "updated_at": "2022-09-02T00:05:43Z", "author_association": "OWNER", "body": "I'm inclined to consider [Pydantic](https://pydantic-docs.helpmanual.io/) for this, since it is widely used now and can generate really good error messages.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323223872, "label": "Validate metadata.json on startup"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/260#issuecomment-1235079469", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1235079469, "node_id": "IC_kwDOBm6k_c5JndEt", "user": {"value": 596279, "label": "zaneselvans"}, "created_at": "2022-09-02T05:24:59Z", "updated_at": "2022-09-02T05:24:59Z", "author_association": "NONE", "body": "@zschira is working with Pydantic while converting between and validating JSON frictionless datapackage descriptors that annotate an SQLite DB ([extracted from FERC's XBRL data](https://github.com/catalyst-cooperative/ferc-xbrl-extractor)) and the Datasette YAML metadata [so we can publish them with Datasette](https://github.com/catalyst-cooperative/pudl/pull/1831). Maybe there's some overlap? We've been loving Pydantic.", "reactions": "{\"total_count\": 1, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 1}", "issue": {"value": 323223872, "label": "Validate metadata.json on startup"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1293#issuecomment-1235752140", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1293", "id": 1235752140, "node_id": "IC_kwDOBm6k_c5JqBTM", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T17:34:09Z", "updated_at": "2022-09-02T17:34:09Z", "author_association": "OWNER", "body": "Accidentally closed.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 849978964, "label": "Show column metadata plus links for foreign keys on arbitrary query results"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/260#issuecomment-1235785955", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1235785955, "node_id": "IC_kwDOBm6k_c5JqJjj", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-02T18:18:06Z", "updated_at": "2022-09-02T18:18:06Z", "author_association": "OWNER", "body": "Did some related research work in this issue:\r\n- https://github.com/simonw/shot-scraper/issues/28", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 323223872, "label": "Validate metadata.json on startup"}, "performed_via_github_app": null}