Pyccel

Latest version: v1.12.1

Safety actively analyzes 688705 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

1.9.2

Added

- 1476 : Add C support for a class containing `Interfaces`.
- 1472 : Add C printing support for a class containing scalar data.
- 1492 : Types of arguments for class methods can be declared like function arguments.
- 1511 : Add support for the `cmath` library.
- Output readable header syntax errors.
- New environment variable `PYCCEL_DEFAULT_COMPILER`.
- 1508 : Add C support for a class destructor.
- 1508 : Add support for array data in classes.

Fixed

- 1484 : Use scope for classes to avoid name clashes.
- Stop raising warning for unrecognised functions imported via intermediate modules.
- 1156 : Raise a neat error for unhandled inhomogeneous tuple expressions.
- Set status of header variables to 'unallocated'.
- 1508 : Generate deallocations for classes and their attributes.

Changed

- 1484 : Improve handling of `DottedName` in `_assign_lhs_variable`.
- \[INTERNALS\] Move handling of variable headers to semantic stage.
- \[INTERNALS\] Moved handling of type annotations to the semantic stage.
- \[INTERNALS\] Remove unnecessary body argument from `FunctionAddress`.

Deprecated

- 1513 : Stop printing `types` decorators in generated Python code.
- Remove support for undocumented type syntax specifying precision (e.g. `int*8`).
- No longer possible to combine header annotations and argument type annotations.
- Remove support for specifying header annotations in a separate file.
- \[INTERNALS\] Remove `dtype_registry` in favour of `dtype_and_precision_registry`.
- \[INTERNALS\] Prefer `DataType` keys over string keys which describe data types.

1.9.1

Added

- 1497 : Add support for NumPy `copy` method: `a.copy`.
- 1497 : Add support for NumPy function `copy`.

Fixed

- 1499 : Fix passing temporary arrays to functions.
- 1241 : Missing transpose when converting from a C-ordered array to F-ordered array.
- 1241 : Incorrect transpose when copying an F-ordered array.
- 1241 : Fix infinite loop when passing an array as the only argument to `np.array`.
- 1506 : Increment `Py_None` reference count to avoid unexpected deallocation.

1.9.0

Added

- 752 : Allow passing array variables to `numpy.array`.
- 1280 : Allow copying arrays using `numpy.array`.
- Allow interfaces in classes.
- Add Python support for a simple class.
- 1430 : Add conjugate support to booleans.
- 1452 : Add C printing support for a class containing only functions.
- 1260 : Add support for NumPy `dtype` property: `a.dtype`.
- 1260 : Add support for NumPy `result_type` function.

Fixed

- 682 : Wrong data layout when copying a slice of an array.
- 1453 : Fix error-level developer mode output.
- \[INTERNALS\] Fix string base class selection.
- 1496 : Fix interfaces which differ only by order or rank.

Changed

- 1455 : Make `ConstructorCall` inherit from `FunctionCall`.
- Updating `stdlib` files if they are modified not just accessed.
- `pyccel_clean` tool now deletes folders **starting with** `__pyccel__` and `__epyccel__`.
- Pyccel-generated folder names are dependent on `PYTEST_XDIST_WORKER` when running with `pytest-xdist`.
- \[INTERNALS\] Add class object to class function call arguments.
- \[INTERNALS\] In `ast.numpyext` rename `Shape` as `NumpyShape`, `NumpyArraySize` as `NumpySize`
- \[INTERNALS\] In `ast.internals` rename `PyccelArraySize` as `PyccelArraySizeElement`, create new `PyccelArraySize` w/out `index` argument
- \[INTERNALS\] Make `NumpySize` a factory class (which cannot be instantiated)
- \[INTERNALS\] Re-write C-Python API wrapping stage (1477)

Deprecated

- Using a `types` decorator will raise a `FutureWarning` as this will be deprecated in a future version.
- Using a type specification header will raise a `FutureWarning` as this will be deprecated in a future version.
- Stop generating `numpy.bool` (deprecated from NumPy) in code.
- \[INTERNALS\] Removed `obsolete` folder.
- \[INTERNALS\] Removed out of date `samples` folder.
- \[INTERNALS\] Removed out of date `doc` folder.
- \[INTERNALS\] Removed `benchmarks` folder. Code is still available in benchmark repository.
- \[INTERNALS\] Removed `bugs` folder.
- \[INTERNALS\] Removed `inprogress` folder.
- \[INTERNALS\] Remove old Travis configuration file.

1.8.1

Not secure
Added

- 1430 : Added conjugate support to integers and floats.

Fixed

- 1427 : Fix augmented assignment with a literal right hand side in templated code.

1.8.0

Not secure
Added
- 1400 : Added flags to Pyccel for managing conda PATH warnings.

Fixed

- 1404 : Bug preventing printing of some functions in a `print()` call.
- 1302 : Raise error message in case of empty class.
- 1407 : Raise an error if file name matches a Python built-in module.
- 929 : Allow optional variables when compiling with Intel or NVIDIA.
- 1117 : Allow non-contiguous arrays to be passed to Fortran code.
- 1415 : Fix incorrect handling of assignments augmented by function calls.
- 1418 : Fix `itertools.product` implementation.

Changed

- 1355 : Remove unused `BasicParser` arguments.
- \[INTERNALS\] Re-write bind-c wrapping stage (1388)

1.7.4

Not secure
Added

- 1352 : Added a change log.

Fixed

- 1367 : Use an absolute path to link to Python library.
- 1379 : Ensure temporary arrays created for function calls are correctly declared in loops.

Changed

- Default to linking Python dynamically instead of statically
- Ensure only absolute paths are used in compilation command.
- \[INTERNALS\] Use `FunctionDefArgument` to store all argument specific properties.
- \[INTERNALS\] Reduce carbon footprint by avoiding unnecessary CI testing.
- \[INTERNALS\] Automatise PR labelling and review progress prompts.
- \[INTERNALS\] Enforce the use of `FunctionDefArgument` in `FunctionDef`.
- \[INTERNALS\] Use `FunctionDefResult` to store all result specific properties.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.