Setuptools

Latest version: v69.5.1

Safety actively analyzes 630217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 104 of 109

0.6b2

Not secure
=====

* Don't install or update a ``site.py`` patch when installing to a
``PYTHONPATH`` directory with ``--multi-version``, unless an
``easy-install.pth`` file is already in use there.

* Construct ``.pth`` file paths in such a way that installing an egg whose
name begins with ``import`` doesn't cause a syntax error.

* Fixed a bogus warning message that wasn't updated since the 0.5 versions.

0.6b1

Not secure
=====

* Strip ``module`` from the end of compiled extension modules when computing
the name of a ``.py`` loader/wrapper. (Python's import machinery ignores
this suffix when searching for an extension module.)

* Better ambiguity management: accept ``egg`` name/version even if processing
what appears to be a correctly-named distutils file, and ignore ``.egg``
files with no ``-``, since valid Python ``.egg`` files always have a version
number (but Scheme eggs often don't).

* Support ``file://`` links to directories in ``--find-links``, so that
easy_install can build packages from local source checkouts.

* Added automatic retry for Sourceforge mirrors. The new download process is
to first just try dl.sourceforge.net, then randomly select mirror IPs and
remove ones that fail, until something works. The removed IPs stay removed
for the remainder of the run.

* Ignore bdist_dumb distributions when looking at download URLs.

0.6a11

======

* Added ``test_loader`` keyword to support custom test loaders

* Added ``setuptools.file_finders`` entry point group to allow implementing
revision control plugins.

* Added ``--identity`` option to ``upload`` command.

* Added ``dependency_links`` to allow specifying URLs for ``--find-links``.

* Enhanced test loader to scan packages as well as modules, and call
``additional_tests()`` if present to get non-unittest tests.

* Support namespace packages in conjunction with system packagers, by omitting
the installation of any ``__init__.py`` files for namespace packages, and
adding a special ``.pth`` file to create a working package in
``sys.modules``.

* Made ``--single-version-externally-managed`` automatic when ``--root`` is
used, so that most system packagers won't require special support for
setuptools.

* Fixed ``setup_requires``, ``tests_require``, etc. not using ``setup.cfg`` or
other configuration files for their option defaults when installing, and
also made the install use ``--multi-version`` mode so that the project
directory doesn't need to support .pth files.

* ``MANIFEST.in`` is now forcibly closed when any errors occur while reading
it. Previously, the file could be left open and the actual error would be
masked by problems trying to remove the open file on Windows systems.

* Process ``dependency_links.txt`` if found in a distribution, by adding the
URLs to the list for scanning.

* Use relative paths in ``.pth`` files when eggs are being installed to the
same directory as the ``.pth`` file. This maximizes portability of the
target directory when building applications that contain eggs.

* Added ``easy_install-N.N`` script(s) for convenience when using multiple
Python versions.

* Added automatic handling of installation conflicts. Eggs are now shifted to
the front of sys.path, in an order consistent with where they came from,
making EasyInstall seamlessly co-operate with system package managers.

The ``--delete-conflicting`` and ``--ignore-conflicts-at-my-risk`` options
are now no longer necessary, and will generate warnings at the end of a
run if you use them.

* Don't recursively traverse subdirectories given to ``--find-links``.

0.6a10

======

* Fixed the ``develop`` command ignoring ``--find-links``.

* Added exhaustive testing of the install directory, including a spawn test
for ``.pth`` file support, and directory writability/existence checks. This
should virtually eliminate the need to set or configure ``--site-dirs``.

* Added ``--prefix`` option for more do-what-I-mean-ishness in the absence of
RTFM-ing. :)

* Enhanced ``PYTHONPATH`` support so that you don't have to put any eggs on it
manually to make it work. ``--multi-version`` is no longer a silent
default; you must explicitly use it if installing to a non-PYTHONPATH,
non-"site" directory.

* Expand ``$variables`` used in the ``--site-dirs``, ``--build-directory``,
``--install-dir``, and ``--script-dir`` options, whether on the command line
or in configuration files.

* Improved SourceForge mirror processing to work faster and be less affected
by transient HTML changes made by SourceForge.

* PyPI searches now use the exact spelling of requirements specified on the
command line or in a project's ``install_requires``. Previously, a
normalized form of the name was used, which could lead to unnecessary
full-index searches when a project's name had an underscore (``_``) in it.

* EasyInstall can now download bare ``.py`` files and wrap them in an egg,
as long as you include an ``egg=name-version`` suffix on the URL, or if
the ``.py`` file is listed as the "Download URL" on the project's PyPI page.
This allows third parties to "package" trivial Python modules just by
linking to them (e.g. from within their own PyPI page or download links
page).

* The ``--always-copy`` option now skips "system" and "development" eggs since
they can't be reliably copied. Note that this may cause EasyInstall to
choose an older version of a package than what you expected, or it may cause
downloading and installation of a fresh version of what's already installed.

* The ``--find-links`` option previously scanned all supplied URLs and
directories as early as possible, but now only directories and direct
archive links are scanned immediately. URLs are not retrieved unless a
package search was already going to go online due to a package not being
available locally, or due to the use of the ``--update`` or ``-U`` option.

* Fixed the annoying ``--help-commands`` wart.

0.6a9

=====

* The ``sdist`` command no longer uses the traditional ``MANIFEST`` file to
create source distributions. ``MANIFEST.in`` is still read and processed,
as are the standard defaults and pruning. But the manifest is built inside
the project's ``.egg-info`` directory as ``SOURCES.txt``, and it is rebuilt
every time the ``egg_info`` command is run.

* Added the ``include_package_data`` keyword to ``setup()``, allowing you to
automatically include any package data listed in revision control or
``MANIFEST.in``

* Added the ``exclude_package_data`` keyword to ``setup()``, allowing you to
trim back files included via the ``package_data`` and
``include_package_data`` options.

* Fixed ``--tag-svn-revision`` not working when run from a source
distribution.

* Added warning for namespace packages with missing ``declare_namespace()``

* Added ``tests_require`` keyword to ``setup()``, so that e.g. packages
requiring ``nose`` to run unit tests can make this dependency optional
unless the ``test`` command is run.

* Made all commands that use ``easy_install`` respect its configuration
options, as this was causing some problems with ``setup.py install``.

* Added an ``unpack_directory()`` driver to ``setuptools.archive_util``, so
that you can process a directory tree through a processing filter as if it
were a zipfile or tarfile.

* Added an internal ``install_egg_info`` command to use as part of old-style
``install`` operations, that installs an ``.egg-info`` directory with the
package.

* Added a ``--single-version-externally-managed`` option to the ``install``
command so that you can more easily wrap a "flat" egg in a system package.

* Enhanced ``bdist_rpm`` so that it installs single-version eggs that
don't rely on a ``.pth`` file. The ``--no-egg`` option has been removed,
since all RPMs are now built in a more backwards-compatible format.

* Support full roundtrip translation of eggs to and from ``bdist_wininst``
format. Running ``bdist_wininst`` on a setuptools-based package wraps the
egg in an .exe that will safely install it as an egg (i.e., with metadata
and entry-point wrapper scripts), and ``easy_install`` can turn the .exe
back into an ``.egg`` file or directory and install it as such.

* Fixed ``.pth`` file processing picking up nested eggs (i.e. ones inside
"baskets") when they weren't explicitly listed in the ``.pth`` file.

* If more than one URL appears to describe the exact same distribution, prefer
the shortest one. This helps to avoid "table of contents" CGI URLs like the
ones on effbot.org.

* Quote arguments to python.exe (including python's path) to avoid problems
when Python (or a script) is installed in a directory whose name contains
spaces on Windows.

* Support full roundtrip translation of eggs to and from ``bdist_wininst``
format. Running ``bdist_wininst`` on a setuptools-based package wraps the
egg in an .exe that will safely install it as an egg (i.e., with metadata
and entry-point wrapper scripts), and ``easy_install`` can turn the .exe
back into an ``.egg`` file or directory and install it as such.

0.6a8

=====

* Fixed some problems building extensions when Pyrex was installed, especially
with Python 2.4 and/or packages using SWIG.

* Made ``develop`` command accept all the same options as ``easy_install``,
and use the ``easy_install`` command's configuration settings as defaults.

* Made ``egg_info --tag-svn-revision`` fall back to extracting the revision
number from ``PKG-INFO`` in case it is being run on a source distribution of
a snapshot taken from a Subversion-based project.

* Automatically detect ``.dll``, ``.so`` and ``.dylib`` files that are being
installed as data, adding them to ``native_libs.txt`` automatically.

* Fixed some problems with fresh checkouts of projects that don't include
``.egg-info/PKG-INFO`` under revision control and put the project's source
code directly in the project directory. If such a package had any
requirements that get processed before the ``egg_info`` command can be run,
the setup scripts would fail with a "Missing 'Version:' header and/or
PKG-INFO file" error, because the egg runtime interpreted the unbuilt
metadata in a directory on ``sys.path`` (i.e. the current directory) as
being a corrupted egg. Setuptools now monkeypatches the distribution
metadata cache to pretend that the egg has valid version information, until
it has a chance to make it actually be so (via the ``egg_info`` command).

* Update for changed SourceForge mirror format

* Fixed not installing dependencies for some packages fetched via Subversion

* Fixed dependency installation with ``--always-copy`` not using the same
dependency resolution procedure as other operations.

* Fixed not fully removing temporary directories on Windows, if a Subversion
checkout left read-only files behind

* Fixed some problems building extensions when Pyrex was installed, especially
with Python 2.4 and/or packages using SWIG.

Page 104 of 109

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.