This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(Dijkstra and plain A* are generally not included here as there are thousands of | |
implementations, though I've made an exception for rare Ruby and Crystal versions, | |
and for Thor, Mapzen's enhanced A*. ) | |
A* Ruby https://github.com/georgian-se/shortest-path | |
A* Crystal https://github.com/petoem/a-star.cr | |
A* (bidirectional with shortcuts) C++ https://github.com/valhalla/valhalla | |
NBA* JS https://github.com/anvaka/ngraph.path | |
NBA* Java https://github.com/coderodde/GraphSearchPal | |
NBA* Java https://github.com/coderodde/FunkyPathfinding |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
This is significantly derived from StackContext, Apache 2.0 license | |
''' | |
from tornado.stack_context import StackContextInconsistentError, _state | |
class ContextLocal(object): | |
''' | |
Implements a threadlocal-like mechanism that can be used to track data | |
across tornado asynchronous calls. This is very similar to (and based |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django.db.models.signals import post_init | |
def track_data(*fields): | |
""" | |
Tracks property changes on a model instance. | |
The changed list of properties is refreshed on model initialization | |
and save. | |
>>> @track_data('name') |