Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: Jelle Zijlstra <[email protected]>
  • Loading branch information
iritkatriel and JelleZijlstra authored Oct 17, 2023
1 parent f5b749e commit c5ced72
Showing 1 changed file with 4 additions and 14 deletions.
18 changes: 4 additions & 14 deletions peps/pep-0733.rst
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ Alternative APIs
There are several projects that implement alternatives to the
C API, which offer extension users advantanges over programming
directly with the C API. These APIs are implemented with the
C API, and in some cases by using cpython internals.
C API, and in some cases by using CPython internals.
Some examples are
`Cython <https://cython.org>`__,
`HPy <https://hpyproject.org>`__ and
Expand Down Expand Up @@ -237,17 +237,7 @@ C API problems

The remainder of this document summarizes and categorizes the problems that were reported on
the `capi-workgroup <https://github.com/capi-workgroup/problems/issues/>`__ repository.
The issues are grouped into nine categories:

- API Evolution and Maintenance
- API Specification and Abstraction
- Object Reference Management
- Type Definition and Object Creation
- Error Handling
- API Tiers and Stability Guarantees
- Use of the C Language
- Implementation Flaws
- Missing Functionality
The issues are grouped into several categories.


API Evolution and Maintenance
Expand Down Expand Up @@ -510,7 +500,7 @@ such as ``int32_t`` and ``int64_t`` would have been better choices
[`Issue 27 <https://github.com/capi-workgroup/problems/issues/27>`__].

We are using C language features which are hard for other languages
to interact with
to interact with, such as macros, variadic arguments, enums, and bitfields
[`Issue 35 <https://github.com/capi-workgroup/problems/issues/35>`__].

There are API functions that take a ``PyObject*`` arg which must be
Expand All @@ -522,7 +512,7 @@ more specific type

There are functions in the API that take concrete types, such as
``PyDict_GetItemString`` which performs a dictionary lookup for a key
specified as a c string rather than ``PyObject*``. At the same time,
specified as a C string rather than ``PyObject*``. At the same time,
for ``PyDict_ContainsString`` it is not considered appropriate to
add a concrete type alternative. The principle around this should
be documented in the guidelines
Expand Down

0 comments on commit c5ced72

Please sign in to comment.