HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //opt/alt/python312/share/doc/alt-python312-setuptools/docs/userguide/index.rst
==================================================
Building and Distributing Packages with Setuptools
==================================================

The first step towards sharing a Python library or program is to build a
distribution package [#package-overload]_. This includes adding a set of
additional files containing metadata and configuration to not only instruct
``setuptools`` on how the distribution should be built but also
to help installer (such as :pypi:`pip`) during the installation process.

This document contains information to help Python developers through this
process. Please check the :doc:`/userguide/quickstart` for an overview of
the workflow.

Also note that ``setuptools`` is what is known in the community as :pep:`build
backend <517#terminology-and-goals>`, user facing interfaces are provided by tools
such as :pypi:`pip` and :pypi:`build`. To use ``setuptools``, one must
explicitly create a ``pyproject.toml`` file as described :doc:`/build_meta`.


Contents
========

.. toctree::
    :maxdepth: 1

    quickstart
    package_discovery
    dependency_management
    development_mode
    entry_point
    datafiles
    ext_modules
    distribution
    miscellaneous
    extension
    declarative_config
    pyproject_config

---

.. rubric:: Notes

.. [#package-overload]
   A :term:`Distribution Package` is also referred in the Python community simply as "package"
   Unfortunately, this jargon might be a bit confusing for new users because the term package
   can also to refer any :term:`directory <package>` (or sub directory) used to organize
   :term:`modules <module>` and auxiliary files.