[{"data":1,"prerenderedAt":415},["ShallowReactive",2],{"project-43897129":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":46,"post_text":48,"what":49,"said":98,"maker_in_thread":215,"shape":224,"grid":227,"attempts":368,"same_week":379,"maker_shows":32,"maker_hidden":408,"reader_version":409,"card":410},"43897129","TextQuery","Query CSV, JSON, XLSX Files with SQL","title","Show HN: TextQuery – Query CSV, JSON, XLSX Files with SQL","https:\u002F\u002Ftextquery.app\u002F","textquery.app","shubhamjain",1746464355,2025,163,57,429,3837,12,"notable","dev_tools","sql client","desktop_app",[24,25,26,27,28],"sql","csv query","xlsx sql","duckdb gui","query csv","mixed",-0.15,{"positive":32,"neutral":33,"mixed":34,"critical":35},7,16,0,14,37,{"idea":38,"design":41,"pricing":44,"performance":45},{"positive":39,"critical":40},3,6,{"positive":42,"critical":43},2,1,{"positive":42,"critical":32},{"positive":34,"critical":34},[43,43,39,47,43,34,39,39,34,47,43,47,39,34,34,39,43,39,43,34,39,39,34,39,34,34,34,34,39,34,47,43,43,47,39,43,39,39,43,39],5,null,{"problem":50,"audience":62,"pricing":70,"motivation":48,"time_to_build":48,"stack":85,"openness":96,"stage":97,"team_size":96},{"value":51,"source":52,"evidence":53},"Quickly querying CSV, JSON and XLSX files with SQL without importing them into a database","inferred",[54,58],{"id":55,"by":56,"text":57},"43907621","mutagen","This looks awesome. I'm the target audience. I do quite a bit of development around SQL Server and there's an endless stream of CSV and XLSX files coming and going that need spot…",{"id":59,"by":60,"text":61},"43899203","flysand7","For a lot of files where you would want to perform a quick one-time analysis, I don't think it's worth starting up a new database, and write scripts that parse the file from the…",{"value":63,"source":52,"evidence":64},"Developers and data analysts who know SQL and need quick looks at spreadsheet-style files",[65,66],{"id":55,"by":56,"text":57},{"id":67,"by":68,"text":69},"43897323","bdcravens","Congrats on launching, but this feels like an uphill climb to get paying customers. You need to find the intersection of potential customers that know SQL but don't want to use…",{"value":71,"source":72,"evidence":73},"Perpetual one-time license with free updates","commenter",[74,78,81],{"id":75,"by":76,"text":77},"43899123","hermitcrab",">Pay Once, Use Forever ... Free updates I suspect the vendor is going to regret that, further down the line.",{"id":79,"by":76,"text":80},"43899401",">The license entitles you to receive lifetime updates for the major version. Where does it say that? That is common and it is the model I use for my own software. But that isn't…",{"id":82,"by":83,"text":84},"43899419","rsstack","It's the first question\u002Fanswer in the FAQ.",[86],{"value":87,"source":88,"evidence":89},"DuckDB","maker",[90,93],{"id":91,"by":11,"text":92},"43903785","TextQuery actually uses DuckDB under the hood :) DuckDB is no doubt an excellent piece of software already. The differentiator is that GUI client is just a good lever to make…",{"id":94,"by":11,"text":95},"43897383","Author here. It uses DuckDB under the hood, which is a fantastic piece of software. Yes, even DuckDB has UI now, but I didn't find it to my taste. There's no table view, filters…","unknown","launched",{"praise":99,"objections":120,"requests":148,"questions":170,"alternatives":185},[100,112],{"value":101,"source":72,"evidence":102},"Clean desktop UI and workflow for quick file queries",[103,104,108],{"id":55,"by":56,"text":57},{"id":105,"by":106,"text":107},"43904074","gitroom","pretty cool seeing someone care about a good ui for this kind of tool - always annoys me when the workflow is clunky, you think people actually care more about small features or…",{"id":109,"by":110,"text":111},"43897443","imachine1980_","A few hours ago this would have been useful, I will probably give it a try in few days. On another note, I recommend clarifying in the heroes page that it's about a one-time…",{"value":113,"source":72,"evidence":114},"One-time purchase model is appealing",[115,116],{"id":109,"by":110,"text":111},{"id":117,"by":118,"text":119},"43899184","delusional","I don't know. We had a pretty well established model that included free updates, but required a new purchase for a new major version down the line. I think that worked pretty well.",[121,136,141],{"value":122,"source":72,"evidence":123},"Overlaps with free DuckDB and its UI",[124,128,132],{"id":125,"by":126,"text":127},"43897232","gkbrk","Feels like `clickhouse local` or `duckdb` with a price tag. Especially since duckdb even has a nice UI now.",{"id":129,"by":130,"text":131},"43897610","mritchie712","this is a tarpit idea I've fallen into multiple times. It's really hard to make money from a desktop SQL client, let alone now that DuckDB has a good, free UI.",{"id":133,"by":134,"text":135},"43901520","ByteAtATime","Have you seen duckdb? https:\u002F\u002Fduckdb.org\u002F It's basically what you're building, but more low-level. Really cool, to be honest -- serves the same market too. Do you have any…",{"value":137,"source":72,"evidence":138},"Hard to make money from a desktop SQL client",[139,140],{"id":129,"by":130,"text":131},{"id":67,"by":68,"text":69},{"value":142,"source":72,"evidence":143},"Perpetual license wording on pricing page is unclear about updates",[144,145],{"id":79,"by":76,"text":80},{"id":146,"by":76,"text":147},"43899418","Ok, it says that further down the pricing page. I don't see how that fits with \"Perpetual license Lifetime updates\". It feels deceptive.",[149,156,163],{"value":150,"source":72,"evidence":151},"Import multiple files or ZIP archives at once",[152],{"id":153,"by":154,"text":155},"43899051","jamroom","Quick question - is it possible to import multiple files at once? I frequently get ZIP files full of csv\u002Fxlsx files that I need to search through. I didn't see a way to import…",{"value":157,"source":72,"evidence":158},"Parquet support",[159],{"id":160,"by":161,"text":162},"43897569","ayhanfuat","Congratulations. I do see value in quickly seeing, querying files in a nice desktop interface. I am curious why there is no parquet support though. If duckdb is running in the…",{"value":164,"source":72,"evidence":165},"App store distribution",[166],{"id":167,"by":168,"text":169},"43901007","somerandom2407","You might have a wider audience if you put in on the app store. I only install very well-known software outside of the app store. For anything more niche, I need it to be on the…",[171,178],{"value":172,"source":72,"evidence":173},"How does it handle large file sizes and many-file directories",[174],{"id":175,"by":176,"text":177},"43900774","moxplod","I could use this. Questions: What file sizes have you tested? What about a directory with similar CSV files - I have a use case where similar structure CSV, 2 TB data broken into…",{"value":179,"source":72,"evidence":180},"Support for XML",[181],{"id":182,"by":183,"text":184},"43900401","A4ET8a8uTh0_v2","This does seem pretty neat. Any plans to expand to include XML as well?",[186,190,197,204],{"value":87,"source":72,"evidence":187},[188,189],{"id":125,"by":126,"text":127},{"id":133,"by":134,"text":135},{"value":191,"source":72,"evidence":192},"SQLite browser tools",[193],{"id":194,"by":195,"text":196},"43897254","mkayokay","For CSV files you can also import them directly into a SQLite file using https:\u002F\u002Fsqlitebrowser.org\u002F XLSX would be the same workflow with \"save as\" CSV and then push it into SQLite.",{"value":198,"source":72,"evidence":199},"Nushell and PowerShell",[200],{"id":201,"by":202,"text":203},"43897667","account-5","To be completely honest I tend to use either powershell or Nushell to query these sorts of files. I do also use sqlite as well when needed.",{"value":205,"source":72,"evidence":206},"q and Steampipe",[207,211],{"id":208,"by":209,"text":210},"43905769","Gormo","Another tool in the same vein is 'q': https:\u002F\u002Fharelba.github.io\u002Fq\u002F",{"id":212,"by":213,"text":214},"43900880","nathanwallace","Readers may also enjoy Steampipe [1], an open source tool to live query 140+ services with SQL (e.g. AWS, GitHub, CSV, Kubernetes, etc). It uses Postgres Foreign Data Wrappers…",{"comments":47,"answered":39,"key":216},[217,218,221],{"id":91,"text":92},{"id":219,"text":220},"43901872","I am planning to add it soon. It shouldn’t be hard. Just have to figure out the UI part.",{"id":222,"text":223},"43901917","Thanks for the feedback! It is something on my mind. Will think about the best way to implement it.",{"commenters":225,"max_depth":32,"maker_replies":47,"first_comment_mins":18,"lifespan_hours":226},42,25,[228,230,231,235,239,243,244,246,250,251,252,256,258,263,264,267,269,271,274,275,277,281,284,286,289,292,295,297,298,299,301,304,306,308,311,313,316,318,321,323,327,331,333,335,339,341,344,346,347,350,351,352,355,358,359,363,367],[67,34,43,229,68,34],"project\u002Fcritical\u002Fidea",[129,34,43,229,130,34],[232,34,39,233,234,34],"43899232","project\u002Fneutral\u002Fnone","hultner",[236,34,34,237,238,34],"43901300","other\u002Fneutral\u002Fnone","easygenes",[240,34,47,241,242,34],"43900032","project\u002Fpositive\u002Fdesign","Exuma",[133,43,43,229,134,34],[91,43,34,245,11,43],"maker\u002Fneutral\u002Fidea",[247,43,34,248,249,34],"43906155","commenter\u002Fneutral\u002Fnone","freilanzer",[167,42,39,233,168,34],[160,39,39,233,161,34],[253,39,39,254,255,34],"43897608","project\u002Fneutral\u002Fidea","dowager_dan99",[219,39,34,257,11,43],"maker\u002Fneutral\u002Fnone",[259,260,47,261,262,34],"43898646",4,"project\u002Fpositive\u002Fidea","lowleveldesign",[55,47,47,261,56,34],[265,40,43,266,255,34],"43897591","project\u002Fcritical\u002Fpricing",[109,32,47,268,110,34],"project\u002Fpositive\u002Fpricing",[153,270,39,254,154,34],8,[272,270,39,233,273,34],"43900540","ok_computer",[222,270,34,257,11,43],[208,276,34,237,209,34],9,[278,279,34,237,280,34],"43898985",10,"whoomp12342",[282,279,39,233,283,34],"43901657","thisislife2",[182,285,39,233,183,34],11,[287,18,43,288,60,34],"43899233","project\u002Fcritical\u002Fdesign",[175,290,39,291,176,34],13,"project\u002Fneutral\u002Fperformance",[293,35,43,266,294,34],"43897457","sidcool",[125,296,43,229,126,34],15,[94,296,34,245,11,43],[194,33,39,233,195,34],[300,33,34,254,11,43],"43897470",[302,33,39,254,303,34],"43897558","bob1029",[305,33,34,248,202,34],"43897579",[201,307,39,233,202,34],17,[309,307,34,248,310,34],"43897766","leftcenterright",[312,307,34,248,202,34],"43897944",[314,307,34,237,315,34],"43899523","rad_gruchalski",[317,307,34,237,202,34],"43899795",[319,307,34,237,320,34],"43900398","nonethewiser",[322,307,34,237,202,34],"43902221",[324,325,39,233,326,34],"43898059",18,"tobilg",[328,325,34,329,330,34],"43900801","other\u002Fpositive\u002Fnone","amir_karbasi",[212,332,34,237,213,34],19,[105,334,47,241,106,34],20,[336,337,34,237,338,34],"43900898",21,"jeadie",[75,340,43,266,76,34],22,[342,340,43,266,343,34],"43899174","_ink_",[345,340,43,266,234,34],"43899205",[117,340,47,268,118,34],[348,340,39,349,83,34],"43899240","project\u002Fneutral\u002Fpricing",[79,340,43,266,76,34],[146,340,43,266,76,34],[353,340,39,349,354,34],"43900363","netsharc",[356,340,34,357,76,34],"43902648","commenter\u002Fneutral\u002Fpricing",[82,340,39,349,83,34],[360,361,43,229,362,34],"43905569",23,"jklowden",[364,365,43,229,366,34],"43897329",24,"zipping1549",[59,365,47,261,60,34],[369,372,375,378],{"id":370,"t":371,"points":47,"comments":43},"39642686",1709915359,{"id":373,"t":374,"points":285,"comments":39},"39893540",1711975359,{"id":376,"t":377,"points":47,"comments":43},"42969760",1738906596,{"id":4,"t":12,"points":14,"comments":15},[380,385,390,394,399,403],{"id":381,"name":382,"points":383,"category":384},"43905942","Clippy",1122,"ai",{"id":386,"name":387,"points":388,"category":389},"43880962","BreezePDF",791,"productivity",{"id":391,"name":392,"points":393,"category":384},"43899028","RealtimeVoiceChat",524,{"id":395,"name":396,"points":397,"category":398},"43873074","Anukari",512,"creative",{"id":400,"name":401,"points":402,"category":389},"43891245","AI Native Resume",301,{"id":404,"name":405,"points":406,"category":407},"43896011","VectorVFS",279,"data",false,"v2",{"id":411,"name":5,"line":6,"ai":408,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":412,"maker":11,"domain":10,"tier":19,"attempts":260,"strip":413,"url":9,"mix":414,"praise":101,"objection":122,"sub":21},43897129,[24,25,26,27,28],"1135103305153003131033030000305115313313",[32,33,34,35],1794036674323]