Skip to content
Avatar

Organizations

@oughtinc
Block or Report

Block or report alexmojaki

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.

Add an optional note:
Please don't include any personal information such as legal names or email addresses. Maximum 100 characters. 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
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 and partnerships.

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. futurecoder Public

    100% free and interactive Python course for beginners

    Python 1k 88

  2. birdseye Public

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

    JavaScript 1.5k 76

  3. heartrate Public

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

    Python 1.6k 123

  4. snoop Public

    A powerful set of Python debugging tools, based on PySnooper

    Python 890 30

  5. instant_api Public

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

    Python 124 5

  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 187 55

2,038 contributions in the last year

We're celebrating 100 million developers!
28 contributions on January 30, 2022 No contributions on January 31, 2022 3 contributions on February 1, 2022 No contributions on February 2, 2022 7 contributions on February 3, 2022 9 contributions on February 4, 2022 4 contributions on February 5, 2022 25 contributions on February 6, 2022 6 contributions on February 7, 2022 6 contributions on February 8, 2022 No contributions on February 9, 2022 7 contributions on February 10, 2022 3 contributions on February 11, 2022 12 contributions on February 12, 2022 6 contributions on February 13, 2022 14 contributions on February 14, 2022 No contributions on February 15, 2022 19 contributions on February 16, 2022 1 contribution on February 17, 2022 1 contribution on February 18, 2022 21 contributions on February 19, 2022 6 contributions on February 20, 2022 13 contributions on February 21, 2022 3 contributions on February 22, 2022 8 contributions on February 23, 2022 No contributions on February 24, 2022 4 contributions on February 25, 2022 21 contributions on February 26, 2022 9 contributions on February 27, 2022 3 contributions on February 28, 2022 6 contributions on March 1, 2022 No contributions on March 2, 2022 6 contributions on March 3, 2022 3 contributions on March 4, 2022 5 contributions on March 5, 2022 13 contributions on March 6, 2022 3 contributions on March 7, 2022 3 contributions on March 8, 2022 14 contributions on March 9, 2022 3 contributions on March 10, 2022 No contributions on March 11, 2022 11 contributions on March 12, 2022 No contributions on March 13, 2022 3 contributions on March 14, 2022 3 contributions on March 15, 2022 No contributions on March 16, 2022 2 contributions on March 17, 2022 4 contributions on March 18, 2022 6 contributions on March 19, 2022 34 contributions on March 20, 2022 3 contributions on March 21, 2022 3 contributions on March 22, 2022 5 contributions on March 23, 2022 7 contributions on March 24, 2022 3 contributions on March 25, 2022 1 contribution on March 26, 2022 1 contribution on March 27, 2022 1 contribution on March 28, 2022 No contributions on March 29, 2022 14 contributions on March 30, 2022 5 contributions on March 31, 2022 12 contributions on April 1, 2022 No contributions on April 2, 2022 No contributions on April 3, 2022 10 contributions on April 4, 2022 4 contributions on April 5, 2022 9 contributions on April 6, 2022 6 contributions on April 7, 2022 No contributions on April 8, 2022 2 contributions on April 9, 2022 5 contributions on April 10, 2022 1 contribution on April 11, 2022 4 contributions on April 12, 2022 4 contributions on April 13, 2022 4 contributions on April 14, 2022 No contributions on April 15, 2022 No contributions on April 16, 2022 22 contributions on April 17, 2022 21 contributions on April 18, 2022 3 contributions on April 19, 2022 4 contributions on April 20, 2022 No contributions on April 21, 2022 9 contributions on April 22, 2022 19 contributions on April 23, 2022 10 contributions on April 24, 2022 3 contributions on April 25, 2022 No contributions on April 26, 2022 2 contributions on April 27, 2022 3 contributions on April 28, 2022 1 contribution on April 29, 2022 10 contributions on April 30, 2022 No contributions on May 1, 2022 1 contribution on May 2, 2022 No contributions on May 3, 2022 1 contribution on May 4, 2022 2 contributions on May 5, 2022 3 contributions on May 6, 2022 7 contributions on May 7, 2022 5 contributions on May 8, 2022 4 contributions on May 9, 2022 1 contribution on May 10, 2022 16 contributions on May 11, 2022 5 contributions on May 12, 2022 No contributions on May 13, 2022 3 contributions on May 14, 2022 2 contributions on May 15, 2022 3 contributions on May 16, 2022 3 contributions on May 17, 2022 8 contributions on May 18, 2022 No contributions on May 19, 2022 3 contributions on May 20, 2022 3 contributions on May 21, 2022 No contributions on May 22, 2022 9 contributions on May 23, 2022 No contributions on May 24, 2022 1 contribution on May 25, 2022 2 contributions on May 26, 2022 8 contributions on May 27, 2022 No contributions on May 28, 2022 No contributions on May 29, 2022 No contributions on May 30, 2022 No contributions on May 31, 2022 1 contribution on June 1, 2022 4 contributions on June 2, 2022 4 contributions on June 3, 2022 11 contributions on June 4, 2022 4 contributions on June 5, 2022 No contributions on June 6, 2022 6 contributions on June 7, 2022 No contributions on June 8, 2022 No contributions on June 9, 2022 3 contributions on June 10, 2022 2 contributions on June 11, 2022 14 contributions on June 12, 2022 5 contributions on June 13, 2022 3 contributions on June 14, 2022 16 contributions on June 15, 2022 3 contributions on June 16, 2022 6 contributions on June 17, 2022 3 contributions on June 18, 2022 12 contributions on June 19, 2022 8 contributions on June 20, 2022 1 contribution on June 21, 2022 4 contributions on June 22, 2022 No contributions on June 23, 2022 No contributions on June 24, 2022 4 contributions on June 25, 2022 15 contributions on June 26, 2022 1 contribution on June 27, 2022 No contributions on June 28, 2022 3 contributions on June 29, 2022 No contributions on June 30, 2022 No contributions on July 1, 2022 7 contributions on July 2, 2022 2 contributions on July 3, 2022 6 contributions on July 4, 2022 2 contributions on July 5, 2022 6 contributions on July 6, 2022 7 contributions on July 7, 2022 No contributions on July 8, 2022 No contributions on July 9, 2022 No contributions on July 10, 2022 9 contributions on July 11, 2022 4 contributions on July 12, 2022 No contributions on July 13, 2022 3 contributions on July 14, 2022 3 contributions on July 15, 2022 2 contributions on July 16, 2022 5 contributions on July 17, 2022 10 contributions on July 18, 2022 No contributions on July 19, 2022 4 contributions on July 20, 2022 7 contributions on July 21, 2022 7 contributions on July 22, 2022 3 contributions on July 23, 2022 1 contribution on July 24, 2022 1 contribution on July 25, 2022 10 contributions on July 26, 2022 No contributions on July 27, 2022 No contributions on July 28, 2022 1 contribution on July 29, 2022 4 contributions on July 30, 2022 1 contribution on July 31, 2022 9 contributions on August 1, 2022 5 contributions on August 2, 2022 14 contributions on August 3, 2022 7 contributions on August 4, 2022 No contributions on August 5, 2022 No contributions on August 6, 2022 No contributions on August 7, 2022 10 contributions on August 8, 2022 1 contribution on August 9, 2022 5 contributions on August 10, 2022 6 contributions on August 11, 2022 3 contributions on August 12, 2022 19 contributions on August 13, 2022 7 contributions on August 14, 2022 1 contribution on August 15, 2022 3 contributions on August 16, 2022 31 contributions on August 17, 2022 2 contributions on August 18, 2022 18 contributions on August 19, 2022 12 contributions on August 20, 2022 3 contributions on August 21, 2022 2 contributions on August 22, 2022 4 contributions on August 23, 2022 No contributions on August 24, 2022 3 contributions on August 25, 2022 8 contributions on August 26, 2022 15 contributions on August 27, 2022 14 contributions on August 28, 2022 2 contributions on August 29, 2022 3 contributions on August 30, 2022 14 contributions on August 31, 2022 No contributions on September 1, 2022 3 contributions on September 2, 2022 5 contributions on September 3, 2022 3 contributions on September 4, 2022 14 contributions on September 5, 2022 1 contribution on September 6, 2022 8 contributions on September 7, 2022 No contributions on September 8, 2022 8 contributions on September 9, 2022 17 contributions on September 10, 2022 2 contributions on September 11, 2022 No contributions on September 12, 2022 No contributions on September 13, 2022 2 contributions on September 14, 2022 No contributions on September 15, 2022 No contributions on September 16, 2022 No contributions on September 17, 2022 No contributions on September 18, 2022 4 contributions on September 19, 2022 23 contributions on September 20, 2022 4 contributions on September 21, 2022 8 contributions on September 22, 2022 4 contributions on September 23, 2022 No contributions on September 24, 2022 32 contributions on September 25, 2022 7 contributions on September 26, 2022 No contributions on September 27, 2022 15 contributions on September 28, 2022 No contributions on September 29, 2022 1 contribution on September 30, 2022 18 contributions on October 1, 2022 19 contributions on October 2, 2022 No contributions on October 3, 2022 7 contributions on October 4, 2022 3 contributions on October 5, 2022 No contributions on October 6, 2022 No contributions on October 7, 2022 14 contributions on October 8, 2022 14 contributions on October 9, 2022 7 contributions on October 10, 2022 2 contributions on October 11, 2022 13 contributions on October 12, 2022 No contributions on October 13, 2022 No contributions on October 14, 2022 19 contributions on October 15, 2022 5 contributions on October 16, 2022 1 contribution on October 17, 2022 3 contributions on October 18, 2022 5 contributions on October 19, 2022 3 contributions on October 20, 2022 No contributions on October 21, 2022 4 contributions on October 22, 2022 10 contributions on October 23, 2022 6 contributions on October 24, 2022 3 contributions on October 25, 2022 1 contribution on October 26, 2022 4 contributions on October 27, 2022 1 contribution on October 28, 2022 18 contributions on October 29, 2022 6 contributions on October 30, 2022 2 contributions on October 31, 2022 3 contributions on November 1, 2022 No contributions on November 2, 2022 3 contributions on November 3, 2022 2 contributions on November 4, 2022 12 contributions on November 5, 2022 8 contributions on November 6, 2022 4 contributions on November 7, 2022 17 contributions on November 8, 2022 2 contributions on November 9, 2022 5 contributions on November 10, 2022 3 contributions on November 11, 2022 14 contributions on November 12, 2022 17 contributions on November 13, 2022 5 contributions on November 14, 2022 No contributions on November 15, 2022 1 contribution on November 16, 2022 3 contributions on November 17, 2022 8 contributions on November 18, 2022 No contributions on November 19, 2022 1 contribution on November 20, 2022 18 contributions on November 21, 2022 6 contributions on November 22, 2022 21 contributions on November 23, 2022 7 contributions on November 24, 2022 2 contributions on November 25, 2022 13 contributions on November 26, 2022 7 contributions on November 27, 2022 15 contributions on November 28, 2022 14 contributions on November 29, 2022 14 contributions on November 30, 2022 18 contributions on December 1, 2022 15 contributions on December 2, 2022 4 contributions on December 3, 2022 9 contributions on December 4, 2022 23 contributions on December 5, 2022 28 contributions on December 6, 2022 10 contributions on December 7, 2022 4 contributions on December 8, 2022 No contributions on December 9, 2022 No contributions on December 10, 2022 No contributions on December 11, 2022 No contributions on December 12, 2022 No contributions on December 13, 2022 7 contributions on December 14, 2022 27 contributions on December 15, 2022 7 contributions on December 16, 2022 No contributions on December 17, 2022 12 contributions on December 18, 2022 No contributions on December 19, 2022 9 contributions on December 20, 2022 12 contributions on December 21, 2022 11 contributions on December 22, 2022 8 contributions on December 23, 2022 9 contributions on December 24, 2022 No contributions on December 25, 2022 5 contributions on December 26, 2022 6 contributions on December 27, 2022 No contributions on December 28, 2022 No contributions on December 29, 2022 No contributions on December 30, 2022 2 contributions on December 31, 2022 1 contribution on January 1, 2023 5 contributions on January 2, 2023 11 contributions on January 3, 2023 3 contributions on January 4, 2023 11 contributions on January 5, 2023 3 contributions on January 6, 2023 11 contributions on January 7, 2023 No contributions on January 8, 2023 No contributions on January 9, 2023 8 contributions on January 10, 2023 4 contributions on January 11, 2023 10 contributions on January 12, 2023 9 contributions on January 13, 2023 1 contribution on January 14, 2023 No contributions on January 15, 2023 No contributions on January 16, 2023 1 contribution on January 17, 2023 8 contributions on January 18, 2023 No contributions on January 19, 2023 1 contribution on January 20, 2023 No contributions on January 21, 2023 No contributions on January 22, 2023 8 contributions on January 23, 2023 2 contributions on January 24, 2023 3 contributions on January 25, 2023 No contributions on January 26, 2023 No contributions on January 27, 2023 16 contributions on January 28, 2023 No contributions on January 29, 2023 No contributions on January 30, 2023 4 contributions on January 31, 2023 No contributions on February 1, 2023 No contributions on February 2, 2023 Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Mon Wed Fri

Contribution activity

February 2023

alexmojaki has no activity yet for this period.

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