summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update release date.3.0.0b2Stefan Behnel2023-03-271-1/+1
|
* Prepare release of 3.0.0b2.Stefan Behnel2023-03-261-1/+1
|
* Update changelog.Stefan Behnel2023-03-261-0/+68
|
* Allow InterpretCompilerDirectives.visit_AnnotationNode() to process nodes ↵Chia-Hsiang Cheng2023-03-262-1/+14
| | | | | that have no children (GH-5336) Closes https://github.com/cython/cython/issues/5235
* readme: Cython is more a Python compiler than a new language; include ↵Stefan Behnel2023-03-251-9/+8
| | | | download count.
* Allow soft-complex->double coercion to run without gil (#5287)da-woods2023-03-254-11/+83
| | | | | | It'll only need the GIL on failure (which it can get) and "power of" type maths is the soft of thing that people are likely already doing in nogil blocks
* Merge branch '0.29.x'Stefan Behnel2023-03-240-0/+0
|\
| * Account for possible extension type struct padding when calculating the ↵Miro Hrončok2023-03-242-6/+40
| | | | | | | | | | itemsize for the "size changed" check (GH-4894) (GH-5289) Backported from https://github.com/cython/cython/pull/4894
* | Do not attempt to write out a depfile on failure (GH-5291)Eli Schwartz2023-03-241-1/+1
| | | | | | | | | | | | | | This would be pretty useless as it cannot be used -- the output file does not exist either. But as it happens, on error, the output file is reset to None, so instead we triggered a python traceback while trying to write a depfile for `os.path.relpath(None, cwd)` that was written to `None+'.dep'`
* | Add declarations for C++20 mathematical constants (GH-5309)Jonathan Helgert2023-03-242-0/+36
| |
* | Add documentation about the GIL (GH-5310)da-woods2023-03-234-2/+176
| |
* | Add a test for relative cimport within a submodule (GH-5320)Ralf Gommers2023-03-231-0/+17
| | | | | | | | | | This test mirrors the structure of SciPy's `linalg.cython_blas`, `linalg.cython_lapack` and `special.cython_special` modules. Original bug was resolved in master by https://github.com/cython/cython/pull/4552 (https://github.com/cython/cython/commit/0c8dea13946833606ab7e290d51cd12aee077c04)
* | Add simple code style checks for non-Python source files.Stefan Behnel2023-03-2336-306/+311
| |
* | Restore 0.29.x handling of None fused memoryviews (GH-5298)da-woods2023-03-232-2/+29
| | | | | | | | | | | | | | Partial fix for https://github.com/cython/cython/issues/5297 Ideally I think we should do something cleverer, but this'd complicated memoryview dispatch significantly. This PR just restores the 0.29.x behaviour where None matches the first type.
* | Merge branch '0.29.x'Stefan Behnel2023-03-230-0/+0
|\ \ | |/
| * Use a more correct and specific CPython internals guard in __Pyx_Raise(). ↵Tomáš Hrnčiar2023-03-221-7/+7
| | | | | | | | | | | | | | (GH-5330) This is a backport of https://github.com/cython/cython/commit/1dba3d3b44ce942dafe4c77dec4c64def22c57e1 from Cython's master branch. See https://github.com/cython/cython/issues/5238#issuecomment-1426853108
* | Fix ufunc GIL handling (#5332)da-woods2023-03-223-8/+53
| | | | | | | | | | | | | | | | It looks like Numpy releases the GIL for us (unless it's PyObject arguments), so we should assume that we don't have the GIL, and write code to regain it if needed, rather than assuming we need to release the GIL. Fixes #5328
* | Fix the relative-first import scheme for language_level=2 in Python 3. (GH-5329)scoder2023-03-223-23/+160
| | | | | | | | | | | | | | | | Since https://github.com/cython/cython/commit/4993ba6a0194c2fbcf438ae2833f43c33781148d, we returned the top-level package module instead of the module that was actually imported with its dotted name ("collections" instead of "collections.abc"). Closes https://github.com/cython/cython/issues/5308 See https://github.com/cython/cython/issues/2854
* | Document the nongil except* performance pitfall (#5327)da-woods2023-03-212-0/+19
| |
* | Allow IS_UNSIGNED macro to handle const types (GH-5302)Max Bachmann2023-03-213-3/+15
| | | | | | | | | | This adds support for constant types in the `IS_UNSIGNED` macro (and prefixes it with `__PYX_`) to fix #5301 without reducing const correctness. It uses the same implementation used for the C++11 type_trait `std::is_unsigned`: https://en.cppreference.com/w/cpp/types/is_unsigned Closes https://github.com/cython/cython/issues/5301
* | Fix exception handling in memoryview utilitycode (GH-5325)da-woods2023-03-204-23/+35
| | | | | | | | | | | | | | | | | | | | | | | | The new exception-handling semantics meant that the utility code always had to check for exceptions on some void nogil functions (requiring us to re-acquire the GIL). This made performance noticeably worse under some circumstances. Fix this by making the exception specifications noexcept for quite a few cdef functions in the memoryview utility code. Fixes https://github.com/cython/cython/issues/5324
* | Fix missing exported C function declarations with cimport_from_pyx enabled ↵Chia-Hsiang Cheng2023-03-173-2/+23
| | | | | | | | (#5318)
* | Limit the cname length for generated number constants since some C compilers ↵0dminnimda2023-03-172-9/+38
| | | | | | | | | | cannot handle long names (GH-5293) Closes https://github.com/cython/cython/issues/5290
* | Add support for C++ std::any (#5314)Maximilien Colange2023-03-162-0/+96
| |
* | Add a test for relative cimports from `__init__.pxd` files.Stefan Behnel2023-03-161-0/+15
| |
* | Make sure that we include all user C code in the annotated HTML output by ↵Stefan Behnel2023-03-161-0/+2
| | | | | | | | | | | | resetting the position around the user code generation. Previously, it could happen that the C code of the last source line was not included if the subsequently generated (internal) C code was not related to a user code line.
* | Tree assertions: while stripping Cython code, also remove all style ↵Stefan Behnel2023-03-161-0/+6
| | | | | | | | information from the HTML file before searching for C code patterns to shorten the file content.
* | Fix FakeReference on C++03 by avoiding C++11 features (GH-5317)da-woods2023-03-161-2/+2
| | | | | | | | | | Apparently default function template parameters aren't allowed (and they don't seem to be needed here anyway) Closes https://github.com/cython/cython/issues/5316
* | Add libcpp.cmath (#5262)Jonathan Helgert2023-03-115-0/+569
| | | | | | | | This PR adds the C++ STL cmath header. It's mainly motivated by the new C++17 mathematical special functions (like assoc_laguerre, assoc_legendre, beta, ...) and the C++20 linear interpolation function lerp. However, all other functions are already in libc.math, so I'm not really sure if we should have them in both libc.math and libcpp.cmath.
* | Merge branch '0.29.x'Stefan Behnel2023-03-070-0/+0
|\ \ | |/
| * Disable "py_unicode_strings" test in Py3.12, which removed the support for it.Matti Picus2023-03-071-0/+3
| | | | | | | | Picked from https://github.com/cython/cython/commit/9d38bf8d620fd09166a5469c76b54f66d7fbd828
* | Merge branch '0.29.x'Stefan Behnel2023-03-072-29/+26
|\ \ | |/
| * Allow Py3.12 AttributeError suggestions in doctest output.Stefan Behnel2023-03-072-29/+26
| |
* | Merge branch '0.29.x'Stefan Behnel2023-03-070-0/+0
|\ \ | |/
| * Stop using PyLong internals and dict versioning in Py3.12 for 0.29.x ↵Stefan Behnel2023-03-071-2/+4
| | | | | | | | (handled differently in master).
* | Merge branch '0.29.x'Stefan Behnel2023-03-070-0/+0
|\ \ | |/
| * [0.29.x] IpythonMagic: Replace deprecated imp.load_dynamic() by importlib ↵Matus Valo2023-03-062-9/+9
| | | | | | | | (GH-5300)
| * Fix depfile generation on Windows, across different drives (GH-5283)Eli Schwartz2023-03-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Since its first implementation in commit https://github.com/cython/cython/commit/9db1fc39b31b7b3b2ed574a79f5f9fd980ee3be7, depfiles try to calculate relative paths for files relative to the project base dir. This usually worked, but fails when the output directory is being used from another Windows drive letter. This can happen for build systems that encourage out of source build directories. When that happens, the logical thing to do is to use an absolute path anyway. That's what those build systems do as well, so the resulting depfiles still align with the build system manifest. (cherry picked from master commit https://github.com/cython/cython/commit/038f94e9fd9e3b7ff279b3bd2627e974b94cb946) See https://github.com/cython/cython/pull/5279
* | [ENH] Improve GH issue templates (GH-5223)0dminnimda2023-03-075-32/+41
| | | | | | | | | | * Use separate fields for environment information in bug reports. * Order the templates explicitly. * Add a reference to the mailing list.
* | Renovate docs/README (#5255)0dminnimda2023-03-062-23/+34
| | | | | | | | | | | | | | - change it to markdown and add `.md` in the name - update the windows guide, no need to use a different command - move unclear notes into a hidden toggle (I am not even sure if we need this info) - update the requirements, add an installation instruction - general cleanup
* | Allow nested C++ names after a module name (#5229)Chia-Hsiang Cheng2023-03-054-0/+66
| | | | | | | | | | | | | | | | | | | | Allow code like the following to compile: cimport m def my_func(): cdef m.CppClass.NestedClass c where m is a module, CppClass is a C++ class and NestedClass is a nested class inside CppClass.
* | Allow 3.12-dev in limited-api to fail (GH-5294)0dminnimda2023-03-051-0/+1
| | | | | | Fixes CI failure due to a NumPy incompatibility
* | Doc: Migrate Numpy ufunc to pure python (#5281)Matus Valo2023-03-047-23/+81
| |
* | Fix annotation typing of Optional[tuple] (#5272)da-woods2023-03-012-0/+12
| | | | | | Allow it to use a Py-tuple instead of a ctuple
* | Order merged_in utility code (#5282)da-woods2023-03-013-5/+35
| | | | | | | | | | | | Force utility code to come before pxd code which comes before module code. This specifically fixes #5269, (where the "ToPy" functions for cpdef enums weren't availbale when cyfunctions were created). But I think it's a good idea anyway.
* | Add more recent Limited-API CI builds (Py3.11/3.12).Stefan Behnel2023-03-011-0/+10
| |
* | Remove trailing whitespace.Stefan Behnel2023-03-011-1/+1
| |
* | Merge branch '0.29.x'Stefan Behnel2023-03-011-0/+3
|\ \ | |/
| * Merge branch '0.29.x' of git+ssh://github.com/cython/cython into 0.29.xStefan Behnel2023-03-012-0/+4
| |\
| | * [0.29] Document noexcept in CHANGES.rst (#5273)Matus Valo2023-02-281-0/+3
| | |