{"id":27040,"library":"gw-dsl-parser","title":"GW DSL Parser","description":"Converts Graphic-Walker workflow DSL into executable SQL. Current version 0.1.49.1, rapid pre-1.0 releases.","status":"active","version":"0.1.49.1","language":"python","source_language":"en","source_url":"https://github.com/usedtocode/gw-dsl-parser","tags":["graphic-walker","dsl","sql","parser"],"install":[{"cmd":"pip install gw-dsl-parser","lang":"bash","label":"Default install"}],"dependencies":[],"imports":[{"note":"Primary function to parse DSL text into SQL.","wrong":"","symbol":"parse","correct":"from gw_dsl_parser import parse"}],"quickstart":{"code":"from gw_dsl_parser import parse\n\ndsl_text = '''{\n  \"workflow\": {\n    \"source\": \"SELECT * FROM table\",\n    \"transforms\": [{\"type\": \"filter\", \"expr\": \"col > 10\"}]\n  }\n}'''\n\nsql = parse(dsl_text)\nprint(sql)","lang":"python","description":"Parse a Graphic-Walker DSL JSON string into an SQL query."},"warnings":[{"fix":"Validate DSL format against Graphic-Walker docs before parsing.","message":"Input DSL JSON structure must match Graphic-Walker's exact schema – minor schema changes can break parsing.","severity":"breaking","affected_versions":"all"},{"fix":"Pre-validate SQL content if needed.","message":"The library does not validate SQL in the source; invalid SQL in DSL causes runtime errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Ensure you installed 'gw-dsl-parser' (with hyphens, not underscores).","cause":"Installation failed or wrong package name used.","error":"ModuleNotFoundError: No module named 'gw_dsl_parser'"},{"fix":"Check the JSON structure against Graphic-Walker DSL documentation.","cause":"DSL JSON string does not conform to expected schema.","error":"gw_dsl_parser.exceptions.ParseError: Invalid DSL format"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}