[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10338":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},10338,"q","harelba\u002Fq","harelba","q - Run SQL directly on delimited files and multi-file sqlite databases","http:\u002F\u002Fharelba.github.io\u002Fq\u002F",null,"Python",10351,424,155,107,0,1,11,42.89,"GNU General Public License v3.0",false,"master",true,[25,26,27,28,29,30,5,31,32,33,34,35,36],"cli","command-line","command-line-tool","csv","database","python","qtextasdata","sql","sqlite","sqlite3","textasdata","tsv","2026-06-12 02:02:20","[![Build and Package](https:\u002F\u002Fgithub.com\u002Fharelba\u002Fq\u002Fworkflows\u002FBuildAndPackage\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Fharelba\u002Fq\u002Factions?query=branch%3Amaster)\n\n# q - Text as Data\nq's purpose is to bring SQL expressive power to the Linux command line and to provide easy access to text as actual data.\n\nq allows the following:\n\n* Performing SQL-like statements directly on tabular text data, auto-caching the data in order to accelerate additional querying on the same file. \n* Performing SQL statements directly on multi-file sqlite3 databases, without having to merge them or load them into memory\n\nThe following table shows the impact of using caching:\n\n|    Rows   | Columns | File Size | Query time without caching | Query time with caching | Speed Improvement |\n|:---------:|:-------:|:---------:|:--------------------------:|:-----------------------:|:-----------------:|\n| 5,000,000 |   100   |   4.8GB   |    4 minutes, 47 seconds   |       1.92 seconds      |        x149       |\n| 1,000,000 |   100   |   983MB   |        50.9 seconds        |      0.461 seconds      |        x110       |\n| 1,000,000 |    50   |   477MB   |        27.1 seconds        |      0.272 seconds      |        x99        |\n|  100,000  |   100   |    99MB   |         5.2 seconds        |      0.141 seconds      |        x36        |\n|  100,000  |    50   |    48MB   |         2.7 seconds        |      0.105 seconds      |        x25        |\n\nNotice that for the current version, caching is **not enabled** by default, since the caches take disk space. Use `-C readwrite` or `-C read` to enable it for a query, or add `caching_mode` to `.qrc` to set a new default.\n \nq's web site is [https:\u002F\u002Fharelba.github.io\u002Fq\u002F](https:\u002F\u002Fharelba.github.io\u002Fq\u002F) or [https:\u002F\u002Fq.textasdata.wiki](https:\u002F\u002Fq.textasdata.wiki) It contains everything you need to download and use q immediately.\n\n\n## Usage Examples\nq treats ordinary files as database tables, and supports all SQL constructs, such as `WHERE`, `GROUP BY`, `JOIN`s, etc. It supports automatic column name and type detection, and provides full support for multiple character encodings.\n\nHere are some example commands to get the idea:\n\n```bash\n$ q \"SELECT COUNT(*) FROM .\u002Fclicks_file.csv WHERE c3 > 32.3\"\n\n$ ps -ef | q -H \"SELECT UID, COUNT(*) cnt FROM - GROUP BY UID ORDER BY cnt DESC LIMIT 3\"\n\n$ q \"select count(*) from some_db.sqlite3:::albums a left join another_db.sqlite3:::tracks t on (a.album_id = t.album_id)\"\n```\n\nDetailed examples are in [here](https:\u002F\u002Fharelba.github.io\u002Fq\u002F#examples)\n\n## Installation.\n**New Major Version `3.1.6` is out with a lot of significant additions.**\n\nInstructions for all OSs are [here](https:\u002F\u002Fharelba.github.io\u002Fq\u002F#installation).\n\nThe previous version `2.0.19` Can still be downloaded from [here](https:\u002F\u002Fgithub.com\u002Fharelba\u002Fq\u002Freleases\u002Ftag\u002F2.0.19)  \n\n## Contact\nAny feedback\u002Fsuggestions\u002Fcomplaints regarding this tool would be much appreciated. Contributions are most welcome as well, of course.\n\nLinkedin: [Harel Ben Attia](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fharelba\u002F)\n\nTwitter [@harelba](https:\u002F\u002Ftwitter.com\u002Fharelba)\n\nEmail [harelba@gmail.com](mailto:harelba@gmail.com)\n\nq on twitter: [#qtextasdata](https:\u002F\u002Ftwitter.com\u002Fhashtag\u002Fqtextasdata?src=hashtag_click)\n\nPatreon: [harelba](https:\u002F\u002Fwww.patreon.com\u002Fharelba) - All the money received is donated to the [Center for the Prevention and Treatment of Domestic Violence](https:\u002F\u002Fwww.gov.il\u002Fhe\u002Fdepartments\u002Fbureaus\u002Fmolsa-almab-ramla) in my hometown - Ramla, Israel.\n\n\n","q 是一个允许用户直接在分隔文件和多文件 SQLite 数据库上运行 SQL 查询的命令行工具。其核心功能包括支持对文本数据执行类似 SQL 的语句，并自动缓存数据以加速后续查询；同时可以直接对多个 SQLite3 数据库进行操作，无需先将它们合并或加载到内存中。技术特点在于它能够自动检测列名和类型，并全面支持多种字符编码。q 适用于需要快速分析大量结构化文本数据或跨多个数据库执行复杂查询的场景，如日志分析、数据科学项目等。",2,"2026-06-11 03:27:53","top_topic"]