/usr/share/doc/python-setuptools-doc/html/developer-guide.html is in python-setuptools-doc 39.0.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Developer’s Guide for Setuptools — Python documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="The Internal Structure of Python Eggs" href="formats.html" />
<link rel="prev" title="Development on Setuptools" href="development.html" />
</head>
<body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="formats.html" title="The Internal Structure of Python Eggs"
accesskey="N">next</a></li>
<li class="right" >
<a href="development.html" title="Development on Setuptools"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Python documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="development.html" accesskey="U">Development on Setuptools</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="developer-s-guide-for-setuptools">
<h1><a class="toc-backref" href="#id1">Developer’s Guide for Setuptools</a><a class="headerlink" href="#developer-s-guide-for-setuptools" title="Permalink to this headline">¶</a></h1>
<p>If you want to know more about contributing on Setuptools, this is the place.</p>
<div class="contents topic" id="table-of-contents">
<p class="topic-title first"><strong>Table of Contents</strong></p>
<ul class="simple">
<li><a class="reference internal" href="#developer-s-guide-for-setuptools" id="id1">Developer’s Guide for Setuptools</a><ul>
<li><a class="reference internal" href="#recommended-reading" id="id2">Recommended Reading</a></li>
<li><a class="reference internal" href="#project-management" id="id3">Project Management</a></li>
<li><a class="reference internal" href="#authoring-tickets" id="id4">Authoring Tickets</a></li>
<li><a class="reference internal" href="#source-code" id="id5">Source Code</a></li>
<li><a class="reference internal" href="#testing" id="id6">Testing</a></li>
<li><a class="reference internal" href="#semantic-versioning" id="id7">Semantic Versioning</a></li>
<li><a class="reference internal" href="#building-documentation" id="id8">Building Documentation</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="recommended-reading">
<h2><a class="toc-backref" href="#id2">Recommended Reading</a><a class="headerlink" href="#recommended-reading" title="Permalink to this headline">¶</a></h2>
<p>Please read <a class="reference external" href="https://blog.jaraco.com/how-to-write-perfect-pull-request/">How to write the perfect pull request</a> 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.</p>
</div>
<div class="section" id="project-management">
<h2><a class="toc-backref" href="#id3">Project Management</a><a class="headerlink" href="#project-management" title="Permalink to this headline">¶</a></h2>
<p>Setuptools is maintained primarily in Github at <a class="reference external" href="https://github.com/pypa/setuptools">this home</a>. Setuptools is maintained under the
Python Packaging Authority (PyPA) with several core contributors. All bugs
for Setuptools are filed and the canonical source is maintained in Github.</p>
<p>User support and discussions are done through the issue tracker (for specific)
issues, through the distutils-sig mailing list, or on IRC (Freenode) at
#pypa.</p>
<p>Discussions about development happen on the pypa-dev mailing list or on
<a class="reference external" href="https://gitter.im/pypa/setuptools">Gitter</a>.</p>
</div>
<div class="section" id="authoring-tickets">
<h2><a class="toc-backref" href="#id4">Authoring Tickets</a><a class="headerlink" href="#authoring-tickets" title="Permalink to this headline">¶</a></h2>
<p>Before authoring any source code, it’s often prudent to file a ticket
describing the motivation behind making changes. First search to see if a
ticket already exists for your issue. If not, create one. Try to think from
the perspective of the reader. Explain what behavior you expected, what you
got instead, and what factors might have contributed to the unexpected
behavior. In Github, surround a block of code or traceback with the triple
backtick “```” so that it is formatted nicely.</p>
<p>Filing a ticket provides a forum for justification, discussion, and
clarification. The ticket provides a record of the purpose for the change and
any hard decisions that were made. It provides a single place for others to
reference when trying to understand why the software operates the way it does
or why certain changes were made.</p>
<p>Setuptools makes extensive use of hyperlinks to tickets in the changelog so
that system integrators and other users can get a quick summary, but then
jump to the in-depth discussion about any subject referenced.</p>
</div>
<div class="section" id="source-code">
<h2><a class="toc-backref" href="#id5">Source Code</a><a class="headerlink" href="#source-code" title="Permalink to this headline">¶</a></h2>
<p>Grab the code at Github:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ git checkout https://github.com/pypa/setuptools
</pre></div>
</div>
<p>If you want to contribute changes, we recommend you fork the repository on
Github, commit the changes to your repository, and then make a pull request
on Github. If you make some changes, don’t forget to:</p>
<ul class="simple">
<li>add a note in CHANGES.rst</li>
</ul>
<p>Please commit all changes in the ‘master’ branch against the latest available
commit or for bug-fixes, against an earlier commit or release in which the
bug occurred.</p>
<p>If you find yourself working on more than one issue at a time, Setuptools
generally prefers Git-style branches, so use Mercurial bookmarks or Git
branches or multiple forks to maintain separate efforts.</p>
<p>The Continuous Integration tests that validate every release are run
from this repository.</p>
</div>
<div class="section" id="testing">
<h2><a class="toc-backref" href="#id6">Testing</a><a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2>
<p>The primary tests are run using tox. To run the tests, first make
sure you have tox installed, then invoke it:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ tox
</pre></div>
</div>
<p>Under continuous integration, additional tests may be run. See the
<code class="docutils literal"><span class="pre">.travis.yml</span></code> file for full details on the tests run under Travis-CI.</p>
</div>
<div class="section" id="semantic-versioning">
<h2><a class="toc-backref" href="#id7">Semantic Versioning</a><a class="headerlink" href="#semantic-versioning" title="Permalink to this headline">¶</a></h2>
<p>Setuptools follows <code class="docutils literal"><span class="pre">semver</span></code>.</p>
</div>
<div class="section" id="building-documentation">
<h2><a class="toc-backref" href="#id8">Building Documentation</a><a class="headerlink" href="#building-documentation" title="Permalink to this headline">¶</a></h2>
<p>Setuptools relies on the Sphinx system for building documentation.
To accommodate RTD, docs must be built from the docs/ directory.</p>
<p>To build them, you need to have installed the requirements specified
in docs/requirements.txt. One way to do this is to use rwt:</p>
<blockquote>
<div>setuptools/docs$ python -m rwt -r requirements.txt – -m sphinx . html</div></blockquote>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Developer’s Guide for Setuptools</a><ul>
<li><a class="reference internal" href="#recommended-reading">Recommended Reading</a></li>
<li><a class="reference internal" href="#project-management">Project Management</a></li>
<li><a class="reference internal" href="#authoring-tickets">Authoring Tickets</a></li>
<li><a class="reference internal" href="#source-code">Source Code</a></li>
<li><a class="reference internal" href="#testing">Testing</a></li>
<li><a class="reference internal" href="#semantic-versioning">Semantic Versioning</a></li>
<li><a class="reference internal" href="#building-documentation">Building Documentation</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="development.html"
title="previous chapter">Development on Setuptools</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="formats.html"
title="next chapter">The Internal Structure of Python Eggs</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/developer-guide.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="formats.html" title="The Internal Structure of Python Eggs"
>next</a></li>
<li class="right" >
<a href="development.html" title="Development on Setuptools"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Python documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="development.html" >Development on Setuptools</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright .
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.7.
</div>
</body>
</html>
|