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 checks and quick looks. I use ModernCSV quite a bit and would have purchased that if it built these SQL features in. I've used DuckDB directly a few times to join and query CSV and XLSX files, I'll pay my own $$ for something that quickly streamlines this.
I can import into SQL Server but there's too much ceremony needed (column types, etc) for quick looks at data I'm going to answer a question about and then discard. After a quick look at TextQuery I'm running into the same issues (although TextQuery is just a couple of clicks instead of 5+). I was also seeing an error yesterday from associating XLSX files with TextQuery but that seems to have gone away today.
bdcravens · 1d ago
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 one of the open source options. (perhaps data analysts working in restricted environments where the only option is a web browser)
mritchie712 · 1d ago
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.
hultner · 1d ago
Can you use that with for instance a postgres server? I thought it would only work with DuckDB (sqlite?) databases.
easygenes · 18h ago
Yes, DuckDB has a postgres extension which works via libpq.
Other extensions include but aren't limited to: MySQL, AWS, Azure, Excel, Iceberg, JSON
As OSX user... if there is a nice pristine OSX app (like Postico) I will pay for it even if theres a free version (easily, hands down) if the UI/UX is nice, and pro version has extra features. So I'm definitely someone who would pay.
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 significant differentiator, other than charts?
shubhamjain · 9h ago
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 many things easier.
In context of TextQuery: you can use tabs you can work on multiple queries. With Table editor you can edit multiple field values at once. During import, you can have better control over what the final table would look like (select/deselect columns, define data/time format etc.)
Again, it's a personal preference. Some people swear by psql, and some can't live without TablePlus/Postico.
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 app store to offer some assurance that it is not malicious and that sandboxing is enforced.
ayhanfuat · 1d ago
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 background it is probably easy to support it?
shubhamjain · 16h ago
I am planning to add it soon. It shouldn’t be hard. Just have to figure out the UI part.
dowager_dan99 · 1d ago
parquet support would be pretty easy I think, but also way outside the target market user. These are the features that are really hard to avoid: easy, but not free, no benefit.
I think I'm your target user, but I currently use DuckDB for this type of work, so unlikely to buy your product. That said, lots of devs pay for Rider and/or DataGrip - sometimes with their own money - so maybe there is a market here?
imachine1980_ · 1d ago
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 purchase, because that's a really big plus.
gitroom · 9h ago
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 is it just all about price
jamroom · 1d ago
Quick question - is it possible to import multiple files at once? I frequently get ZIP files full of csv/xlsx files that I need to search through. I didn't see a way to import more than 1 file at a time. Thanks!
ok_computer · 21h ago
You may want to try something similar to Python Polars scan_csv for lazy evaluation of same schema csv directories. It also supports a SQL context where you can use a subset of Ansi Sql instead of learning the functional api to start.
shubhamjain · 16h ago
Thanks for the feedback! It is something on my mind. Will think about the best way to implement it.
whoomp12342 · 1d ago
oh man, I remebmer solving this problem by connecting these files into SQL SERVER and joining agains them. Those were the days
thisislife2 · 17h ago
Still do something similar by using a simple python script to import such files into SQLite and then query the db with SQL. And, if I remember right, now there are free SQLite GUI db readers that also easily allow you to do this.
A4ET8a8uTh0_v2 · 21h ago
This does seem pretty neat. Any plans to expand to include XML as well?
moxplod · 20h ago
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 700 files. Instead of 1 large file. Would that work?
flysand7 · 1d ago
Is it just me, or the images on the website aren't loading? Using firefox, from what I searched it seems like it could be just a firefox issue. The cdn links are https bt when navigating there manually it says the connection is not private.
sidcool · 1d ago
Pricing is too weird.
gkbrk · 1d ago
Feels like `clickhouse local` or `duckdb` with a price tag. Especially since duckdb even has a nice UI now.
shubhamjain · 1d ago
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 are a bit weird, and not exactly keyboard accessible. TextQuery also has Visualize feature to quickly create charts and tabs to run things in parallel. Again, it's personal preference, but there are advantages in being a desktop-first app.
XLSX would be the same workflow with "save as" CSV and then push it into SQLite.
shubhamjain · 1d ago
IIRC, SQLlite requires you to define a schema first, which can be a bit tedious. DuckDB is actually a better tool for this in every regard, since it can parse CSV files quite well. The latest version includes support for XLSX as well.
My personal take is, yes, it's possible in multiple other ways, but I just like having a well-designed GUI app do it for me. Just how TablePlus does for Database Management.
bob1029 · 1d ago
> I just like having a well-designed GUI app do it for me.
MSSQL/SSMS supports this with some fancy techniques.
> This wizard was created to improve the current import experience leveraging an intelligent framework known as Program Synthesis using Examples (PROSE). For a user without specialized domain knowledge, importing data can often be a complex, error prone, and tedious task. This wizard streamlines the import process as simple as selecting an input file and unique table name, and the PROSE framework handles the rest.
> PROSE analyzes data patterns in your input file to infer column names, types, delimiters, and more. This framework learns the structure of the file and does all of the hard work so users don't have to.
Fascinating, is there something like this for Word?
account-5 · 23h ago
Morning built-in I know of. There's COM or pandoc, but you'd need to script that yourself.
nonethewiser · 21h ago
That's great. Is there something like this for MS Paint?
account-5 · 14h ago
You can only print, I think, with MS Paint from the CLI. ImageMagick is what you're after if you're working with images from the CLI. No expert though.
tobilg · 1d ago
Try https://sql-workbench.com if you‘d like to do this directly in the browser, for free. Including Parquet and Arrow support as well.
amir_karbasi · 20h ago
Your tool has been awesome! Seeing what it can do inspired me to write a POC that connected to an enterprise IBM application that I used to implement: https://github.com/karbasia/tririga-data-workbench (also uses DuckDB and Perspective with some additional hacks to make it work with IBM's tool).
nathanwallace · 19h ago
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 under the hood and supports joins etc with other tables. (Disclaimer - I'm a lead on the project.)
I suspect the vendor is going to regret that, further down the line.
rsstack · 1d ago
> The license entitles you to receive lifetime updates for the major version. When we release the next major version, you can optionally renew the license.
Fairly common. JetBrains started that way too. Will they one day have a major version that's using a subscription model? Perhaps. But they will likely not regret this too much.
hermitcrab · 23h ago
>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 what I understood from their website.
Home page:
"Pay Once, Use Forever. We hate needless subscriptions as much as you do. TextQuery comes with a perpetual license with free updates."
Which strongly implies every update is free, forever.
hermitcrab · 23h ago
Ok, it says that further down the pricing page. I don't see how that fits with "Perpetual license Lifetime updates". It feels deceptive.
netsharc · 21h ago
Insert some convoluted argument about new versions being "new versions" and not updates, so one is not entitled to them ;-) , just like politicians argue things like genocide not being genocide.
I hate the subscription model but I do recognize if they continously update the software, they'd like to get paid to do so.
hermitcrab · 13h ago
>if they continously update the software, they'd like to get paid to do so.
Absolutely. Just make it clear.
rsstack · 23h ago
It's the first question/answer in the FAQ.
_ink_ · 1d ago
No worries. They will just break their promise, just like most companies that claimed something similar.
hultner · 1d ago
I actually have some apps still which I bought for life years back but doesn't offer that anymore. For instance blink shell for iOS devices.
delusional · 1d ago
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.
zipping1549 · 1d ago
I think someone who's willing to use SQL will also be willing to convert such files into, well, proper DB.
flysand7 · 1d ago
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 source format and import it into the database. The one time I did it for postgres it took me maybe 2-4 hours to finish the script and start looking at the data. Next time it would be maybe an hour, but it's still a time.
So I guess I can see how not having to do the conversion for quick one-time analysis could be beneficial.
jklowden · 6h ago
Uh huh. The No SQL zombie yet shuffles on.
Anyone who knows SQL sees dozens of problems immediately. What enforces data integrity? How do we know the records are NF1? How do we perform a join, or test existential quantification, without table names? How do we know all supposed "dates" are valid dates, and not my uncles ex-wife’s maiden name? How does one reference XML attributes from SQL?
The answer produced by SQL are only as good as the data they’re drawn from. The quality and internal consistency of those data are enforced by the DBMS. No amount of pretty graphs and syntax highlighting changes that. The effective of SQL depends on the knowledge of the practitioner. No tool changes that, either.
I can import into SQL Server but there's too much ceremony needed (column types, etc) for quick looks at data I'm going to answer a question about and then discard. After a quick look at TextQuery I'm running into the same issues (although TextQuery is just a couple of clicks instead of 5+). I was also seeing an error yesterday from associating XLSX files with TextQuery but that seems to have gone away today.
Other extensions include but aren't limited to: MySQL, AWS, Azure, Excel, Iceberg, JSON
https://duckdb.org/docs/stable/extensions/postgres.html
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 significant differentiator, other than charts?
In context of TextQuery: you can use tabs you can work on multiple queries. With Table editor you can edit multiple field values at once. During import, you can have better control over what the final table would look like (select/deselect columns, define data/time format etc.)
Again, it's a personal preference. Some people swear by psql, and some can't live without TablePlus/Postico.
It reminds me of Log Parser Studio [1] on Windows. Using SQL to query text and log files is a great idea.
[1] https://web.archive.org/web/20170710212920/http://gallery.te...
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 700 files. Instead of 1 large file. Would that work?
Yes, even DuckDB has UI now, but I didn't find it to my taste. There's no table view, filters are a bit weird, and not exactly keyboard accessible. TextQuery also has Visualize feature to quickly create charts and tabs to run things in parallel. Again, it's personal preference, but there are advantages in being a desktop-first app.
XLSX would be the same workflow with "save as" CSV and then push it into SQLite.
My personal take is, yes, it's possible in multiple other ways, but I just like having a well-designed GUI app do it for me. Just how TablePlus does for Database Management.
MSSQL/SSMS supports this with some fancy techniques.
> This wizard was created to improve the current import experience leveraging an intelligent framework known as Program Synthesis using Examples (PROSE). For a user without specialized domain knowledge, importing data can often be a complex, error prone, and tedious task. This wizard streamlines the import process as simple as selecting an input file and unique table name, and the PROSE framework handles the rest.
> PROSE analyzes data patterns in your input file to infer column names, types, delimiters, and more. This framework learns the structure of the file and does all of the hard work so users don't have to.
https://learn.microsoft.com/en-us/sql/relational-databases/i...
Powershell can query excel files in various ways and there's a module for native powershell excel work: https://www.powershellgallery.com/packages/ImportExcel/5.4.2
1 - https://github.com/turbot/steampipe
No comments yet
No comments yet
I suspect the vendor is going to regret that, further down the line.
Fairly common. JetBrains started that way too. Will they one day have a major version that's using a subscription model? Perhaps. But they will likely not regret this too much.
Where does it say that?
That is common and it is the model I use for my own software. But that isn't what I understood from their website.
Home page: "Pay Once, Use Forever. We hate needless subscriptions as much as you do. TextQuery comes with a perpetual license with free updates."
Pricing page: "Perpetual license Lifetime updates"
Which strongly implies every update is free, forever.
I hate the subscription model but I do recognize if they continously update the software, they'd like to get paid to do so.
Absolutely. Just make it clear.
So I guess I can see how not having to do the conversion for quick one-time analysis could be beneficial.
Anyone who knows SQL sees dozens of problems immediately. What enforces data integrity? How do we know the records are NF1? How do we perform a join, or test existential quantification, without table names? How do we know all supposed "dates" are valid dates, and not my uncles ex-wife’s maiden name? How does one reference XML attributes from SQL?
The answer produced by SQL are only as good as the data they’re drawn from. The quality and internal consistency of those data are enforced by the DBMS. No amount of pretty graphs and syntax highlighting changes that. The effective of SQL depends on the knowledge of the practitioner. No tool changes that, either.