{"html_url": "https://github.com/simonw/datasette/issues/260#issuecomment-1600778057", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1600778057, "node_id": "IC_kwDOBm6k_c5fae9J", "user": {"value": 9599, "label": "simonw"}, "created_at": "2023-06-21T12:51:22Z", "updated_at": "2023-06-21T12:51:22Z", "author_association": "OWNER", "body": "Another example of confusion from this today: https://discord.com/channels/823971286308356157/823971286941302908/1121042411238457374\r\n\r\nSee also https://gist.github.com/BinomeDeNewton/651ac8b50dd5420f8e54d1682eee5fed?permalink_comment_id=4605982#gistcomment-4605982", "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-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} {"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/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-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-1051473892", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 1051473892, "node_id": "IC_kwDOBm6k_c4-rDfk", "user": {"value": 596279, "label": "zaneselvans"}, "created_at": "2022-02-26T02:24:15Z", "updated_at": "2022-02-26T02:24:15Z", "author_association": "NONE", "body": "Is there already functionality that can be used to validate the `metadata.json` file? Is there a JSON Schema that defines it? Or a validation that's available via datasette with Python? We're working on [automatically building the metadata](https://github.com/catalyst-cooperative/pudl/pull/1479) in CI and when we deploy to cloud run, and it would be nice to be able to check whether the the metadata we're outputting is valid in our tests.", "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-544318517", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/260", "id": 544318517, "node_id": "MDEyOklzc3VlQ29tbWVudDU0NDMxODUxNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-10-21T01:48:24Z", "updated_at": "2019-10-21T01:48:24Z", "author_association": "OWNER", "body": "This came up in #588 - it would be helpful if this would spot things like `\"queries\"` defined against the tables block when they should be defined against a database.", "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}