Giter VIP home page Giter VIP logo

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

asttokens's People

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.