Releases: digikar99/py4cl2
Releases · digikar99/py4cl2
v2.9.3
v2.9.2
v2.9.1
v2.9.0
Breaking Change:
get-unique-symbol
is now also called for classes; this was necessary because certain python packages likemeep
have classes named both by camelCase as well as by snake_case, leading to name collisions.
Additions:
- Add
*pythonizers*
andwith-pythonizers
to control how lisp objects are converted to python. This is complementary to*lispifiers*
andwith-lispifiers
that control how python objects are converted to lisp. All of these are still declared to be experimental though. - Add
*print-python-object*
to decide if str representation of python objects is printed in the cases when handle is returned. - Add
print-python-traceback
as aconfig-var
to decide if the traceback is printed along with the python errors.
Fixes:
- Resolve "stream is private to process" issue on CCL (thanks to this stackoverflow thread!)
raw-pyeval
now provides araw-pyexec
restart as a potential way to "fix" syntax errors.
v2.8.0
Breaking Additions:
- Remove
*arrayfiers*
and*array-type*
: replace with*lispifiers*
andwith-lispifiers
; note about instability of these symbols has been added
Potentially non-breaking additions:
- Add
:cache
and:recompile-on-change
option todefpymodule
to allow non-cached versions as well as better handle cached versions (see #13 for an elaborate discussion) - Use
:py4cl2
package inload-config
instead of*package*
- Do away with some
asdf:load-system
warnings defpymodule
should now work correctly with*print-case*
bound to:downcase
v2.7.0
Breaking Fixes:
- Use a better method instead of kludges for importing arguments. Thanks to rpgoldman for pointing out! However, this at least breaks matplotlib.pyplot.
- No reports have been obtained for ABCL so far; so, support for ABCL has been dropped; instead developer time would be spent on ensuring things work on Windows; ABCL support will be added back in case someone reports an issue
Other Fixes and Additions:
- Locally enable UTF8 support for Windows
- Add
(setf pyslot-value)
py4cl2-tests: https://github.com/digikar99/py4cl2-tests/releases/tag/v2.7.0
v2.6.0
Possibly Breaking Change:
- Addition of
*internal-features*
and*warn-on-unavailable-feature-usage*
: the latter has a default value ofT
since I think signalling a warning is beneficial for new users. Old users simply need to set this tonil
.
Other fixes and improvements:
- Now signals
python-eof-but-alive
andpython-eof-and-dead
errors instead of the simple but mysteriouscl:end-of-file
. - Tests are separated into a separate repository to aid quicklisp
- Added
python-setattr
from bendudson/py4cl - Applied fix concerning scope of exec from bendudson/py4cl
- Except arrays, works without numpy
v2.5.0
Possibly breaking change:
- To be able to load
networkx
required argument symbols to be ensure-uniqued
Other fixes:
- surround
defpyfun
form with continue-ignoring-errors restart on non-ECL - fix control stack exhaustion due to recursive calls between
delete-freed-python-objects
andpyexec
v2.4.1
User-facing fixes:
- allow lispfication of
numpy.dtype('object')
- so multidimensional arrays with element-typet
should work again - should work on Windows (thanks to Jason Chandler for the follow-ups!); however, embedding-into-image is not yet possible; no support for process interrupts either; these are mentioned in the docs
- some hacky fixes to
with-python-output
to make it a bit more "robust" - it should now be okay for the pathname of the py4cl2 directory to contain "(", ")", "`"
v2.4.0
Breaking Changes
- Remove
"py4cl2+numcl"
system with the more general*arrayfiers*
and*array-type*
: symbolsuse-numcl-arrays
andwith-numcl-arrays
are removed. You should not face any problems with this if you are upgrading from v2.2.2 or before.
Possibly Breaking Changes/Fixes
vectors
of element-typet
will be converted to python lists; others will be converted to numpy- Preserve Array and Number Types: compulsorily requires numpy
- single-float maps to numpy.float32; double-float maps to python's usual float
- specialized arrays with support for type
((un)signed-byte XX)
where XX can be(08 16 32 64)
;single-float
,double-float
orbit
.
Non breaking Fixes
- Improve error reporting of
python-process-startup-error
- Fix #3 - maintain consistency in
pycall
,pymethod
andpyslot-value