memoize
usernado
Our great sponsors
memoize | usernado | |
---|---|---|
1 | 2 | |
63 | 5 | |
- | - | |
2.6 | 0.0 | |
2 months ago | over 1 year ago | |
Python | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
memoize
-
Good and Bad Elixir
I totally agree, though I think those articles are a lot harder (eg requiring more skill) to write well because you need to quickly ramp your readers on all of whatever the context is that's necessary to actually appreciate the nuance of the design decisions under discussion. You're basically by definitely going to be out of the realm of "just follow best practice X" or "apply pattern Y or you're doing it wrong."
As a small example, I've been working on a small asyncio-based web service (Python) which is oriented around an expensive process that generates a result, where the result is stashed in sqlite and returned. I knew upfront that I needed a way to track when a particular result was already being prepared so that if I got a second request for it, it would collapse it into the first one and only do the work once. I wrote this as a twenty line memoizing decorator, but it turns out this issue as a nameβ cache stampeding. Once I realized that, I discovered that there are existing (and much more complicated/tunable) solutions to this problem, such as https://github.com/DreamLab/memoize/, but the article pitching that solution spends quite a bit of time getting to itβ enough so that if I'd discovered it before building my own, I'm not sure I would even have appreciated its applicability:
https://tech.ringieraxelspringer.com/blog/open-source/cachin...
usernado
-
I've created a extension for the Tornado that makes working with the library easier and code development faster.
Github: https://github.com/reganto/Usernado
-
I've created a extension for the Tornado framework that makes working with the framework easier and code development faster.
The extension is located in the PyPi and you can easily install and use it. But the documentation and doc strings are not complete. This can be a good starting point if you want to participate in open source.
What are some alternatives?
httpx-cache - Simple caching transport for httpx
webssh - :seedling: Web based ssh client
Tornado-SQLAlchemy - SQLAlchemy support for Tornado
pottery - Redis for humans. πππ
turbo - A framework based on tornado for easier development, scaling up and maintenance
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
cacheme - Asyncio cache framework for Python