Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexmojaki/alexmojaki
https://github.com/alexmojaki/alexmojaki
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/alexmojaki/alexmojaki
- Owner: alexmojaki
- Created: 2021-02-28T15:44:43.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-04T12:47:13.000Z (about 1 year ago)
- Last Synced: 2025-01-10T20:12:27.898Z (about 1 month ago)
- Size: 16.7 MB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
----
![]()
I love Python, metaprogramming, and making programming easier.
My main project is [**futurecoder**](https://futurecoder.io/), 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:
- [ `birdseye`](https://birdseye.readthedocs.io/en/latest/) is a unique and powerful debugger that lets you see the value of every individual expression:
*(Click thumbnails to expand them)*
- [ `snoop`](https://github.com/alexmojaki/snoop) is a simple convenient debugger that logs everything a function is doing:
It's based on [ `cool-RR/PySnooper`](https://github.com/cool-RR/PySnooper) for which [I made many major contributions](https://github.com/cool-RR/PySnooper/pulls?q=author%3Aalexmojaki+is%3Amerged) and am a collaborator.
- [ `heartrate`](https://github.com/alexmojaki/heartrate) visualises execution in real time:
⚠️ Tracebacks:
- [`stack_data`](https://github.com/alexmojaki/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**](https://github.com/ipython/ipython/pull/11886), adding several fixes and enhancements. In particular `stack_data` uses [`executing`](https://github.com/alexmojaki/executing) (see Magic section) to highlight the precise operation which failed:
- `stack_data` is also used to show excellent beginner-friendly tracebacks in [futurecoder](https://futurecoder.io/):
- I added an [integration for the **Sentry** Python client](https://docs.sentry.io/platforms/python/configuration/integrations/pure_eval/) to provide more information in tracebacks in error reports. It uses my library [`pure_eval`](https://github.com/alexmojaki/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:
- [ `executing`](https://github.com/alexmojaki/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 [ `gruns/icecream`](https://github.com/gruns/icecream/pull/33) and [ `pwwang/python-varname`](https://github.com/pwwang/python-varname/issues/3#issuecomment-616206560), fixing several issues in the process. Both authors made me collaborators, and I've provided plenty of help since.
- [ `sorcery`](https://github.com/alexmojaki/sorcery) uses `executing` to provide several surprising magical functions.
![]()
![]()
![]()
![]()
Other:
- I use [ `gristlabs/asttokens`](https://github.com/gristlabs/asttokens) in *all* the projects mentioned above! I've made [many significant contributions](https://github.com/gristlabs/asttokens/pulls?q=is%3Amerged+author%3Aalexmojaki) to it.
- [ `instant_api`](https://github.com/alexmojaki/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.
- [ `s3-stream-upload`](https://github.com/alexmojaki/s3-stream-upload) lets you efficiently stream large amounts of data to AWS S3 in Java.
- [SunHours](http://sunhoursplugin.com/) is a SketchUp plugin written in Ruby used by architects around the world to analyse and visualise how much sunlight hits a surface. ([repo](https://github.com/alexmojaki/sunhours))
- [Quiggles](https://play.google.com/store/apps/details?id=com.alexmojaki.quiggles) is an Android app written in Kotlin that lets anyone draw beautiful animated patterns with ease. [
Watch a quick demo (1:31)](https://www.youtube.com/embed/l4fGBsNi0IU?vq=hd1080). ([repo](https://github.com/alexmojaki/quiggles))
![]()
![]()
*(Click title text \[not icons\] to expand)*
----
*(Most logos from [icons8](https://icons8.com/), see full credits [here](https://github.com/alexmojaki/alexmojaki/tree/master/images))*