New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 1.12.0 #1858
Version 1.12.0 #1858
Conversation
Clarify that the call to `_print` is only necessary for a `PyccelAstNode`.
This is a small PR to mark the failing Intel test `test_numpy_isfinite`, which fails when passing `np.inf`. It seems likely that this could be due to a difference in how the Intel and GNU compilers handle infinity. Flagging this test as `xfail` will ensure that the other tests are still run so other errors can be detected.
The codegen stage contains lots of old code which sometimes refers to parameters which no longer exist. Here we clean up some of that code and remove commented dead code which refers to it. Specifically the functions `fcode`, `ccode` and `pycode` are removed as well as `Codegen.doprint` and `Codegen.set_printer`. An instance of `Codegen` must now be created with the language passed as argument.
Fixes #1641: - Add functions to support array copy between different data types. - Add tests covering all possible scenarios of data type conversion. - Add separate tests with source and destination arrays of non-matching sizes. - Add separate tests with Fortran ordering.
In the Windows installation, do not use the `sleep` command to wait for an executable to finish, as this leads to random crashes. Instead, use the proper Windows commands (taken from PR #1180) to wait for the execution.
According to the docstring of `docstr-coverage`, the flag `--docstr-ignore-file` is deprecated. A json config file should be used instead. This PR updates our methodology to use that flag
Apply some more Pylint fixes. Namely: - Fix fstring errors in pyccel.ast - Fix several unused-import errors Docstrings are also added to satisfy CI. Some deprecated code is removed: - `get_function_from_ast` which was unused
Fix assigning an array to a slice and add tests. Fixes #1218 This is achieved by fixing the indexing in the case where the variable on the left-hand side of the assignment has a higher rank than the variable on the right hand side. --------- Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Mac in particular is bad at handling warnings in pytest. #1762 introduced lots of warnings as it is testing casting between types. Such behaviour often raises warnings in NumPy. This PR deactivates those warnings for these specific tests thus speeding up the mac tests by ~x2 --------- Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Deprecated `lambdify` decorator. The decorator is removed from `pyccel/decorators.py` and the tests that use it are removed (`tests/symbolic/scripts/lambdas.py`, and `tests/symbolic/scripts/neural_net.py`) --------- Co-authored-by: EmilyBourne <louise.bourne@gmail.com>
Determine the location of the gfortran executable programatically. This fixes a CI failure on macOS caused by a change in HomeBrew's default installation directory. This solution should prevent a similar problem arising again in the future. Fixes #1856. **Additional changes** - Increase tolerance on symbolic tests to avoid failures. - Use isclose to compare floats instead of ==, which was causing failures in a single unit test. --------- Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Fix the translation of a file whose name conflicts with Fortran keywords by ensuring that the original name is correctly extracted from the scope. Fixes #1853. **Commit Summary** - Ensure Python name of module exists in the scope by adding it in the syntactic stage. - Don't use `AsName` for module name - Save the Python name of a module as the name of the `PyModule` - Ensure Python names are used for imports - Remove hacky `set_name` function. - Remove unused `assign_to` argument of `CodePrinter.doprint`. --------- Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Change the workflow configuration so the tests are also run on the `main` branch (in addition to `devel`). Further, make sure that the bot reporting is only run on `workflow_dispatch` events. This avoids the results being reported twice when the workflow is triggered by pushes.
- Update `actions/checkout` and `actions/setup-python` to remove Node.js version deprecation warnings - Add a `deploy` workflow which uses `ci_tools/wait_for_main_workflows.py` to wait until all the workflows for `main` have completed and succeeded and then updates the repo by: 1. Building the distribution 2. Shipping the distribution to PyPI 3. Adding a tag to the commit with the version - Allow the GitHub API tools to be used for get operations without authenticating as the bot - Correct the files included in the wheel to only include source files (fixes #1436)
Replace `master` with `devel`, and remove references to the old `tutorials` folder: - Update link to LICENSE in the header of every file - Update links in bot welcome message - Update links and text in documentation files - Update link in module docstring of pyccel/ast/omp.py - Update links in error messages --------- Co-authored-by: EmilyBourne <louise.bourne@gmail.com>
The comment bot is broken because the authentification test is slightly wrong. For several tests the authentification is carried out in a separate stage which adds `installation_token` to the environment as a variable. This PR fixes the logic so this value is collected if it is available Co-authored-by: Yaman Güçlü <yaman.guclu@gmail.com>
Add a `use_out` parameter to `pyccel.lambdify` to avoid unnecessary memory allocation. Auto-generate a docstring for functions generated via calls to `pyccel.lambdify`.
Correct a small issue in the wrapper documentation : From : ```python def _print_ClassName(self, stmt): ... return Y ``` To : ```python def _wrap_ClassName(self, stmt): ... return Y ``` Co-authored-by: mustapha-belbiad <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>
Add a `try/except` around internal Pyccel calls to catch all `PyccelError`s. This allows the shortest possible traceback to be shown to the user when the error is recognised, handled and reported by Pyccel. Fixes #1868.
Update the version in `version.py` to 1.12.0. Update the CHANGELOG to move the changes in #1858 to a new section for version 1.12.0.
Update the version in `version.py` to 1.12.0. Update the CHANGELOG to move the changes in #1858 to a new section for version 1.12.0.
/bot run linux macos windows |
/bot show tests |
There are unrecognised tests.
These tests can be run with the command |
The following is a list of keywords which can be used to run tests. Tests in bold are run by pull requests when they are marked as ready for review:
These tests can be run with the command |
/bot run anaconda_linux anaconda_windows intel pickle editable_pickle pickle_wheel |
/bot run linux macosx windows |
Update the version in `version.py` to 1.12.0. Update the CHANGELOG to move the changes in pyccel#1858 to a new section for version 1.12.0.
TODO:
main
(Ensure workflows run on main branch #1860)devel
CHANGELOG (Update version and CHANGELOG for v1.12.0 #1859)