Skip to content
View erezsh's full-sized avatar

Organizations

@lark-parser

Block or report erezsh

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
erezsh/README.md

πŸ‘‹ Welcome to my Github profile.

My name is Erez. I started programming at a very young age. I began with QBasic, which was wonderful for making geometric patterns, and simple games. I then moved on to C and Assembly, which opened up many new options. I began to find beauty in optimization. I was then introduced to Python, which ended up as my main language to this day. Its flexibility and careful design made it especially pleasant and productive to work in. I started exploring more academic topics, such as parsing, static analysis, and compilation, which are topics that still interest me, many years after. I also explored many other topics, such as games, databases, web-development, and machine-learning.

As time went on, I shared a lot of code online. At first on sourceforge, then google-code, and finally here on github. Not all of it was worth reading, or even using. But when I shared code, it was always with the intention of contributing something new and special to the world - something that otherwise wouldn't exist.

I'm especially proud of these projects:

  • Lark is an innovative parsing toolkit, that's grown to be the most popular parser in the Python ecosystem. When I started it in 2017, I asked to myself, what would my ideal parser look like? That led to several unique design choices, that focused on ergonomics, performance and modularity. But what really made Lark a success, was the fantastic community that grew around it, and their many contributions.
  • Reladiff is a tool for high-performance diffing of large datasets across databases. The problem statement is deceptively simple, but the solution is nothing but. Reladiff employs many little database and algorithmic tricks, that all combine to provide unparalleled performance for diffing tables in relational databases. Originally created for Datafold (under the name data-diff), I’m grateful for all the contributions from my colleagues there.
  • Runtype is a collection of run-time type utilities, including validation and multiple dispatch. It is so useful, I end up importing it in nearly every project I work on.

Other interesting projects:

  • Preql is an ambitious new programming language that compiles to SQL. It aims to bridge the gap between modern programming and databases (inactive, but I plan to resume working on it some day!)
  • Sqeleton is a Python library for efficiently interacting and querying SQL databases. It is still incomplete, but I believe it could one day become a great alternative to SQLAlchemy. (except Sqeleton is not an ORM). It is already used by Reladiff.
  • PyBW - Python bindings for programming Starcraft:Broodwar playing agents. I created it in 2009 using SWIG. (The link is to a fork, because the original google-code repo no longer exists.)

πŸ‘©β€πŸ’» My stack is Python for everything, and Svelte+Typescript for webdev. I also like Rust & Julia.

🌎 I live the digital nomad lifestyle, often spending time in Amsterdam.

πŸ‘… I speak Hebrew, English and un poquito de Spanish.

πŸ’žοΈ I’m always happy to collaborate. If you have a cool project in mind, or want to help with one of mine, I would like to hear about it. I'm especially interested in programming languages, the semantic-web, machine learning, static analysis, and recommendation systems.

πŸ‘·β€β™‚οΈ I am a freelancer, and may be available for hire for cool and interesting projects, either open-source and proprietry.

πŸ”— Would you like to know more? Visit my website.

Pinned Loading

  1. lark-parser/lark lark-parser/lark Public

    Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

    Python 5k 420

  2. datafold/data-diff datafold/data-diff Public archive

    Compare tables within or across databases

    Python 3k 271

  3. Preql Preql Public

    An interpreted relational query language that compiles to SQL.

    Python 617 13

  4. runtype runtype Public

    Utilities for run-time type validation and multiple dispatch

    Python 162 2

  5. plyplus plyplus Public

    a friendly yet powerful LR-parser written in Python

    Python 267 56

  6. lark-parser/ide lark-parser/ide Public

    IDE for Lark-Parser

    Svelte 27 6