Giter Club home page Giter Club logo

astroid's Introduction

GitHub stats (refresh the page and it should load this time)


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 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)

astroid's People

Contributors

adimasci avatar awhetter avatar brycepg avatar ceridwen avatar cpennington avatar dashea avatar degustaf avatar dimp-gh avatar eevee avatar fernroot avatar flying-sheep avatar gurneyalex avatar hippo91 avatar hugovk avatar ioanatia avatar jcristau avatar living180 avatar lorenzph avatar lothiraldan avatar mariocj89 avatar nchauvat avatar nickdrozd avatar obsc avatar pcmanticore avatar rogalski avatar scop avatar sthenault avatar the-compiler avatar tmarek-google avatar torstenmarek avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.