.. _spkg_setuptools:

setuptools: Build system for Python packages
============================================

Description
-----------

setuptools is the classical build system for Python packages,
a collection of enhancements to the Python distutils.

This package represents version 63.x of ``setuptools``.
Sage installs this version to provide the build system
for non-PEP 517 packages. In particular, Sage uses it
for building ``numpy``, whose build system ``numpy.distutils`` 
is not compatible with newer versions of ``setuptools``,
see https://github.com/numpy/numpy/pull/22154

License
-------

MIT License

Upstream Contact
----------------

http://pypi.python.org/pypi/setuptools/

https://github.com/pypa/setuptools

Type
----

standard


Dependencies
------------

- $(PYTHON)

Version Information
-------------------

package-version.txt::

    63.4.3

install-requires.txt::

    setuptools >=49.6.0


Equivalent System Packages
--------------------------

conda:

.. CODE-BLOCK:: bash

    $ conda install  "setuptools<64"


macports:
install the following packages: py-setuptools

opensuse:

.. CODE-BLOCK:: bash

    $ sudo zypper install python3-setuptools


void:

.. CODE-BLOCK:: bash

    $ sudo xbps-install  python3-setuptools


See https://repology.org/project/python:setuptools/versions


However, these system packages will not be used for building Sage
because using Python site-packages is not supported by the Sage distribution;
see :issue:`29023`

