See also the unreleased changes.
0.7.3 (2024-12-02)
- Support Python 3.10 to 3.13 with beniget~=0.4.2 and gast~=0.6.0 (like Pythran 0.17)
0.7.2 (2024-08-26)
- Metadata stored in functions to avoid issues with Pythran on Windows
0.7.1 (2024-07-24)
- Support Numpy 2, Cython 3 and Python 3.12
0.7.0 (2024-06-06)
- Add a backend for JAX ({mod}
transonic.backends.jax
).
0.6.4 (2024-03-29)
- The
__transonic__
attribute is now astr
(should avoid pythran/issues/2190).
0.6.3 (2024-02-20)
- New helper commands
transonic-init-meson
andtransonic-clean-dir
.
0.6.2 (2024-02-15)
- Fix the detection of extensions for editable installations with Meson
0.6.1 (2024-02-03)
- Add
transonic-get-include
command for Meson builds. - Use
PYTHRANRC=''
for Meson - Fix
__version__
0.6.0 (2024-01-16)
- Support for Meson build
through
transonic --meson
and multi-backends - Support for Python 3.12
0.5.3 (2023-08-21)
- !110 Quick fix autopep8 bug + fix CI (py3.9)
0.5.2 (2022-01-04)
- Better error if Pythran is not importable.
0.5.1 (2022-09-16)
- Fix 2 bugs (
runpath
withpathlib.Path
and detection IPython)
0.5.0 (2022-02-04)
- New environment variable
TRANSONIC_MPI_TIMEOUT
- Internal: faster import of modules using Transonic (using
sys._getframe
) (!102)
0.4.12 (2021-12-14)
- Fix bug notebooks
- Fix bug Python 3.9
ast._Unparser
- Towards Python 3.10 support by using Gast 0.5.0 and Beniget 0.4.0
- Avoid new Gast and Beniget versions by pinning to the previous versions (0.4.0 and 0.3.0). No Python 3.10 support!
- Python 3.9 support by using
ast._Unparser
instead ofastunparse
- Numba backend: using by default
@njit(cache=True, fastmath=True)
- Better logging with rich
- Support Pythran code using the omp module provided by Pythran
- Using rich if available
- Quick fix incompatibility between pip/pep517 and colorlog
- Compatibility gast 0.4.0 (related to Python 3.9)
- Various bugfixes
- Improve usability (warnings, exceptions, API for benchmarks, ...)
- Python 3.8 support (with gast>=0.3.0 and beniget>=0.2.0)
const
function (for the C/Cython keyword)
- Cython backend: less bugs, better support for fused types, nonecheck, cdivision, ...
- Fix default parameters for Pythran
-
An API to describe types (big refactoring)
- memoryviews for Cython
- memory layout for arrays (C, Fortran, C_or_F and strided)
-
More than one backend in one process + API to select the backend for modules and functions
- Keywords for the boost decorator: inline, boundscheck and wraparound
- Improvements & bugfixes of Cython and Numba backends
- Much better Cython backend
- Python and Numba backend
(Pierre Blanc-fatin intership)
- Refactoring with backend classes
- Cython backend (alpha version)
- Support source in multiple files (#14 and #21)
- Fix issues #8 (Recursion for boosted method), #17 (Bad formating for Pythran error), #18 (Improve logging jit), #19 (Change default arguments of jit decorator) and #20 (No Pythran signature generated for boosted functions without arguments)!
- The command transonic now blocks until the end of a AOT compilation
- Fix issue #13 (
jit(func)
andboost(func)
, by Pierre Blanc-fatin)
- Bugfix
and
andor
(gast)! - Fix issue #15 (selection code annotations, by Pierre Blanc-fatin)
- Bugfixes: specifying gast version (>= 0.2.2) + path_data_tests
- No need for {code}
include
and {code}## transonic import ...
- No import of the modules at compiled time (ast analyses with Beniget)!
- Bugfixes for Windows
- Depreciate
make_signature
(won't be available in 0.2.0)
- Bugfix: @jit methods with ## transonic import.
- Less verbose compilations (
pythran -v
obtained withtransonic -vv
) - Bugfixes: Pythran "or" syntax for JIT and timeout with MPI
- Bugfix release with a more thoroughly tested {code}
ParallelBuildExt
. - Pythonic
fspath
.
- Common setup functions such as {code}
get_logger
, {code}ParallelBuildExt
and {code}init_pythran_extensions
in {code}transonic.dist
.
- Environment variable {code}
TRANSONIC_NO_REPLACE
- Bugfix: keep OMP comments!
- Better logging and commandline (no compilation if the extension is up-to-date)
- {code}
jit
for simple methods (without assignation to attributes and call of other methods) - {code}
Union
for annotations - {code}
include
decorator
- {code}
boost
decorator for functions, simple methods (without assignation to attributes and call of other methods) and classes - Bugfixes
- {code}
TRANSONIC_DIR
- Lock file during Pythran compilation
- {code}
__name__
and {code}__doc__
preserved by decorators
- Private command line {code}
_pythran-fluid
to call Pythran - MPI aware (only process rank == 0 doing IO and compilation)
- Fix bug C-style
[][]
- {code}
Array[float, "2d"]
supported - {code}
NDim(0)
supported - Function {code}
set_compile_jit()
to disable compilation of jit functions
- {code}
wait_for_all_extensions
- Bug fixes
- {code}
mocked_modules
argument for functions making AOT Pythran files
- Compatibility PyPy3.5
- Fix bug script importing local script
- Command line option "clear-cache"
- {code}
TRANSONIC_COMPILE_AT_IMPORT
mode for ahead-of-time and just-in-time compilation (works also in IPython) - By default, the fluidpythran commandline uses Pythran
- Fix jit when calling with new types
- {code}
jit
in IPython / Jupyter
- {code}
jit
decorator (supports also type hints)
- Type annotations to define Pythran functions and blocks
- Add a dist package