cl-git
mergestat-lite
cl-git | mergestat-lite | |
---|---|---|
3 | 10 | |
27 | 3,434 | |
- | 0.5% | |
8.1 | 5.9 | |
7 months ago | 11 days ago | |
Common Lisp | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cl-git
-
DIY Git in Python
I implemented a read-only implementation of git here: https://github.com/fiddlerwoaroof/cl-git
Itโs nearly complete, I just have to finish a couple annoying edge cases around delta compression.
-
cl-git: a Common Lisp CFFI interface to the libgit2 library
I also wrote some parsers for git object formats thatโs mostly complete: fiddlerwoaroof/cl-git. Just need to finish implementing the delta encoding mechanism git uses.
-
Git as a NoSql Database
Tangentially I started a re-implementation of git in Common Lisp[1], and have completed parsers for most of the file formats except delta encoded objects.
Does anyone happen to know of an implementation or tests for delta encoding I could consult that is available under an MIT-like license? (BSD, Apache v2, etc.)
[1]: https://github.com/fiddlerwoaroof/cl-git
mergestat-lite
-
SQLite Doesn't Use Git
You can query git with this: https://github.com/mergestat/mergestat if you like the idea.
-
A SQLite extension for reading large files line-by-line
Hey, author here, happy to answer any questions! Also checkout this notebook for a deeper dive into sqlite-lines, along with a slick WASM demonstration and more thoughts on the codebase itself https://observablehq.com/@asg017/introducing-sqlite-lines
I really dig SQLite, and I believe SQLite extensions will push it to another level. I rarely reach for Pandas or other "traditional" tools and query languages, and instead opt for plain ol' SQLite and other extensions. As a shameless plug, I recently started a blog series on SQLite and related tools and extensions if you want to learn more! Next week I'll be publishing more SQLite extensions for parsing HTML + making HTTP requests https://observablehq.com/@asg017/a-new-sqlite-blog-series
A few other SQLite extensions:
- xlite, for reading Excel files, in Rust https://github.com/x2bool/xlite
- sqlean, several small SQLite extensions in C https://github.com/nalgeon/sqlean
- mergestat, several SQLite extensions for developers (mainly Github's API) in Go https://github.com/mergestat/mergestat
- Show HN: Contribution Graph as a Git Command
-
Exploring Git Repos With MergeStat ๐ฌ
mergestat is an open-source tool that allows users to run SQL queries on the contents and history of git repositories.
-
The world of PostgreSQL wire compatibility
Thanks for this write up! I've been really interested in postgres compatibility in the context of a tool I maintain (https://github.com/mergestat/mergestat) that uses SQLite. I've been looking for a way to expose the SQLite capabilities over a more commonly used wire-protocol like postgres (or mysql) so that existing BI and visualization tools can access the data.
This project is an interesting one: https://github.com/dolthub/go-mysql-server that provides a MySQL interface (wire and SQL) to arbitrary "backends" implemented in go.
It's really interesting how compatibility with existing protocols has become an important feature of new databases - there's so much existing tooling that already speaks postgres (or mysql), being able to leverage that is a huge advantage IMO
-
Go library for printing human readable, relative time differences ๐ฐ๏ธ
timediff is a Go package for printing human readable, relative time differences. Output is based on ranges defined in the Day.js JavaScript library, and can be customized if needed. It's currently used by the mergestat command-line interface.
- Askgit: Command-line tool for running SQL queries on Git repositories
-
Semantic Git Commit Messages
Assuming committers adhere to it, there could be some interesting use cases when combined with a tool like AskGit (https://github.com/askgitdev/askgit) for understanding what "categories" of work is being done in a codebase.
Maybe even what directories/files tend to see `fix` or `refactor` more frequently (signs of a poorly design or "hot" area?)
-
Git as a NoSql Database
I've been very curious to explore this type of use case with askgit (https://github.com/augmentable-dev/askgit) which was designed for running simple "slice and dice" queries and aggregations on git history (and change stats) for basic analytical purposes. I've been curious about how this could be applied to a small text+git based "db". Say, for a regular json or CSV dumps.
This also reminds me of Dolt: https://github.com/dolthub/dolt which I believe has been on HN a couple times
What are some alternatives?
dulwich - Pure-Python Git implementation
git-xargs - git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command.
time - A simplified approach to working with dates, times, and time zones.
crux - General purpose bitemporal database for SQL, Datalog & graph queries. Backed by @juxt [Moved to: https://github.com/xtdb/xtdb]
relaxo - Relaxo is a transactional document database built on top of git.
flan - A tasty tool that lets you save, load and share postgres snapshots with ease
git-api - Common Lisp library to access git repository
sqlite-plus - The ultimate set of SQLite extensions
cl-gists - Gists API Wrapper for Common Lisp
datasette-lite - Datasette running in your browser using WebAssembly and Pyodide
cl-git - a Common Lisp CFFI interface to the libgit2 library mirror https://sr.ht/~rsl/cl-git/
xlite - Query Excel spredsheets (.xlsx, .xls, .ods) using SQLite