Skip to content
Avatar

Highlights

  • Arctic Code Vault Contributor
alexmojaki/README.md

GitHub stats


love python I love Python, metaprogramming, and making programming easier.

My main project is futurecoder, a platform for self-learning Python for beginners. It depends on a lot of my other work on GitHub, most of which is mentioned below. I'm looking for contributors, partnerships, funding, and work in a similar space (see LinkedIn).

I'm an expert at extracting obscure but useful information from Python:

🐛 Debuggers:
⚠️ Tracebacks:
  • stack_data extracts data from stack frames and tracebacks, particularly to display more useful tracebacks than the default.

  • I used stack_data to overhaul tracebacks in IPython, adding several fixes and enhancements. In particular stack_data uses executing (see Magic section) to highlight the precise operation which failed:

    ipython traceback with highlighted operation demo
  • stack_data is also used to show excellent beginner-friendly tracebacks in futurecoder:

    futurecoder traceback
  • I added an integration for the Sentry Python client to provide more information in tracebacks in error reports. It uses my library pure_eval, which evaluates simple expressions such as attributes while guaranteeing that no potentially problematic code is executed. pure_eval is also used by stack_data.

Magic:
  • 68 stars executing can find the exact operation being executed by a frame. This is the only library that allows doing this reliably as it is a very hard problem. Many others have tried and failed.
  • I used executing to overhaul 2.3k stars gruns/icecream and 81 stars pwwang/python-varname, fixing several issues in the process. Both authors made me collaborators, and I've provided plenty of help since.
  • 285 stars sorcery uses executing to provide several surprising magical functions.
java aws ruby kotlin android Other:
  • I use 86 stars gristlabs/asttokens in all the projects mentioned above! I've made many significant contributions to it.

  • 104 stars instant_api is more metaprogramming, but based on type hints. It lets you instantly create a Flask API with automatic type conversions, JSON RPC, and a Swagger UI. No other library makes this so convenient. Inspired by FastAPI.

  • 149 stars s3-stream-upload lets you efficiently stream large amounts of data to AWS S3 in Java.

  • SunHours is a SketchUp plugin written in Ruby used by architects around the world to analyse and visualise how much sunlight hits a surface. (repo)

    SunHours screenshot
  • Quiggles is an Android app written in Kotlin that lets anyone draw beautiful animated patterns with ease. play Watch a quick demo (1:31). (repo)

    Quiggles demo 1 Quiggles demo 2 Quiggles demo 3

(Click title text [not icons] to expand)


profile for Alex Hall at Stack Overflow, Q&A for professional and enthusiast programmers

linkedin email opencollective

(Most logos from icons8, see full credits here)

Pinned

  1. A platform for beginners to learn programming in Python

    Python 364 25

  2. Graphical Python debugger which lets you easily view the values of all evaluated expressions

    JavaScript 1.4k 70

  3. Simple real time visualisation of the execution of a Python program.

    Python 1.2k 108

  4. A powerful set of Python debugging tools, based on PySnooper

    Python 481 19

  5. Instantly create an HTTP API with automatic type conversions, JSON RPC, and a Swagger UI. Just add methods!

    Python 105 4

  6. Manages streaming of data to AWS S3 without knowing the size beforehand and without keeping it all in memory or writing to disk.

    Java 154 44

1,927 contributions in the last year

Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Mon Wed Fri

Contribution activity

March 2021

Created 1 repository

Created a pull request in alexmojaki/outdated that received 1 comment

Use setup.cfg

Fixes #8

+80 −43 1 comment
Opened 8 other pull requests in 8 repositories
gruns/icecream
1 open
alexmojaki/ts-interface-checker
1 open
gristlabs/ts-interface-checker
1 open
alexmojaki/pure_eval
1 merged
alexmojaki/futurecoder
1 closed
alexmojaki/birdseye
1 merged
alexmojaki/snoop
1 merged
alexmojaki/alexmojaki
1 merged
Reviewed 3 pull requests in 3 repositories
gristlabs/ts-interface-checker 1 pull request
alexmojaki/snoop 1 pull request
alexmojaki/futurecoder 1 pull request

Created an issue in gristlabs/ts-interface-checker that received 2 comments

strictCheck fails when using a parent interface to check a child object

Extending the test it should handle enum-based discriminated unions a bit: const circle = {kind: enumUnion.ShapeKind.Circle, radius: 0.5}; Circle.c…

2 comments
Started 1 discussion in 1 repository
aroberge/friendly
72 contributions in private repositories Mar 2 – Mar 30

Seeing something unexpected? Take a look at the GitHub profile guide.