Skip to content

Commit edf6d6b

Browse files
authored
Merge pull request #2421 from larsoner/abi3
DOC: Document abi3 status
2 parents be3ddff + 1640be4 commit edf6d6b

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

docs/maintainer/knowledge_base.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1466,6 +1466,15 @@ Currently available packages:
14661466
- exceptiongroup
14671467
- importlib-metadata
14681468

1469+
<a id="abi3"></a>
1470+
1471+
### Packages with abi3 extensions
1472+
1473+
Packages can be built using CPython's stable [`abi3` mode](https://docs.python.org/3/c-api/stable.html) by adding a few conditionals to the `build`, `requirements`, and (optionally) `test` sections. See [this `meta.yaml` example](https://github.com/conda-forge/python-abi3-feedstock/blob/main/recipe/example-meta.yaml) from the `python-abi3-feedstock`, in particular the parts that depend on the `is_abi3`, as well as the relevant [conda-build documentation](https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html#python-version-independent-packages).
1474+
1475+
Note that the python extension that is being packaged needs to support building the extension as an ABI3 package. For setuptools
1476+
based projects, the keyword argument `py_limited_api=True` needs to be passed to the `setup` function.
1477+
14691478
<a id="noarch-builds"></a>
14701479

14711480
## Noarch builds

0 commit comments

Comments
 (0)