klepto extends Python's lru_cache to utilize different keymaps and alternate
caching algorithms, such as lfu_cache and mru_cache. While caching is meant for
fast access to saved results, klepto also has archiving capabilities, for
longer-term storage. klepto uses a simple dictionary-sytle interface for all
caches and archives, and all caches can be applied to any Python function as a
decorator. Keymaps are algorithms for converting a function's input signature to
a unique dictionary, where the function's results are the dictionary value. Thus
for y = f(x), y will be stored in cache[x] (e.g. {x:y}).
klepto provides both standard and "safe" caching, where "safe" caches are slower
but can recover from hashing errors. klepto is intended to be used for
distributed and parallel computing, where several of the keymaps serialize the
stored objects. Caches and archives are intended to be read/write accessible
from different threads and processes. klepto enables a user to decorate a
function, save the results to a file or database archive, close the interpreter,
start a new session, and reload the function and it's cache.
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-klepto listed in the above command, you can pick from the names under the Packages section.
devel/py-setuptools: convert individual consumers to ${PY_SETUPTOOLS}
Currently a no-op, but in the future outputs the correct setuptools
port depending on whether USES_PYTHON=distutils is specified.
With hat: python
PR: 270510, 270358
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
devel/py-klepto: Add py-klepto 0.2.3
klepto extends Python's lru_cache to utilize different keymaps and alternate
caching algorithms, such as lfu_cache and mru_cache. While caching is meant for
fast access to saved results, klepto also has archiving capabilities, for
longer-term storage. klepto uses a simple dictionary-sytle interface for all
caches and archives, and all caches can be applied to any Python function as a
decorator. Keymaps are algorithms for converting a function's input signature to
a unique dictionary, where the function's results are the dictionary value. Thus
for y = f(x), y will be stored in cache[x] (e.g. {x:y}).
klepto provides both standard and "safe" caching, where "safe" caches are slower
but can recover from hashing errors. klepto is intended to be used for
distributed and parallel computing, where several of the keymaps serialize the
stored objects. Caches and archives are intended to be read/write accessible
from different threads and processes. klepto enables a user to decorate a
function, save the results to a file or database archive, close the interpreter,
start a new session, and reload the function and it's cache.