From be09553790c866134411ce504d9bdaf4a924bf5a Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Mon, 5 Dec 2016 08:11:32 +0000 Subject: docs: update stray links to Bitbucket repo --- docs/_templates/indexsidebar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/_templates/indexsidebar.html b/docs/_templates/indexsidebar.html index a27c85fe..3b127602 100644 --- a/docs/_templates/indexsidebar.html +++ b/docs/_templates/indexsidebar.html @@ -5,4 +5,4 @@

Questions? Suggestions? Contributions?

-

Visit the Setuptools project page

+

Visit the Setuptools project page

-- cgit v1.2.1 From 7ab3af3cf7f8ffa512ff74cd24f1b833decdef6f Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Mon, 5 Dec 2016 08:13:43 +0000 Subject: docs: reorder table of contents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit “Building and Distributing Packages with Setuptools” is a better entry point to the documentation than the changelog. --- docs/index.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/index.txt b/docs/index.txt index 6ac37252..74aabb5e 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -16,10 +16,10 @@ Documentation content: .. toctree:: :maxdepth: 2 - history - roadmap - python3 setuptools easy_install pkg_resources + python3 development + roadmap + history -- cgit v1.2.1 From 56dea7f0334f60603d4ca6a884ca523fe3389ef3 Mon Sep 17 00:00:00 2001 From: idle sign Date: Sat, 10 Dec 2016 12:06:26 +0700 Subject: `read_configuration()` now accepts `ignore_option_errors`. --- docs/setuptools.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 77de255b..1721edaf 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2543,7 +2543,7 @@ zip_safe bool setup_requires list-semi install_requires list-semi extras_require section -entry_points file, section +entry_points file:, section use_2to3 bool use_2to3_fixers list-comma use_2to3_exclude_fixers list-comma @@ -2582,6 +2582,12 @@ in the first argument. To include values from other configuration files which could be in various places set `find_others` function argument to ``True``. +If you have only a configuration file but not the whole package you can still +try to get data out of it with the help of `ignore_option_errors` function +argument. When it is set to ``True`` all options with errors possibly produced +by directives, such as ``attr:`` and others will be silently ignored. +As a consequence the resulting dictionary will include no such options. + -------------------------------- Extending and Reusing Setuptools -- cgit v1.2.1 From a262947e39e6125ee15d3752a2124acf0c62bda6 Mon Sep 17 00:00:00 2001 From: idle sign Date: Sat, 10 Dec 2016 13:33:57 +0700 Subject: Implemented find() configuration support for `packages`. --- docs/setuptools.txt | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 1721edaf..2f78b133 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2448,6 +2448,11 @@ boilerplate code in some cases. pdf = ReportLab>=1.2; RXP rest = docutils>=0.3; pack ==1.1, ==1.3 + [options.packages.find] + exclude = + src.subpackage1 + src.subpackage2 + Metadata and options could be set in sections with the same names. @@ -2486,13 +2491,13 @@ Type names used below: * ``list-semi`` - dangling list or semicolon-separated values string * ``bool`` - ``True`` is 1, yes, true * ``dict`` - list-comma where keys from values are separated by = +* ``section`` - values could be read from a dedicated (sub)section Special directives: * ``attr:`` - value could be read from module attribute * ``file:`` - value could be read from a file -* ``section:`` - values could be read from a dedicated (sub)section .. note:: @@ -2529,8 +2534,10 @@ requires list-comma obsoletes list-comma ================= ================= ===== -**version** - ``attr:`` supports callables; supports iterables; -unsupported types are casted using ``str()``. +.. note:: + + **version** - ``attr:`` supports callables; supports iterables; + unsupported types are casted using ``str()``. Options @@ -2560,6 +2567,13 @@ exclude_package_data section namespace_packages list-comma ======================= ===== +.. note:: + + **packages** - ``find:`` directive can be further configured + in a dedicated subsection `options.packages.find`. This subsection + accepts the same keys as `setuptools.find` function: + `where`, `include`, `exclude`. + Configuration API ================= -- cgit v1.2.1 From 249f870f2c6fb60734e9db34e44f7e44cd35c914 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 1 Jan 2017 10:08:00 -0500 Subject: Drop support for 'tag_svn_version' distribution option. Fixes #619. --- docs/conf.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index fae8e632..c1854ed8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -156,6 +156,10 @@ link_files = { pattern=r"PEP[- ](?P\d+)", url='https://www.python.org/dev/peps/pep-{pep_number:0>4}/', ), + dict( + pattern=r"setuptools_svn #(?P\d+)", + url='{GH}/jaraco/setuptools_svn/issues/{setuptools_svn}', + ), dict( pattern=r"^(?m)((?Pv?\d+(\.\d+){1,2}))\n[-=]+\n", with_scm="{text}\n{rev[timestamp]:%d %b %Y}\n", -- cgit v1.2.1 From 80d29ed93d0ee3ea95ea921ae38e59bb86d4f627 Mon Sep 17 00:00:00 2001 From: Patrick Lannigan Date: Mon, 2 Jan 2017 08:15:40 -0500 Subject: Document use of environment markers in extras_require --- docs/setuptools.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 2f78b133..94ee09ad 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -769,6 +769,38 @@ so that Package B doesn't have to remove the ``[PDF]`` from its requirement specifier. +.. _Platform Specific Dependencies: + + +Declaring platform specific dependencies +---------------------------------------- + +Sometimes a project might require a dependency to run on a specific platform. +This could to a package that back ports a module so that it can be used in +older python versions. Or it could be a package that is required to run on a +specific operating system. This will allow a project to work on multiple +different platforms without installing dependencies that are not required for +a platform that is installing the project. + +For example, here is a project that uses the ``enum`` module and ``pywin32``:: + + setup( + name="Project", + ... + extras_require={ + ':python_version < "3.4"': ["enum34"], + ':sys_platform == "win32"': ["pywin32 >= 1.0"] + } + ) + +Since the ``enum`` module was added in python 3.4, it should only be installed +if the python version is earlier. Since ``pywin32`` will only be used on +windows, it should only be installed when the operating system is Windows. +Specifying version requirements for the dependencies is supported as normal. + +The environmental markers that may be used for testing platform types are +detailed in PEP 496. + Including Data Files ==================== -- cgit v1.2.1 From 76e888d72b178880d62a731da52b9a3a51832a4f Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 2 Jan 2017 10:16:27 -0500 Subject: Remove references to SVN sandbox. --- docs/setuptools.txt | 8 -------- 1 file changed, 8 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 2f78b133..7dcbb6f2 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -59,14 +59,6 @@ Feature Highlights: * Create extensible applications and frameworks that automatically discover extensions, using simple "entry points" declared in a project's setup script. -In addition to the PyPI downloads, the development version of ``setuptools`` -is available from the `Python SVN sandbox`_, and in-development versions of the -`0.6 branch`_ are available as well. - -.. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06 - -.. _Python SVN sandbox: http://svn.python.org/projects/sandbox/trunk/setuptools/#egg=setuptools-dev - .. contents:: **Table of Contents** .. _ez_setup.py: `bootstrap module`_ -- cgit v1.2.1 From 8db1d2d4f72f347f3fd5a9d8cf4a225173251318 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Mon, 2 Jan 2017 10:22:37 -0500 Subject: Remove documentation about tag-svn-revision. Ref #619. --- docs/setuptools.txt | 102 ++++------------------------------------------------ 1 file changed, 7 insertions(+), 95 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 7dcbb6f2..458ad59b 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -1414,10 +1414,6 @@ egg distributions by adding one or more of the following to the project's manually-specified post-release tag, such as a build or revision number (``--tag-build=STRING, -bSTRING``) -* A "last-modified revision number" string generated automatically from - Subversion's metadata (assuming your project is being built from a Subversion - "working copy") (``--tag-svn-revision, -r``) - * An 8-character representation of the build date (``--tag-date, -d``), as a postrelease tag @@ -1549,68 +1545,6 @@ this:: in order to check out the in-development version of ``projectname``. -Managing "Continuous Releases" Using Subversion ------------------------------------------------ - -If you expect your users to track in-development versions of your project via -Subversion, there are a few additional steps you should take to ensure that -things work smoothly with EasyInstall. First, you should add the following -to your project's ``setup.cfg`` file: - -.. code-block:: ini - - [egg_info] - tag_build = .dev - tag_svn_revision = 1 - -This will tell ``setuptools`` to generate package version numbers like -``1.0a1.dev-r1263``, which will be considered to be an *older* release than -``1.0a1``. Thus, when you actually release ``1.0a1``, the entire egg -infrastructure (including ``setuptools``, ``pkg_resources`` and EasyInstall) -will know that ``1.0a1`` supersedes any interim snapshots from Subversion, and -handle upgrades accordingly. - -(Note: the project version number you specify in ``setup.py`` should always be -the *next* version of your software, not the last released version. -Alternately, you can leave out the ``tag_build=.dev``, and always use the -*last* release as a version number, so that your post-1.0 builds are labelled -``1.0-r1263``, indicating a post-1.0 patchlevel. Most projects so far, -however, seem to prefer to think of their project as being a future version -still under development, rather than a past version being patched. It is of -course possible for a single project to have both situations, using -post-release numbering on release branches, and pre-release numbering on the -trunk. But you don't have to make things this complex if you don't want to.) - -Commonly, projects releasing code from Subversion will include a PyPI link to -their checkout URL (as described in the previous section) with an -``#egg=projectname-dev`` suffix. This allows users to request EasyInstall -to download ``projectname==dev`` in order to get the latest in-development -code. Note that if your project depends on such in-progress code, you may wish -to specify your ``install_requires`` (or other requirements) to include -``==dev``, e.g.: - -.. code-block:: python - - install_requires=["OtherProject>=0.2a1.dev-r143,==dev"] - -The above example says, "I really want at least this particular development -revision number, but feel free to follow and use an ``#egg=OtherProject-dev`` -link if you find one". This avoids the need to have actual source or binary -distribution snapshots of in-development code available, just to be able to -depend on the latest and greatest a project has to offer. - -A final note for Subversion development: if you are using SVN revision tags -as described in this section, it's a good idea to run ``setup.py develop`` -after each Subversion checkin or update, because your project's version number -will be changing, and your script wrappers need to be updated accordingly. - -Also, if the project's requirements have changed, the ``develop`` command will -take care of fetching the updated dependencies, building changed extensions, -etc. Be sure to also remind any of your users who check out your project -from Subversion that they need to run ``setup.py develop`` after every update -in order to keep their checkout completely in sync. - - Making "Official" (Non-Snapshot) Releases ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1624,18 +1558,18 @@ tagging the release, so the trunk will still produce development snapshots. Alternately, if you are not branching for releases, you can override the default version options on the command line, using something like:: - python setup.py egg_info -RDb "" sdist bdist_egg register upload + python setup.py egg_info -Db "" sdist bdist_egg register upload -The first part of this command (``egg_info -RDb ""``) will override the +The first part of this command (``egg_info -Db ""``) will override the configured tag information, before creating source and binary eggs, registering the project with PyPI, and uploading the files. Thus, these commands will use -the plain version from your ``setup.py``, without adding the Subversion -revision number or build designation string. +the plain version from your ``setup.py``, without adding the build designation +string. Of course, if you will be doing this a lot, you may wish to create a personal alias for this operation, e.g.:: - python setup.py alias -u release egg_info -RDb "" + python setup.py alias -u release egg_info -Db "" You can then use it like this:: @@ -1695,8 +1629,7 @@ the command line supplies its expansion. For example, this command defines a sitewide alias called "daily", that sets various ``egg_info`` tagging options:: - setup.py alias --global-config daily egg_info --tag-svn-revision \ - --tag-build=development + setup.py alias --global-config daily egg_info --tag-build=development Once the alias is defined, it can then be used with other setup commands, e.g.:: @@ -1706,7 +1639,7 @@ e.g.:: setup.py daily sdist bdist_egg # generate both The above commands are interpreted as if the word ``daily`` were replaced with -``egg_info --tag-svn-revision --tag-build=development``. +``egg_info --tag-build=development``. Note that setuptools will expand each alias *at most once* in a given command line. This serves two purposes. First, if you accidentally create an alias @@ -1993,27 +1926,6 @@ added in the following order: it on the command line using ``-b ""`` or ``--tag-build=""`` as an argument to the ``egg_info`` command. -``--tag-svn-revision, -r`` - If the current directory is a Subversion checkout (i.e. has a ``.svn`` - subdirectory, this appends a string of the form "-rNNNN" to the project's - version string, where NNNN is the revision number of the most recent - modification to the current directory, as obtained from the ``svn info`` - command. - - If the current directory is not a Subversion checkout, the command will - look for a ``PKG-INFO`` file instead, and try to find the revision number - from that, by looking for a "-rNNNN" string at the end of the version - number. (This is so that building a package from a source distribution of - a Subversion snapshot will produce a binary with the correct version - number.) - - If there is no ``PKG-INFO`` file, or the version number contained therein - does not end with ``-r`` and a number, then ``-r0`` is used. - -``--no-svn-revision, -R`` - Don't include the Subversion revision in the version number. This option - is included so you can override a default setting put in ``setup.cfg``. - ``--tag-date, -d`` Add a date stamp of the form "-YYYYMMDD" (e.g. "-20050528") to the project's version number. -- cgit v1.2.1 From 78339bc0d77649f47be496879e4a5f768657d229 Mon Sep 17 00:00:00 2001 From: Patrick Lannigan Date: Mon, 2 Jan 2017 16:40:22 -0500 Subject: Have documentation link to referenced PEP. --- docs/setuptools.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 94ee09ad..5dd30b13 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -799,7 +799,9 @@ windows, it should only be installed when the operating system is Windows. Specifying version requirements for the dependencies is supported as normal. The environmental markers that may be used for testing platform types are -detailed in PEP 496. +detailed in `PEP 496`_. + +.. _PEP 496: https://www.python.org/dev/peps/pep-0496/ Including Data Files ==================== -- cgit v1.2.1 From 37a48e9a7a5ae5ac770b05b8f1ff52bdceda3cae Mon Sep 17 00:00:00 2001 From: Patrick Lannigan Date: Mon, 2 Jan 2017 21:21:01 -0500 Subject: Document use of install_requires with corrected PEP PEP 496 is a draft that was never accepted, so it does not have the correct information. --- docs/setuptools.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 5dd30b13..601628b4 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -787,21 +787,21 @@ For example, here is a project that uses the ``enum`` module and ``pywin32``:: setup( name="Project", ... - extras_require={ - ':python_version < "3.4"': ["enum34"], - ':sys_platform == "win32"': ["pywin32 >= 1.0"] - } + install_requires=[ + 'enum34;python_version<"3.4"', + 'pywin32 >= 1.0;platform_system=="Windows"' + ] ) -Since the ``enum`` module was added in python 3.4, it should only be installed +Since the ``enum`` module was added in Python 3.4, it should only be installed if the python version is earlier. Since ``pywin32`` will only be used on windows, it should only be installed when the operating system is Windows. Specifying version requirements for the dependencies is supported as normal. The environmental markers that may be used for testing platform types are -detailed in `PEP 496`_. +detailed in `PEP 508`_. -.. _PEP 496: https://www.python.org/dev/peps/pep-0496/ +.. _PEP 508: https://www.python.org/dev/peps/pep-0508/ Including Data Files ==================== -- cgit v1.2.1 From 3c182f9f1eea89040fbfc88d1ccbed31ece6a00b Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 7 Jan 2017 13:23:43 -0500 Subject: Remove documentation for upload_docs command, deprecated in v27. --- docs/setuptools.txt | 62 ----------------------------------------------------- 1 file changed, 62 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 5c72445b..2a494fca 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2273,68 +2273,6 @@ password from the keyring. New in 20.1: Added keyring support. -.. _upload_docs: - -``upload_docs`` - Upload package documentation to PyPI -====================================================== - -PyPI now supports uploading project documentation to the dedicated URL -https://pythonhosted.org//. - -The ``upload_docs`` command will create the necessary zip file out of a -documentation directory and will post to the repository. - -Note that to upload the documentation of a project, the corresponding version -must already be registered with PyPI, using the distutils ``register`` -command -- just like the ``upload`` command. - -Assuming there is an ``Example`` project with documentation in the -subdirectory ``docs``, e.g.:: - - Example/ - |-- example.py - |-- setup.cfg - |-- setup.py - |-- docs - | |-- build - | | `-- html - | | | |-- index.html - | | | `-- tips_tricks.html - | |-- conf.py - | |-- index.txt - | `-- tips_tricks.txt - -You can simply pass the documentation directory path to the ``upload_docs`` -command:: - - python setup.py upload_docs --upload-dir=docs/build/html - -If no ``--upload-dir`` is given, ``upload_docs`` will attempt to run the -``build_sphinx`` command to generate uploadable documentation. -For the command to become available, `Sphinx `_ -must be installed in the same environment as distribute. - -As with other ``setuptools``-based commands, you can define useful -defaults in the ``setup.cfg`` of your Python project, e.g.: - -.. code-block:: ini - - [upload_docs] - upload-dir = docs/build/html - -The ``upload_docs`` command has the following options: - -``--upload-dir`` - The directory to be uploaded to the repository. - -``--show-response`` - Display the full response text from server; this is useful for debugging - PyPI problems. - -``--repository=URL, -r URL`` - The URL of the repository to upload to. Defaults to - https://pypi.python.org/pypi (i.e., the main PyPI installation). - ----------------------------------------- Configuring setup() using setup.cfg files -- cgit v1.2.1 From c999a93ca02b2b933384d1d0345505c4ed72f80b Mon Sep 17 00:00:00 2001 From: Elvis Stansvik Date: Sun, 8 Jan 2017 18:24:24 +0100 Subject: Fix broken link in docs/developer-guide.txt --- docs/developer-guide.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/developer-guide.txt b/docs/developer-guide.txt index c8f51b02..8a136380 100644 --- a/docs/developer-guide.txt +++ b/docs/developer-guide.txt @@ -13,11 +13,11 @@ Recommended Reading ------------------- Please read `How to write the perfect pull request -`_ -for some tips on contributing to open source projects. Although the article -is not authoritative, it was authored by the maintainer of Setuptools, so -reflects his opinions and will improve the likelihood of acceptance and -quality of contribution. +`_ for some tips +on contributing to open source projects. Although the article is not +authoritative, it was authored by the maintainer of Setuptools, so reflects +his opinions and will improve the likelihood of acceptance and quality of +contribution. ------------------ Project Management -- cgit v1.2.1 From f383c6d24fdb2faf8cbe070ce0983c6480630730 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 15 Jan 2017 10:40:37 -0500 Subject: Remove installation instructions from the README and instead refer to the Python Packaging User's Guide, which indicates to use pip for installing setuptools. Moved Credits to the history section of the documentation. Cleaned up hyperlinks. --- docs/history.txt | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'docs') diff --git a/docs/history.txt b/docs/history.txt index 8e217503..8fd1dc65 100644 --- a/docs/history.txt +++ b/docs/history.txt @@ -6,3 +6,41 @@ History ******* .. include:: ../CHANGES (links).rst + +Credits +******* + +* The original design for the ``.egg`` format and the ``pkg_resources`` API was + co-created by Phillip Eby and Bob Ippolito. Bob also implemented the first + version of ``pkg_resources``, and supplied the OS X operating system version + compatibility algorithm. + +* Ian Bicking implemented many early "creature comfort" features of + easy_install, including support for downloading via Sourceforge and + Subversion repositories. Ian's comments on the Web-SIG about WSGI + application deployment also inspired the concept of "entry points" in eggs, + and he has given talks at PyCon and elsewhere to inform and educate the + community about eggs and setuptools. + +* Jim Fulton contributed time and effort to build automated tests of various + aspects of ``easy_install``, and supplied the doctests for the command-line + ``.exe`` wrappers on Windows. + +* Phillip J. Eby is the seminal author of setuptools, and + first proposed the idea of an importable binary distribution format for + Python application plug-ins. + +* Significant parts of the implementation of setuptools were funded by the Open + Source Applications Foundation, to provide a plug-in infrastructure for the + Chandler PIM application. In addition, many OSAF staffers (such as Mike + "Code Bear" Taylor) contributed their time and stress as guinea pigs for the + use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!) + +* Tarek Ziadé is the principal author of the Distribute fork, which + re-invigorated the community on the project, encouraged renewed innovation, + and addressed many defects. + +* Since the merge with Distribute, Jason R. Coombs is the + maintainer of setuptools. The project is maintained in coordination with + the Python Packaging Authority (PyPA) and the larger Python community. + -- cgit v1.2.1 From e83845ac9b23d3e6e397263aa933372148fc5fee Mon Sep 17 00:00:00 2001 From: smheidrich Date: Thu, 2 Feb 2017 12:32:27 +0100 Subject: Added autosectionlabel Sphinx extension and replaced some obsolete links. --- docs/conf.py | 2 +- docs/pkg_resources.txt | 10 ++++------ docs/setuptools.txt | 7 +++---- 3 files changed, 8 insertions(+), 11 deletions(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index c1854ed8..fe684271 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,7 +29,7 @@ import setup as setup_script # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['rst.linker'] +extensions = ['rst.linker', 'sphinx.ext.autosectionlabel'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/pkg_resources.txt b/docs/pkg_resources.txt index e8412b33..487320ce 100644 --- a/docs/pkg_resources.txt +++ b/docs/pkg_resources.txt @@ -143,10 +143,10 @@ namespace package for Zope Corporation packages, and the ``peak`` namespace package for the Python Enterprise Application Kit. To create a namespace package, you list it in the ``namespace_packages`` -argument to ``setup()``, in your project's ``setup.py``. (See the `setuptools -documentation on namespace packages`_ for more information on this.) Also, -you must add a ``declare_namespace()`` call in the package's ``__init__.py`` -file(s): +argument to ``setup()``, in your project's ``setup.py``. (See the +:ref:`setuptools documentation on namespace packages ` for +more information on this.) Also, you must add a ``declare_namespace()`` call +in the package's ``__init__.py`` file(s): ``declare_namespace(name)`` Declare that the dotted package name `name` is a "namespace package" whose @@ -175,8 +175,6 @@ filesystem and zip importers, you can extend its support to other "importers" compatible with PEP 302 using the ``register_namespace_handler()`` function. See the section below on `Supporting Custom Importers`_ for details. -.. _setuptools documentation on namespace packages: http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages - ``WorkingSet`` Objects ====================== diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 2a494fca..2c197d98 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -940,14 +940,13 @@ Typically, existing programs manipulate a package's ``__file__`` attribute in order to find the location of data files. However, this manipulation isn't compatible with PEP 302-based import hooks, including importing from zip files and Python Eggs. It is strongly recommended that, if you are using data files, -you should use the `Resource Management API`_ of ``pkg_resources`` to access +you should use the :ref:`ResourceManager API` of ``pkg_resources`` to access them. The ``pkg_resources`` module is distributed as part of setuptools, so if you're using setuptools to distribute your package, there is no reason not to use its resource management API. See also `Accessing Package Resources`_ for a quick example of converting code that uses ``__file__`` to use ``pkg_resources`` instead. -.. _Resource Management API: http://peak.telecommunity.com/DevCenter/PkgResources#resourcemanager-api .. _Accessing Package Resources: http://peak.telecommunity.com/DevCenter/PythonEggs#accessing-package-resources @@ -959,8 +958,8 @@ location (e.g. ``/usr/share``). This feature intended to be used for things like documentation, example configuration files, and the like. ``setuptools`` does not install these data files in a separate location, however. They are bundled inside the egg file or directory, alongside the Python modules and -packages. The data files can also be accessed using the `Resource Management -API`_, by specifying a ``Requirement`` instead of a package name:: +packages. The data files can also be accessed using the :ref:`ResourceManager +API`, by specifying a ``Requirement`` instead of a package name:: from pkg_resources import Requirement, resource_filename filename = resource_filename(Requirement.parse("MyProject"),"sample.conf") -- cgit v1.2.1 From 7b87e5c5efb0e6f824f4c46a12342a46fe358f14 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 3 Feb 2017 13:11:25 -0500 Subject: Require sphinx 1.4 for autosectionlabel plugin. Ref #957. --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/requirements.txt b/docs/requirements.txt index 0871ed76..4be41887 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1,2 @@ rst.linker>=1.6.1 +sphinx>=1.4 -- cgit v1.2.1 From 50830de19302234b6741e2d1b853fbf07fbedf95 Mon Sep 17 00:00:00 2001 From: idle sign Date: Sat, 4 Feb 2017 15:21:12 +0700 Subject: Dropped support for classifiers subsection handling in setup.cfg (see #952). --- docs/setuptools.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 2c197d98..f0da6e1d 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2302,10 +2302,10 @@ boilerplate code in some cases. long_description = file: README.rst keywords = one, two license = BSD 3-Clause License - - [metadata.classifiers] - Framework :: Django - Programming Language :: Python :: 3.5 + classifiers = + Framework :: Django + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.5 [options] zip_safe = False @@ -2398,7 +2398,7 @@ author str author_email author-email str maintainer str maintainer_email maintainer-email str -classifiers classifier file:, section, list-comma +classifiers classifier file:, list-comma license file:, str description summary file:, str long_description long-description file:, str -- cgit v1.2.1 From 943833d493a95061c4c432337e7133aa311ccdba Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 30 Mar 2017 21:32:37 -0400 Subject: Update docs to use jaraco.packaging.sphinx to grab metadata from the package. --- docs/conf.py | 64 ++++++++++++++------------------------------------- docs/requirements.txt | 5 ++-- 2 files changed, 20 insertions(+), 49 deletions(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index fe684271..1b1bb5fb 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,18 +18,11 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -# Allow Sphinx to find the setup command that is imported below, as referenced above. -import os -import sys -sys.path.append(os.path.abspath('..')) - -import setup as setup_script - # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['rst.linker', 'sphinx.ext.autosectionlabel'] +extensions = ['rst.linker', 'sphinx.ext.autosectionlabel', 'jaraco.packaging.sphinx'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -40,19 +33,6 @@ source_suffix = '.txt' # The master toctree document. master_doc = 'index' -# General information about the project. -project = 'Setuptools' -copyright = '2009-2014, The fellowship of the packaging' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = setup_script.setup_params['version'] -# The full version, including alpha/beta/rc tags. -release = setup_script.setup_params['version'] - # List of directories, relative to source directory, that shouldn't be searched # for source files. exclude_trees = [] @@ -69,13 +49,6 @@ html_theme = 'nature' # Add any paths that contain custom themes here, relative to this directory. html_theme_path = ['_theme'] -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -html_title = "Setuptools documentation" - -# A shorter title for the navigation bar. Default is the same as html_title. -html_short_title = "Setuptools" - # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. html_use_smartypants = True @@ -89,9 +62,6 @@ html_use_modindex = False # If false, no index is generated. html_use_index = False -# Output file base name for HTML help builder. -htmlhelp_basename = 'Setuptoolsdoc' - # -- Options for LaTeX output -------------------------------------------------- # Grouping the document tree into LaTeX files. List of tuples @@ -109,60 +79,60 @@ link_files = { ), replace=[ dict( - pattern=r"(Issue )?#(?P\d+)", - url='{GH}/pypa/setuptools/issues/{issue}', + pattern=r'(Issue )?#(?P\d+)', + url='{package_url}/issues/{issue}', ), dict( - pattern=r"BB Pull Request ?#(?P\d+)", + pattern=r'BB Pull Request ?#(?P\d+)', url='{BB}/pypa/setuptools/pull-request/{bb_pull_request}', ), dict( - pattern=r"Distribute #(?P\d+)", + pattern=r'Distribute #(?P\d+)', url='{BB}/tarek/distribute/issue/{distribute}', ), dict( - pattern=r"Buildout #(?P\d+)", + pattern=r'Buildout #(?P\d+)', url='{GH}/buildout/buildout/issues/{buildout}', ), dict( - pattern=r"Old Setuptools #(?P\d+)", + pattern=r'Old Setuptools #(?P\d+)', url='http://bugs.python.org/setuptools/issue{old_setuptools}', ), dict( - pattern=r"Jython #(?P\d+)", + pattern=r'Jython #(?P\d+)', url='http://bugs.jython.org/issue{jython}', ), dict( - pattern=r"Python #(?P\d+)", + pattern=r'Python #(?P\d+)', url='http://bugs.python.org/issue{python}', ), dict( - pattern=r"Interop #(?P\d+)", + pattern=r'Interop #(?P\d+)', url='{GH}/pypa/interoperability-peps/issues/{interop}', ), dict( - pattern=r"Pip #(?P\d+)", + pattern=r'Pip #(?P\d+)', url='{GH}/pypa/pip/issues/{pip}', ), dict( - pattern=r"Packaging #(?P\d+)", + pattern=r'Packaging #(?P\d+)', url='{GH}/pypa/packaging/issues/{packaging}', ), dict( - pattern=r"[Pp]ackaging (?P\d+(\.\d+)+)", + pattern=r'[Pp]ackaging (?P\d+(\.\d+)+)', url='{GH}/pypa/packaging/blob/{packaging_ver}/CHANGELOG.rst', ), dict( - pattern=r"PEP[- ](?P\d+)", + pattern=r'PEP[- ](?P\d+)', url='https://www.python.org/dev/peps/pep-{pep_number:0>4}/', ), dict( - pattern=r"setuptools_svn #(?P\d+)", + pattern=r'setuptools_svn #(?P\d+)', url='{GH}/jaraco/setuptools_svn/issues/{setuptools_svn}', ), dict( - pattern=r"^(?m)((?Pv?\d+(\.\d+){1,2}))\n[-=]+\n", - with_scm="{text}\n{rev[timestamp]:%d %b %Y}\n", + pattern=r'^(?m)((?Pv?\d+(\.\d+){1,2}))\n[-=]+\n', + with_scm='{text}\n{rev[timestamp]:%d %b %Y}\n', ), ], ), diff --git a/docs/requirements.txt b/docs/requirements.txt index 4be41887..7333dedd 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,3 @@ -rst.linker>=1.6.1 -sphinx>=1.4 +sphinx +rst.linker>=1.9 +jaraco.packaging>=3.2 -- cgit v1.2.1 From 23d74941204535bd08aec7699566865d810b52f7 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 30 Mar 2017 21:45:19 -0400 Subject: Require a late version of setuptools to allow the docs to invoke setup.py --- docs/requirements.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/requirements.txt b/docs/requirements.txt index 7333dedd..2138c884 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,5 @@ sphinx rst.linker>=1.9 jaraco.packaging>=3.2 + +setuptools>=34 -- cgit v1.2.1 From 52c58bedd49552359993b533fcd86da4ff58b0c2 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 30 Mar 2017 22:06:23 -0400 Subject: Add hack to invoke bootstrap script so that setup.py --version can be invoked. --- docs/conf.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 1b1bb5fb..36d3f24c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,6 +18,11 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. + +# hack to run the bootstrap script so that jaraco.packaging.sphinx +# can invoke setup.py +exec(open('../bootstrap.py').read()) + # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions -- cgit v1.2.1 From c9587fe384a2eab6e9d81408abb58936d15286ed Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 30 Mar 2017 22:18:49 -0400 Subject: Try running bootstrap in subprocess in order to be in the project root. --- docs/conf.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 36d3f24c..6119ad12 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,6 +21,9 @@ # hack to run the bootstrap script so that jaraco.packaging.sphinx # can invoke setup.py +import subprocess +import sys +subprocess.Popen([sys.executable, 'bootstrap.py'], cwd='..') exec(open('../bootstrap.py').read()) # -- General configuration ----------------------------------------------------- -- cgit v1.2.1 From 74329a7fa2a482309e4eb244b3920e28a76cfcbf Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 30 Mar 2017 22:23:04 -0400 Subject: Remove excess hack --- docs/conf.py | 1 - 1 file changed, 1 deletion(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 6119ad12..15061ecf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,7 +24,6 @@ import subprocess import sys subprocess.Popen([sys.executable, 'bootstrap.py'], cwd='..') -exec(open('../bootstrap.py').read()) # -- General configuration ----------------------------------------------------- -- cgit v1.2.1 From b10187e1fa7f602d7f5cc75821d14b494625aef9 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 30 Mar 2017 22:38:03 -0400 Subject: Make sure bootstrap finishes before continuing, and ensure that jaraco.packaging.sphinx is run before rst.linker. --- docs/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 15061ecf..7f781fef 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,13 +23,13 @@ # can invoke setup.py import subprocess import sys -subprocess.Popen([sys.executable, 'bootstrap.py'], cwd='..') +subprocess.check_call([sys.executable, 'bootstrap.py'], cwd='..') # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['rst.linker', 'sphinx.ext.autosectionlabel', 'jaraco.packaging.sphinx'] +extensions = ['jaraco.packaging.sphinx', 'rst.linker', 'sphinx.ext.autosectionlabel'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -- cgit v1.2.1 From 332b586b7c65dee7e9a2dbbcbc1c896f4a862a3f Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 31 Mar 2017 08:22:38 -0400 Subject: Hack must genuflect to the arbitrory invocation location --- docs/conf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 7f781fef..28f86da4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,7 +23,9 @@ # can invoke setup.py import subprocess import sys -subprocess.check_call([sys.executable, 'bootstrap.py'], cwd='..') +import os +proj_root = os.path.join(os.path.dirname(__file__), os.path.pardir) +subprocess.check_call([sys.executable, 'bootstrap.py'], cwd=proj_root) # -- General configuration ----------------------------------------------------- -- cgit v1.2.1 From e8ca95c2e12f46e203715194e4729f8b33de2c23 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 31 Mar 2017 08:27:33 -0400 Subject: Constrain hack to the RTD environment. Rely on bootstrap routine to make dependencies available. --- docs/conf.py | 13 ++++++++----- docs/requirements.txt | 2 -- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 28f86da4..f7d02303 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,14 +18,17 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. - -# hack to run the bootstrap script so that jaraco.packaging.sphinx -# can invoke setup.py import subprocess import sys import os -proj_root = os.path.join(os.path.dirname(__file__), os.path.pardir) -subprocess.check_call([sys.executable, 'bootstrap.py'], cwd=proj_root) + + +# hack to run the bootstrap script so that jaraco.packaging.sphinx +# can invoke setup.py +'READTHEDOCS' in os.environ and subprocess.check_call( + [sys.executable, 'bootstrap.py'], + cwd=os.path.join(os.path.dirname(__file__), os.path.pardir), +) # -- General configuration ----------------------------------------------------- diff --git a/docs/requirements.txt b/docs/requirements.txt index 2138c884..7333dedd 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,3 @@ sphinx rst.linker>=1.9 jaraco.packaging>=3.2 - -setuptools>=34 -- cgit v1.2.1 From bdbe0776c19646e703bd0b89ad3f33e6797256a7 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 31 Mar 2017 08:35:09 -0400 Subject: Although bootstrap.py is installing the deps, it removes them as well, so doc builds still require build deps. --- docs/requirements.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/requirements.txt b/docs/requirements.txt index 7333dedd..2138c884 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,5 @@ sphinx rst.linker>=1.9 jaraco.packaging>=3.2 + +setuptools>=34 -- cgit v1.2.1 From abaf7c4dd76c56eb509f6a5f6caa2f8e886801b6 Mon Sep 17 00:00:00 2001 From: Marcel Bargull Date: Fri, 7 Apr 2017 13:42:51 +0200 Subject: Fixes #999: support python_requires, py_modules in configuration files --- docs/setuptools.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index f0da6e1d..bf5bb8ce 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2425,6 +2425,7 @@ zip_safe bool setup_requires list-semi install_requires list-semi extras_require section +python_requires str entry_points file:, section use_2to3 bool use_2to3_fixers list-comma @@ -2440,6 +2441,7 @@ package_dir dict package_data section exclude_package_data section namespace_packages list-comma +py_modules list-comma ======================= ===== .. note:: -- cgit v1.2.1 From a9d403889def99bdb1a1d02b47b8247b3af0817a Mon Sep 17 00:00:00 2001 From: Igor Starikov Date: Wed, 12 Apr 2017 12:06:37 +0700 Subject: Docs: notes on setup.cfg and ez_setup (see # 1006) --- docs/setuptools.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index bf5bb8ce..eb9fdbd3 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -1176,6 +1176,8 @@ Distributing a ``setuptools``-based project Using ``setuptools``... Without bundling it! --------------------------------------------- +.. warning:: **ez_setup** is deprecated in favor of PIP with **PEP-518** support. + Your users might not have ``setuptools`` installed on their machines, or even if they do, it might not be the right version. Fixing this is easy; just download `ez_setup.py`_, and put it in the same directory as your ``setup.py`` @@ -2277,6 +2279,11 @@ New in 20.1: Added keyring support. Configuring setup() using setup.cfg files ----------------------------------------- +.. note:: New in 30.3.0 (8 Dec 2016). + +.. important:: ``setup.py`` with ``setup()`` function call is still required even + if your configuration resides in ``setup.cfg``. + ``Setuptools`` allows using configuration files (usually `setup.cfg`) to define package’s metadata and other options which are normally supplied to ``setup()`` function. -- cgit v1.2.1 From f69469b16da3ab755ca9719a5e800b27aea80f62 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 1 Jun 2017 09:15:12 -0400 Subject: Remove section on bootstrap branch, no longer relevant. --- docs/releases.txt | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'docs') diff --git a/docs/releases.txt b/docs/releases.txt index c84ddd75..5a0d0b01 100644 --- a/docs/releases.txt +++ b/docs/releases.txt @@ -12,21 +12,6 @@ is major, minor, or patch based on the scope of the changes in the release. Then, push the commits to the master branch. If tests pass, the release will be uploaded to PyPI (from the Python 3.5 tests). -Bootstrap Branch ----------------- - -Setuptools has a bootstrap script (ez_setup.py), which is hosted in the -repository in the ``bootstrap`` branch. - -Therefore, the latest bootstrap script can be retrieved by checking out -that branch. - -The officially-published location of the bootstrap script is hosted on Python -infrastructure (#python-infra on freenode) at https://bootstrap.pypa.io and -is updated every fifteen minutes from the bootstrap branch. Sometimes, -especially when the bootstrap script is rolled back, this -process doesn't work as expected and requires manual intervention. - Release Frequency ----------------- -- cgit v1.2.1 From 1b6d0c8088123a5bb8adaeda567fd58834f58e24 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 1 Jun 2017 11:09:08 -0400 Subject: Update release process to give guidance on updating the changelog prior to release. --- docs/releases.txt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/releases.txt b/docs/releases.txt index 5a0d0b01..da0e31f5 100644 --- a/docs/releases.txt +++ b/docs/releases.txt @@ -7,10 +7,20 @@ mechanical technique for releases, enacted by Travis following a successful build of a tagged release per `PyPI deployment `_. +Prior to cutting a release, please check that the CHANGES.rst reflects +the summary of changes since the last release. +Ideally, these changelog entries would have been added +along with the changes, but it's always good to check. +Think about it from the +perspective of a user not involved with the development--what would +that person want to know about what has changed--or from the +perspective of your future self wanting to know when a particular +change landed. + To cut a release, install and run ``bumpversion {part}`` where ``part`` is major, minor, or patch based on the scope of the changes in the release. Then, push the commits to the master branch. If tests pass, -the release will be uploaded to PyPI (from the Python 3.5 tests). +the release will be uploaded to PyPI (from the Python 3.6 tests). Release Frequency ----------------- -- cgit v1.2.1 From 1b2a92e97875b66d2c6244a249f5ecd711b5a717 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Thu, 1 Jun 2017 11:19:13 -0400 Subject: Use bump2version for releases so that annotated tags are employed. --- docs/releases.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/releases.txt b/docs/releases.txt index da0e31f5..30ea084f 100644 --- a/docs/releases.txt +++ b/docs/releases.txt @@ -17,7 +17,7 @@ that person want to know about what has changed--or from the perspective of your future self wanting to know when a particular change landed. -To cut a release, install and run ``bumpversion {part}`` where ``part`` +To cut a release, install and run ``bump2version {part}`` where ``part`` is major, minor, or patch based on the scope of the changes in the release. Then, push the commits to the master branch. If tests pass, the release will be uploaded to PyPI (from the Python 3.6 tests). -- cgit v1.2.1 From 675f5aad0f675ce3d7f3e0125d2ab69843babcbb Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Mon, 28 Aug 2017 10:42:52 +0300 Subject: Update docs with a file list usage example Now it's possible to use it like this: * long_description = file: README.rst, CHANGELOG.rst, LICENSE.rst --- docs/setuptools.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index eb9fdbd3..45d746d2 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2306,7 +2306,7 @@ boilerplate code in some cases. name = my_package version = attr: src.VERSION description = My package description - long_description = file: README.rst + long_description = file: README.rst, CHANGELOG.rst, LICENSE.rst keywords = one, two license = BSD 3-Clause License classifiers = @@ -2379,7 +2379,7 @@ Type names used below: Special directives: * ``attr:`` - value could be read from module attribute -* ``file:`` - value could be read from a file +* ``file:`` - value could be read from a list of files and then concatenated .. note:: -- cgit v1.2.1 From 6b65f6b0a4e116dc56217ad8bc92e2a57d8c15a3 Mon Sep 17 00:00:00 2001 From: Dustin Ingram Date: Mon, 28 Aug 2017 12:31:48 -0500 Subject: Add long_description_content_type to metadata table --- docs/setuptools.txt | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'docs') diff --git a/docs/setuptools.txt b/docs/setuptools.txt index 45d746d2..531d727c 100644 --- a/docs/setuptools.txt +++ b/docs/setuptools.txt @@ -2394,27 +2394,28 @@ Metadata Aliases given below are supported for compatibility reasons, but not advised. -================= ================= ===== -Key Aliases Accepted value type -================= ================= ===== -name str -version attr:, str -url home-page str -download_url download-url str -author str -author_email author-email str -maintainer str -maintainer_email maintainer-email str -classifiers classifier file:, list-comma -license file:, str -description summary file:, str -long_description long-description file:, str -keywords list-comma -platforms platform list-comma -provides list-comma -requires list-comma -obsoletes list-comma -================= ================= ===== +============================== ================= ===== +Key Aliases Accepted value type +============================== ================= ===== +name str +version attr:, str +url home-page str +download_url download-url str +author str +author_email author-email str +maintainer str +maintainer_email maintainer-email str +classifiers classifier file:, list-comma +license file:, str +description summary file:, str +long_description long-description file:, str +long_description_content_type str +keywords list-comma +platforms platform list-comma +provides list-comma +requires list-comma +obsoletes list-comma +============================== ================= ===== .. note:: -- cgit v1.2.1