From af0a46760fbfbcac8dc356c90e68cca3465f80f9 Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Tue, 14 Jun 2022 17:53:31 +0100 Subject: [Docs] Move Cython remarks to the new ext_modules page This helps to consolidate all the information about extensions in a single place and make it easier for users to find the correct guidance. --- docs/userguide/distribution.rst | 38 -------------------------------------- 1 file changed, 38 deletions(-) (limited to 'docs/userguide/distribution.rst') diff --git a/docs/userguide/distribution.rst b/docs/userguide/distribution.rst index db0f1a5f..b4f31985 100644 --- a/docs/userguide/distribution.rst +++ b/docs/userguide/distribution.rst @@ -117,44 +117,6 @@ Or of course you can create more elaborate aliases that do all of the above. See the sections below on the :ref:`egg_info ` and :ref:`alias ` commands for more ideas. -Distributing Extensions compiled with Cython --------------------------------------------- - -``setuptools`` will detect at build time whether Cython is installed or not. -If Cython is not found ``setuptools`` will ignore pyx files. - -To ensure Cython is available, include Cython in the build-requires section -of your pyproject.toml:: - - [build-system] - requires=[..., "cython"] - -Built with pip 10 or later, that declaration is sufficient to include Cython -in the build. For broader compatibility, declare the dependency in your -setup-requires of setup.cfg:: - - [options] - setup_requires = - ... - cython - -As long as Cython is present in the build environment, ``setuptools`` includes -transparent support for building Cython extensions, as -long as extensions are defined using ``setuptools.Extension``. - -If you follow these rules, you can safely list ``.pyx`` files as the source -of your ``Extension`` objects in the setup script. If it is, then ``setuptools`` -will use it. - -Of course, for this to work, your source distributions must include the C -code generated by Cython, as well as your original ``.pyx`` files. This means -that you will probably want to include current ``.c`` files in your revision -control system, rebuilding them whenever you check changes in for the ``.pyx`` -source files. This will ensure that people tracking your project in a revision -control system will be able to build it even if they don't have Cython -installed, and that your source releases will be similarly usable with or -without Cython. - .. _Specifying Your Project's Version: -- cgit v1.2.1