Lines Matching full:setuptools
2 Building and Distributing Packages with Setuptools
5 ``Setuptools`` is a collection of enhancements to the Python ``distutils``
10 Packages built and distributed using ``setuptools`` look to the user like
12 install or even know about setuptools in order to use them, and you don't
13 have to include the entire setuptools package in your distributions. By
15 automatically download and install ``setuptools`` if the user is building your
72 Installing ``setuptools``
76 current stable version of setuptools. In particular, be sure to read the
84 If you want the current in-development version of setuptools, you should first
87 ez_setup.py setuptools==dev
90 of setuptools from the Python Subversion sandbox.
96 For basic use of setuptools, just import things from setuptools instead of
97 the distutils. Here's a minimal setup script using setuptools::
99 from setuptools import setup, find_packages
106 As you can see, it doesn't take much to use setuptools in a project.
123 from setuptools import setup, find_packages
165 Setuptools can work well with most versioning schemes; there are, however, a
166 few special things to watch out for, in order to ensure that setuptools and
194 by setuptools.
199 ``2.4c1``, and are treated as identical by setuptools.
217 For the most part, setuptools' interpretation of version numbers is intuitive,
225 identical versions from setuptools' point of view, so you can use whatever
241 have setuptools automatically tag your in-development releases with various
253 ``setuptools``. All of them are optional; you do not have to supply them
254 unless you need the associated ``setuptools`` feature.
257 If set to ``True``, this tells ``setuptools`` to automatically include any
308 be present in order for the *setup script* to run. ``setuptools`` will
359 command, ``setuptools`` will attempt to obtain these (even going
369 setuptools normally uses, you can specify a module name and class name in
372 in the Python ``unittest`` module's ``TestLoader`` class. Setuptools will
379 value of this argument is ``"setuptools.command.test:ScanningLoader"``. If
428 package list updated. That's what ``setuptools.find_packages()`` is for.
477 ``setuptools`` fixes all of these problems by automatically generating scripts
528 'setuptools.installation': [
544 setuptools itself on non-Windows platforms, but may also be useful for other
558 ``setuptools`` supports automatically installing dependencies when a package is
562 ``setuptools`` and ``pkg_resources`` use a common syntax for specifying a
590 setuptools==0.5a7
694 installed. These optional features are called "extras", and setuptools allows
816 Setuptools offers three ways to specify data files to be included in your
820 from setuptools import setup, find_packages
826 This tells setuptools to install any data files it finds in your packages.
837 from setuptools import setup, find_packages
862 The setuptools setup file might look like this::
864 from setuptools import setup, find_packages
885 the path separator, even if you are on Windows. Setuptools automatically
897 ``setuptools``, it was also added to the Python ``distutils`` package as of
899 python.org website. If using the setuptools-specific ``include_package_data``
909 setuptools offers an ``exclude_package_data`` option as well, that allows you
912 from setuptools import setup, find_packages
962 them. The ``pkg_resources`` module is distributed as part of setuptools, so if
963 you're using setuptools to distribute your package, there is no reason not to
976 like documentation, example configuration files, and the like. ``setuptools``
1017 extensions that setuptools 0.6a8 and higher automatically detects as shared
1052 ``setuptools`` supports creating libraries that "plug in" to extensible
1122 from arguments to ``setup()``, in much the same way that ``setuptools`` does
1142 Setuptools allows you to deploy your projects for use in a common directory or
1182 Note that you can also apply setuptools commands to non-setuptools projects,
1185 python -c "import setuptools; execfile('setup.py')" develop
1191 Distributing a ``setuptools``-based project
1194 Using ``setuptools``... Without bundling it!
1199 Your users might not have ``setuptools`` installed on their machines, or even
1204 anything from setuptools:
1212 version of ``setuptools`` from PyPI, if it isn't present on the target system.
1213 Whenever you install an updated version of setuptools, you should also update
1217 By the way, setuptools supports the new PyPI "upload" command, so you can use
1226 (By the way, if you need to distribute a specific version of ``setuptools``,
1234 In general, a setuptools-based project looks just like any distutils-based
1238 a setuptools-based project. To keep these users happy, you should review the
1241 setuptools and ``easy_install``.
1246 setuptools using the `EasyInstall installation instructions`_. Those
1248 manually download and install setuptools.
1253 first install setuptools using the instructions for `Custom Installation
1290 just setuptools, but not everybody knows about them; be kind to your users
1297 Setuptools currently supports ``bdist_rpm``, ``bdist_wininst``, and
1300 ``install`` command, it should be able to work with ``setuptools``. Some
1306 modification to work with setuptools. They should use the
1311 this kind of patching to work with setuptools.
1315 either the "bdist" tool in question or setuptools can be modified to
1326 normal operating system files. So, ``setuptools`` can install your project
1352 ``setuptools`` to install your project as a directory rather than as a zipfile.
1431 Setuptools automatically calls ``declare_namespace()`` for you at runtime,
1440 During the remainder of the current development cycle, therefore, setuptools
1462 To support these scenarios, ``setuptools`` allows you to "tag" your source and
1480 post-release tags affect how setuptools and EasyInstall interpret version
1510 ``setuptools`` enhances the distutils' default algorithm for source file
1524 ``MANIFEST`` or how it's generated from ``MANIFEST.in``; setuptools shields you
1526 distutils, setuptools regenerates the source distribution manifest file
1531 Indeed, because setuptools' approach to determining the contents of a source
1639 ``setuptools`` includes transparent support for building Pyrex extensions, as
1640 long as you define your extensions using ``setuptools.Extension``, *not*
1645 of your ``Extension`` objects in the setup script. ``setuptools`` will detect
1646 at build time whether Pyrex is installed or not. If it is, then ``setuptools``
1647 will use it. If not, then ``setuptools`` will silently change the
1678 Setuptools therefore allows you to define "aliases" - shortcut names for
1697 Note that setuptools will expand each alias *at most once* in a given command
1863 a wrapper script generated by ``setuptools`` or EasyInstall. (In which
1951 In addition to writing the core egg metadata defined by ``setuptools`` and
1969 Append NAME to the project's version string. Due to the way setuptools
2037 The setuptools ``install`` command is basically a shortcut to run the
2039 in creating "system packages" of setuptools-based projects, you can also
2059 Setuptools runs this command as part of ``install`` operations that use the
2171 non-standard filename, the ``distutils`` and ``setuptools`` will not
2175 These options are used by other ``setuptools`` commands that modify
2181 ``setopt`` - Set a distutils or setuptools option in a config file
2279 Setuptools augments the ``upload`` command with support
2306 ``Setuptools`` allows using configuration files (usually :file:`setup.cfg`)
2478 accepts the same keys as the `setuptools.find` function:
2487 ``Setuptools`` exposes a ``read_configuration()`` function for
2493 from setuptools.config import read_configuration
2511 Extending and Reusing Setuptools
2518 the ``setuptools`` package makes it a bit easier, by allowing you to distribute
2522 With ``setuptools``, your distutils extension projects can hook in new
2547 a ``setuptools.Command`` subclass.)
2551 directory) the command(s) will be available to any ``setuptools``-based setup
2554 ``setuptools`` automatically adds a wrapper to the distutils to search for
2556 how setuptools' own commands are installed: the setuptools project's setup
2635 "foo_bar = setuptools.dist:assert_string_list",
2638 "foo_bar.txt = setuptools.command.egg_info:write_arg",
2643 This simple example makes use of two utility functions defined by setuptools
2677 If you would like to create a plugin for ``setuptools`` to find files tracked
2679 the ``setuptools.file_finders`` group. The entry point should be a function
2695 "setuptools.file_finders": [
2701 local setuptools installation will be able to find the necessary files.
2706 command, setuptools automatically records what files were found in the
2739 Reusing ``setuptools`` Code
2748 ``setuptools.archive_util``
2754 ``setuptools.sandbox``
2760 ``setuptools.package_index``
2770 setuptools, and the `setuptools bug tracker`_ ONLY for issues you have
2775 .. _setuptools bug tracker: https://github.com/pypa/setuptools/