├── projects
└── index.md
├── maintain-project
└── index.md
├── start-your-project
└── index.md
├── cpython
├── 2015-pyladies-cpython-guide
│ ├── README.txt
│ ├── checklists.rst
│ ├── README.md
│ ├── requirements.txt
│ ├── finding-your-groove.rst
│ ├── sprints.rst
│ ├── index.rst
│ ├── resources.rst
│ ├── make.bat
│ ├── Makefile
│ └── conf.py
├── index.md
└── gitcpython.md
└── README.md
/projects/index.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/maintain-project/index.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/start-your-project/index.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/README.txt:
--------------------------------------------------------------------------------
1 | This uses
2 | Python 3.4.2
3 |
4 | virtualenv = mydocs
5 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/checklists.rst:
--------------------------------------------------------------------------------
1 | .. checklists:
2 |
3 | Checklists
4 | ==========
5 |
6 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/README.md:
--------------------------------------------------------------------------------
1 | #The Jazzy Groove Guide to CPython Contribution
2 |
3 | This project is under active development. It will be moving to pyladies repo.
4 |
5 | We hope you find this guide useful.
6 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/requirements.txt:
--------------------------------------------------------------------------------
1 | Babel==1.3
2 | Jinja2==2.7.3
3 | MarkupSafe==0.23
4 | Pygments==2.0.2
5 | Sphinx==1.4
6 | alabaster==0.7.3
7 | docutils==0.12
8 | pytz==2015.2
9 | six==1.9.0
10 | snowballstemmer==1.2.0
11 | sphinx-rtd-theme==0.1.7
12 |
--------------------------------------------------------------------------------
/cpython/index.md:
--------------------------------------------------------------------------------
1 | # CPython Resources
2 |
3 | - [2015 Unofficial PyLadies Guide to Contributing to CPython](http://jazzy-groove-guide-to-cpython-contribution.readthedocs.io/en/latest/) and accompanying [PyCon talk by @willingc](https://www.youtube.com/watch?v=szeo1XgmuEk) and [slide deck](http://www.slideshare.net/willingc/finding-your-groove).
4 | - [Git and GitHub information on creating and applying a patch](gitcpython.md)
5 | - [CPython Dev Guide](http://cpython-devguide.readthedocs.io/en/latest/) Comprehensive guide for contributing to core python.
6 | - [Being a Core Developer in Python](https://youtu.be/voXVTjwnn-U?list=PL85KuAjbN_gtGn4v1ELSWJlTFZF_5Ciog) Keynote by Raymond Hettinger for PyBay 2016
7 | - [Python Core Mentorship Mailing List](https://mail.python.org/mailman/listinfo/core-mentorship)
8 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/finding-your-groove.rst:
--------------------------------------------------------------------------------
1 | .. _finding-your-groove:
2 |
3 | Finding your groove
4 | -------------------
5 |
6 | One. Two. Three. Four.
7 |
8 | Four basic steps to get started as a CPython
9 | contributor:
10 |
11 | * Commit
12 | * Jump into it
13 | * Find your rhythm
14 | * Improvise
15 |
16 | `Finding your groove: Contributing to CPython and beyond`_
17 | PyCon 2015 Talk by Carol Willing to inspire you as a contributor
18 | `Slide deck`_
19 |
20 | .. _`Finding your groove: Contributing to CPython and beyond`: https://youtu.be/szeo1XgmuEk
21 | .. _`Slide deck`: http://www.slideshare.net/willingc/finding-your-groove
22 |
23 | `Python Contributor Playlist`_
24 | Some music to inspire you as you contribute to the Python community
25 |
26 | .. _`Python Contributor Playlist`: https://open.spotify.com/user/12142510943/playlist/5lq2xOoWWebfsBZOqQIwjv
27 |
--------------------------------------------------------------------------------
/cpython/gitcpython.md:
--------------------------------------------------------------------------------
1 | # GitHub and patches
2 |
3 | ## Creating a patch
4 |
5 | 1. Clone the "semi-official" CPython repo on GitHub:
6 |
7 | $ git clone https://github.com/python/cpython.git
8 |
9 | 2. Change directory to cpython:
10 |
11 | $ cd cpython
12 |
13 | 3. Create and checkout a branch to work on the issue fix:
14 |
15 | $ git checkout -b fix_issue
16 |
17 | 4. Make changes to fix the issue.
18 |
19 | 5. Commit the changes:
20 |
21 | $ git add file1 file2 file3
22 | $ git commit -m"Commit message"
23 | $ git log --pretty=oneline -3
24 |
25 | 6. Create the patch (Note: this creates a patch of the differences between the
26 | master branch and the feature branch)
27 |
28 | $ git format-patch master --stdout > fix_issue.patch
29 |
30 | ## Testing a patch
31 |
32 | $ git apply --stat fix_issue.patch
33 |
34 | $ git apply --check fix_issue.patch
35 |
36 | ## Accepting a patch
37 |
38 | $ git am --signoff < fix_issue.patch
39 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # pyladies-maintainers
2 |
3 | PyLadies resources for open source project maintainers, core developers
4 | (including CPython), and aspiring project maintainers and core developers.
5 |
6 | ## Goal
7 |
8 | Create a monthly series of CPython contribution and internals instruction
9 |
10 | ## Contents
11 | - Projects maintained by members of the PyLadies community
12 | - Projects with PyLadies as core developers
13 | - [CPython resources](cpython/index.md)
14 | - Resources for project maintainers
15 |
16 | ## History
17 |
18 | ## Code of Conduct
19 | This repo follows the PyLadies Code of Conduct.
20 |
21 | ## Contribute resources
22 |
23 | ## License
24 |
25 | ## Research about mentoring
26 |
27 | - [Being a Mentor in open source projects; *I. Steinmacher et al*](https://doi.org/10.1186/s13174-021-00140-z)
28 | - [Guiding the Way: A Systematic Review of Mentoring Practices in Open Source Projects](http://dx.doi.org/10.2139/ssrn.4632896)
29 |
30 | ## Resources about DEI in Open Source
31 |
32 | - [2021 DEI Survey by Linux Foundation](https://8112310.fs1.hubspotusercontent-na1.net/hubfs/8112310/LF%20Research/2021%20DEI%20Survey%20-%20Results%20Deck.pdf)
33 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/sprints.rst:
--------------------------------------------------------------------------------
1 | .. sprints:
2 |
3 | Sprints
4 | =======
5 |
6 | Joining a sprint is fun. Imagine the opportunity to meet and code with people
7 | that also love Python. Sprints are productive, a time to build skills, and
8 | share knowledge.
9 |
10 | Consider joining the annual PyCon sprints or sprints at other conferences or
11 | user groups. Don't worry if you are new to CPython -- everybody is a beginner
12 | at something.
13 |
14 |
15 | Sprint participants
16 | -------------------
17 | `Helsinki Python Sprint 2014-08-02 `_
18 |
19 | `Brian Curtin's Beginners Guide to Python Core Development `_
20 |
21 |
22 | Sprint organizers
23 | -----------------
24 | `Boston CPython Sprint - How to run a sprint `_
25 |
26 | `In-Person Event Handbook `_
27 |
28 |
29 | Finding an issue
30 | ----------------
31 | `Customize your issue queries `_
32 |
33 |
34 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/index.rst:
--------------------------------------------------------------------------------
1 | .. jazzy-groove documentation master file, created by
2 | sphinx-quickstart on Sun Apr 5 12:54:20 2015.
3 | You can adapt this file completely to your liking, but it should at least
4 | contain the root `toctree` directive.
5 |
6 | The Jazzy Groove Guide to CPython Contribution
7 | ==============================================
8 |
9 | Welcome to the The Jazzy Groove Guide to CPython Contribution.
10 |
11 | This unofficial, concise, *inspirational* guide exists to provide contributors
12 | warm and welcoming encouragement to jump into CPython (core Python).
13 |
14 | **This guide is under development.**
15 |
16 | The `official documentation of CPython `_ is very
17 | detailed, helpful, and highly recommended reading. A nod of appreciation to
18 | documentation contributors, past and present. A good "first stop" doc is the
19 | `Python Developer's Guide `_.
20 |
21 | One, two, three, four. One, two, three, four. You have rhythm. You have
22 | interest. Next step? Start finding your CPython contribution groove.
23 |
24 |
25 | Contents:
26 |
27 | .. toctree::
28 | :maxdepth: 2
29 |
30 | finding-your-groove.rst
31 | resources.rst
32 | sprints.rst
33 | checklists.rst
34 |
35 |
36 | Indices and tables
37 | ==================
38 |
39 | * :ref:`genindex`
40 | * :ref:`modindex`
41 | * :ref:`search`
42 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/resources.rst:
--------------------------------------------------------------------------------
1 | .. _resources:
2 |
3 | Jump Into It
4 | ============
5 | Getting started as a contributor to CPython can feel a bit overwhelming. Where
6 | to start, who to ask, and what tools to use remind us that there are lots of
7 | details.
8 |
9 | A plan, just like learning to play an instrument or sing, can make the journey
10 | smoother. In music, one is always learning and refining one's skills. One key
11 | is to begin playing and listening immediately and then build up mastery over
12 | time.
13 |
14 | Let's see how the plan would look for CPython:
15 |
16 | Method and Sheet Music
17 | ======================
18 | Python Developer's Guide
19 | ------------------------
20 | `Python Developer's Guide`_
21 | Official documentation on how to contribute to CPython.
22 |
23 | .. _`Python Developer's Guide`: https://docs.python.org/devguide/index.html
24 |
25 | `Quickstart`_
26 | Steps for getting the source code and running the tests. Three concise steps
27 | have three one-line commands to:
28 |
29 | 1. Get the source
30 | 2. Build the source
31 | 3. Run the tests
32 |
33 | Go ahead. Give it a try.
34 |
35 | .. _`Quickstart`: https://docs.python.org/devguide/#quick-start
36 |
37 | Helpful 'Official' Documentation
38 | --------------------------------
39 | `Python Developer FAQ`_
40 | Q&A on Communications, Version Control, SSH, General topics
41 |
42 | .. _`Python Developer FAQ`: https://docs.python.org/devguide/faq.html
43 |
44 |
45 | `Core Developer Responsibilities`_
46 | Some reponsibilities of core developers to the community:
47 |
48 | * Be a good person.
49 | * Please be prompt in responding to questions.
50 | * Please list what areas you want to be considered an expert in the Experts Index.
51 | * Have fun.
52 |
53 | .. _`Core Developer Responsibilities`: https://docs.python.org/devguide/coredev.html#responsibilities
54 |
55 |
56 | `Experts Index`_
57 | A guide to developers and their expertise and interests in Stdlib, Tools, Platforms, and Miscellaneous.
58 |
59 | .. _`Experts Index`: https://docs.python.org/devguide/experts.html#experts
60 |
61 |
62 | `Developer Log`_
63 | Developers with commit privileges from April 2005.
64 |
65 | .. _`Developer Log`: https://docs.python.org/devguide/developers.html
66 |
67 | `Misc/porting source file `_
68 |
69 | `Misc/SpecialBuilds.txt source file `_
70 |
71 | Tools
72 | -----
73 | `Issue Tracker `_
74 |
75 | `Buildbot `_
76 |
77 |
78 | Release information
79 | -------------------
80 |
81 | `PEPs Python Enhancement Proposals`_
82 | Upcoming release content and timelines can be found here.
83 |
84 | .. _`PEPs Python Enhancement Proposals`: https://www.python.org/dev/peps/
85 |
86 | Communication
87 | -------------
88 | * Mailing Lists
89 | * IRC
90 | * Blogs
91 |
92 | Books
93 | -----
94 |
95 | Videos
96 | ------
97 | Brian Curtin The Development of Python and You
98 | http://pyvideo.org/video/432/pycon-2011--the-development-of-python-and-you
99 | Couple of years to core developer
100 | Why? Dive deeper into the code
101 | 38 responses
102 | easier to maintain upstream patches
103 | learning from smart people Guido
104 | challenge
105 | excitement software widely deployed
106 | python installed
107 | understand technologies
108 | better than day job
109 | give back
110 | why wouldn't i contribute
111 |
112 | Who?
113 | Anybody
114 | Around world
115 | 138 committers CPython
116 | 2010 62 active +20 new devs
117 | 2009 +9 people added
118 | Time - bottleneck
119 |
120 | How?
121 | Dev Guide Dr. Brett Cannon PSF grant 2 months/ porting guide
122 | 8:34 get the source
123 | hginit.com
124 | hgbook
125 |
126 | Building the source
127 | Building the docs - restructured text
128 | Testing - run the regression tests
129 | Bug regrtest resource warning 19:00
130 | Buildbots
131 |
132 |
133 | `Brett Cannon talk slides `_
134 |
135 |
136 | `Guido 2005 `_
137 |
138 | Anna Ravenscroft You can be a speaker at PyCon
139 | http://pyvideo.org/video/1728/you-can-be-a-speaker-at-pycon
140 |
141 | Eric Araujo How You Can Contribute to Python
142 | http://pyvideo.org/video/1578/how-you-can-contribute-to-python
143 | Documentation
144 |
145 | More links
146 | ----------
147 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/make.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | REM Command file for Sphinx documentation
4 |
5 | if "%SPHINXBUILD%" == "" (
6 | set SPHINXBUILD=sphinx-build
7 | )
8 | set BUILDDIR=_build
9 | set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
10 | set I18NSPHINXOPTS=%SPHINXOPTS% .
11 | if NOT "%PAPER%" == "" (
12 | set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
13 | set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
14 | )
15 |
16 | if "%1" == "" goto help
17 |
18 | if "%1" == "help" (
19 | :help
20 | echo.Please use `make ^` where ^ is one of
21 | echo. html to make standalone HTML files
22 | echo. dirhtml to make HTML files named index.html in directories
23 | echo. singlehtml to make a single large HTML file
24 | echo. pickle to make pickle files
25 | echo. json to make JSON files
26 | echo. htmlhelp to make HTML files and a HTML help project
27 | echo. qthelp to make HTML files and a qthelp project
28 | echo. devhelp to make HTML files and a Devhelp project
29 | echo. epub to make an epub
30 | echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
31 | echo. text to make text files
32 | echo. man to make manual pages
33 | echo. texinfo to make Texinfo files
34 | echo. gettext to make PO message catalogs
35 | echo. changes to make an overview over all changed/added/deprecated items
36 | echo. xml to make Docutils-native XML files
37 | echo. pseudoxml to make pseudoxml-XML files for display purposes
38 | echo. linkcheck to check all external links for integrity
39 | echo. doctest to run all doctests embedded in the documentation if enabled
40 | echo. coverage to run coverage check of the documentation if enabled
41 | goto end
42 | )
43 |
44 | if "%1" == "clean" (
45 | for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
46 | del /q /s %BUILDDIR%\*
47 | goto end
48 | )
49 |
50 |
51 | REM Check if sphinx-build is available and fallback to Python version if any
52 | %SPHINXBUILD% 2> nul
53 | if errorlevel 9009 goto sphinx_python
54 | goto sphinx_ok
55 |
56 | :sphinx_python
57 |
58 | set SPHINXBUILD=python -m sphinx.__init__
59 | %SPHINXBUILD% 2> nul
60 | if errorlevel 9009 (
61 | echo.
62 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
63 | echo.installed, then set the SPHINXBUILD environment variable to point
64 | echo.to the full path of the 'sphinx-build' executable. Alternatively you
65 | echo.may add the Sphinx directory to PATH.
66 | echo.
67 | echo.If you don't have Sphinx installed, grab it from
68 | echo.http://sphinx-doc.org/
69 | exit /b 1
70 | )
71 |
72 | :sphinx_ok
73 |
74 |
75 | if "%1" == "html" (
76 | %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
77 | if errorlevel 1 exit /b 1
78 | echo.
79 | echo.Build finished. The HTML pages are in %BUILDDIR%/html.
80 | goto end
81 | )
82 |
83 | if "%1" == "dirhtml" (
84 | %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
85 | if errorlevel 1 exit /b 1
86 | echo.
87 | echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
88 | goto end
89 | )
90 |
91 | if "%1" == "singlehtml" (
92 | %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
93 | if errorlevel 1 exit /b 1
94 | echo.
95 | echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
96 | goto end
97 | )
98 |
99 | if "%1" == "pickle" (
100 | %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
101 | if errorlevel 1 exit /b 1
102 | echo.
103 | echo.Build finished; now you can process the pickle files.
104 | goto end
105 | )
106 |
107 | if "%1" == "json" (
108 | %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
109 | if errorlevel 1 exit /b 1
110 | echo.
111 | echo.Build finished; now you can process the JSON files.
112 | goto end
113 | )
114 |
115 | if "%1" == "htmlhelp" (
116 | %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
117 | if errorlevel 1 exit /b 1
118 | echo.
119 | echo.Build finished; now you can run HTML Help Workshop with the ^
120 | .hhp project file in %BUILDDIR%/htmlhelp.
121 | goto end
122 | )
123 |
124 | if "%1" == "qthelp" (
125 | %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
126 | if errorlevel 1 exit /b 1
127 | echo.
128 | echo.Build finished; now you can run "qcollectiongenerator" with the ^
129 | .qhcp project file in %BUILDDIR%/qthelp, like this:
130 | echo.^> qcollectiongenerator %BUILDDIR%\qthelp\ipyagogo.qhcp
131 | echo.To view the help file:
132 | echo.^> assistant -collectionFile %BUILDDIR%\qthelp\ipyagogo.ghc
133 | goto end
134 | )
135 |
136 | if "%1" == "devhelp" (
137 | %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
138 | if errorlevel 1 exit /b 1
139 | echo.
140 | echo.Build finished.
141 | goto end
142 | )
143 |
144 | if "%1" == "epub" (
145 | %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
146 | if errorlevel 1 exit /b 1
147 | echo.
148 | echo.Build finished. The epub file is in %BUILDDIR%/epub.
149 | goto end
150 | )
151 |
152 | if "%1" == "latex" (
153 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
154 | if errorlevel 1 exit /b 1
155 | echo.
156 | echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
157 | goto end
158 | )
159 |
160 | if "%1" == "latexpdf" (
161 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
162 | cd %BUILDDIR%/latex
163 | make all-pdf
164 | cd %~dp0
165 | echo.
166 | echo.Build finished; the PDF files are in %BUILDDIR%/latex.
167 | goto end
168 | )
169 |
170 | if "%1" == "latexpdfja" (
171 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
172 | cd %BUILDDIR%/latex
173 | make all-pdf-ja
174 | cd %~dp0
175 | echo.
176 | echo.Build finished; the PDF files are in %BUILDDIR%/latex.
177 | goto end
178 | )
179 |
180 | if "%1" == "text" (
181 | %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
182 | if errorlevel 1 exit /b 1
183 | echo.
184 | echo.Build finished. The text files are in %BUILDDIR%/text.
185 | goto end
186 | )
187 |
188 | if "%1" == "man" (
189 | %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
190 | if errorlevel 1 exit /b 1
191 | echo.
192 | echo.Build finished. The manual pages are in %BUILDDIR%/man.
193 | goto end
194 | )
195 |
196 | if "%1" == "texinfo" (
197 | %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
198 | if errorlevel 1 exit /b 1
199 | echo.
200 | echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
201 | goto end
202 | )
203 |
204 | if "%1" == "gettext" (
205 | %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
206 | if errorlevel 1 exit /b 1
207 | echo.
208 | echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
209 | goto end
210 | )
211 |
212 | if "%1" == "changes" (
213 | %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
214 | if errorlevel 1 exit /b 1
215 | echo.
216 | echo.The overview file is in %BUILDDIR%/changes.
217 | goto end
218 | )
219 |
220 | if "%1" == "linkcheck" (
221 | %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
222 | if errorlevel 1 exit /b 1
223 | echo.
224 | echo.Link check complete; look for any errors in the above output ^
225 | or in %BUILDDIR%/linkcheck/output.txt.
226 | goto end
227 | )
228 |
229 | if "%1" == "doctest" (
230 | %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
231 | if errorlevel 1 exit /b 1
232 | echo.
233 | echo.Testing of doctests in the sources finished, look at the ^
234 | results in %BUILDDIR%/doctest/output.txt.
235 | goto end
236 | )
237 |
238 | if "%1" == "coverage" (
239 | %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
240 | if errorlevel 1 exit /b 1
241 | echo.
242 | echo.Testing of coverage in the sources finished, look at the ^
243 | results in %BUILDDIR%/coverage/python.txt.
244 | goto end
245 | )
246 |
247 | if "%1" == "xml" (
248 | %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
249 | if errorlevel 1 exit /b 1
250 | echo.
251 | echo.Build finished. The XML files are in %BUILDDIR%/xml.
252 | goto end
253 | )
254 |
255 | if "%1" == "pseudoxml" (
256 | %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
257 | if errorlevel 1 exit /b 1
258 | echo.
259 | echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
260 | goto end
261 | )
262 |
263 | :end
264 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/Makefile:
--------------------------------------------------------------------------------
1 | # Makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line.
5 | SPHINXOPTS =
6 | SPHINXBUILD = sphinx-build
7 | PAPER =
8 | BUILDDIR = _build
9 |
10 | # User-friendly check for sphinx-build
11 | ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12 | $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13 | endif
14 |
15 | # Internal variables.
16 | PAPEROPT_a4 = -D latex_paper_size=a4
17 | PAPEROPT_letter = -D latex_paper_size=letter
18 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19 | # the i18n builder cannot share the environment and doctrees with the others
20 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21 |
22 | .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
23 |
24 | help:
25 | @echo "Please use \`make ' where is one of"
26 | @echo " html to make standalone HTML files"
27 | @echo " dirhtml to make HTML files named index.html in directories"
28 | @echo " singlehtml to make a single large HTML file"
29 | @echo " pickle to make pickle files"
30 | @echo " json to make JSON files"
31 | @echo " htmlhelp to make HTML files and a HTML help project"
32 | @echo " qthelp to make HTML files and a qthelp project"
33 | @echo " applehelp to make an Apple Help Book"
34 | @echo " devhelp to make HTML files and a Devhelp project"
35 | @echo " epub to make an epub"
36 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37 | @echo " latexpdf to make LaTeX files and run them through pdflatex"
38 | @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39 | @echo " text to make text files"
40 | @echo " man to make manual pages"
41 | @echo " texinfo to make Texinfo files"
42 | @echo " info to make Texinfo files and run them through makeinfo"
43 | @echo " gettext to make PO message catalogs"
44 | @echo " changes to make an overview of all changed/added/deprecated items"
45 | @echo " xml to make Docutils-native XML files"
46 | @echo " pseudoxml to make pseudoxml-XML files for display purposes"
47 | @echo " linkcheck to check all external links for integrity"
48 | @echo " doctest to run all doctests embedded in the documentation (if enabled)"
49 | @echo " coverage to run coverage check of the documentation (if enabled)"
50 |
51 | clean:
52 | rm -rf $(BUILDDIR)/*
53 |
54 | html:
55 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
56 | @echo
57 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
58 |
59 | dirhtml:
60 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
61 | @echo
62 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
63 |
64 | singlehtml:
65 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
66 | @echo
67 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
68 |
69 | pickle:
70 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
71 | @echo
72 | @echo "Build finished; now you can process the pickle files."
73 |
74 | json:
75 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
76 | @echo
77 | @echo "Build finished; now you can process the JSON files."
78 |
79 | htmlhelp:
80 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
81 | @echo
82 | @echo "Build finished; now you can run HTML Help Workshop with the" \
83 | ".hhp project file in $(BUILDDIR)/htmlhelp."
84 |
85 | qthelp:
86 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
87 | @echo
88 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \
89 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
90 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ipyagogo.qhcp"
91 | @echo "To view the help file:"
92 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ipyagogo.qhc"
93 |
94 | applehelp:
95 | $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
96 | @echo
97 | @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
98 | @echo "N.B. You won't be able to view it unless you put it in" \
99 | "~/Library/Documentation/Help or install it in your application" \
100 | "bundle."
101 |
102 | devhelp:
103 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
104 | @echo
105 | @echo "Build finished."
106 | @echo "To view the help file:"
107 | @echo "# mkdir -p $$HOME/.local/share/devhelp/ipyagogo"
108 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ipyagogo"
109 | @echo "# devhelp"
110 |
111 | epub:
112 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
113 | @echo
114 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
115 |
116 | latex:
117 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
118 | @echo
119 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
120 | @echo "Run \`make' in that directory to run these through (pdf)latex" \
121 | "(use \`make latexpdf' here to do that automatically)."
122 |
123 | latexpdf:
124 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
125 | @echo "Running LaTeX files through pdflatex..."
126 | $(MAKE) -C $(BUILDDIR)/latex all-pdf
127 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
128 |
129 | latexpdfja:
130 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
131 | @echo "Running LaTeX files through platex and dvipdfmx..."
132 | $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
133 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
134 |
135 | text:
136 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
137 | @echo
138 | @echo "Build finished. The text files are in $(BUILDDIR)/text."
139 |
140 | man:
141 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
142 | @echo
143 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
144 |
145 | texinfo:
146 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
147 | @echo
148 | @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
149 | @echo "Run \`make' in that directory to run these through makeinfo" \
150 | "(use \`make info' here to do that automatically)."
151 |
152 | info:
153 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
154 | @echo "Running Texinfo files through makeinfo..."
155 | make -C $(BUILDDIR)/texinfo info
156 | @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
157 |
158 | gettext:
159 | $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
160 | @echo
161 | @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
162 |
163 | changes:
164 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
165 | @echo
166 | @echo "The overview file is in $(BUILDDIR)/changes."
167 |
168 | linkcheck:
169 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
170 | @echo
171 | @echo "Link check complete; look for any errors in the above output " \
172 | "or in $(BUILDDIR)/linkcheck/output.txt."
173 |
174 | doctest:
175 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
176 | @echo "Testing of doctests in the sources finished, look at the " \
177 | "results in $(BUILDDIR)/doctest/output.txt."
178 |
179 | coverage:
180 | $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
181 | @echo "Testing of coverage in the sources finished, look at the " \
182 | "results in $(BUILDDIR)/coverage/python.txt."
183 |
184 | xml:
185 | $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
186 | @echo
187 | @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
188 |
189 | pseudoxml:
190 | $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
191 | @echo
192 | @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
193 |
--------------------------------------------------------------------------------
/cpython/2015-pyladies-cpython-guide/conf.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | #
4 | # jazzy-groove documentation build configuration file, created by
5 | # sphinx-quickstart on Sun Apr 5 12:54:20 2015.
6 | #
7 | # This file is execfile()d with the current directory set to its
8 | # containing dir.
9 | #
10 | # Note that not all possible configuration values are present in this
11 | # autogenerated file.
12 | #
13 | # All configuration values have a default; values that are commented out
14 | # serve to show the default.
15 |
16 | import sys
17 | import os
18 | import shlex
19 |
20 | # If extensions (or modules to document with autodoc) are in another directory,
21 | # add these directories to sys.path here. If the directory is relative to the
22 | # documentation root, use os.path.abspath to make it absolute, like shown here.
23 | #sys.path.insert(0, os.path.abspath('.'))
24 |
25 | # -- General configuration ------------------------------------------------
26 |
27 | # If your documentation needs a minimal Sphinx version, state it here.
28 | #needs_sphinx = '1.0'
29 |
30 | # Add any Sphinx extension module names here, as strings. They can be
31 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
32 | # ones.
33 | extensions = []
34 |
35 | # Add any paths that contain templates here, relative to this directory.
36 | templates_path = ['_templates']
37 |
38 | # The suffix(es) of source filenames.
39 | # You can specify multiple suffix as a list of string:
40 | # source_suffix = ['.rst', '.md']
41 | source_suffix = '.rst'
42 |
43 | # The encoding of source files.
44 | #source_encoding = 'utf-8-sig'
45 |
46 | # The master toctree document.
47 | master_doc = 'index'
48 |
49 | # General information about the project.
50 | project = 'jazzy-groove'
51 | copyright = '2015, Carol Willing'
52 | author = 'Carol Willing'
53 |
54 | # The version info for the project you're documenting, acts as replacement for
55 | # |version| and |release|, also used in various other places throughout the
56 | # built documents.
57 | #
58 | # The short X.Y version.
59 | version = '1.0'
60 | # The full version, including alpha/beta/rc tags.
61 | release = '1.0'
62 |
63 | # The language for content autogenerated by Sphinx. Refer to documentation
64 | # for a list of supported languages.
65 | #
66 | # This is also used if you do content translation via gettext catalogs.
67 | # Usually you set "language" from the command line for these cases.
68 | language = None
69 |
70 | # There are two options for replacing |today|: either, you set today to some
71 | # non-false value, then it is used:
72 | #today = ''
73 | # Else, today_fmt is used as the format for a strftime call.
74 | #today_fmt = '%B %d, %Y'
75 |
76 | # List of patterns, relative to source directory, that match files and
77 | # directories to ignore when looking for source files.
78 | exclude_patterns = ['_build']
79 |
80 | # The reST default role (used for this markup: `text`) to use for all
81 | # documents.
82 | #default_role = None
83 |
84 | # If true, '()' will be appended to :func: etc. cross-reference text.
85 | #add_function_parentheses = True
86 |
87 | # If true, the current module name will be prepended to all description
88 | # unit titles (such as .. function::).
89 | #add_module_names = True
90 |
91 | # If true, sectionauthor and moduleauthor directives will be shown in the
92 | # output. They are ignored by default.
93 | #show_authors = False
94 |
95 | # The name of the Pygments (syntax highlighting) style to use.
96 | pygments_style = 'sphinx'
97 |
98 | # A list of ignored prefixes for module index sorting.
99 | #modindex_common_prefix = []
100 |
101 | # If true, keep warnings as "system message" paragraphs in the built documents.
102 | #keep_warnings = False
103 |
104 | # If true, `todo` and `todoList` produce output, else they produce nothing.
105 | todo_include_todos = False
106 |
107 |
108 | # -- Options for HTML output ----------------------------------------------
109 |
110 | # The theme to use for HTML and HTML Help pages. See the documentation for
111 | # a list of builtin themes.
112 | html_theme = 'alabaster'
113 |
114 | # Theme options are theme-specific and customize the look and feel of a theme
115 | # further. For a list of options available for each theme, see the
116 | # documentation.
117 | #html_theme_options = {}
118 |
119 | # Add any paths that contain custom themes here, relative to this directory.
120 | #html_theme_path = []
121 |
122 | # The name for this set of Sphinx documents. If None, it defaults to
123 | # " v documentation".
124 | #html_title = None
125 |
126 | # A shorter title for the navigation bar. Default is the same as html_title.
127 | #html_short_title = None
128 |
129 | # The name of an image file (relative to this directory) to place at the top
130 | # of the sidebar.
131 | #html_logo = None
132 |
133 | # The name of an image file (within the static path) to use as favicon of the
134 | # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
135 | # pixels large.
136 | #html_favicon = None
137 |
138 | # Add any paths that contain custom static files (such as style sheets) here,
139 | # relative to this directory. They are copied after the builtin static files,
140 | # so a file named "default.css" will overwrite the builtin "default.css".
141 | html_static_path = ['_static']
142 |
143 | # Add any extra paths that contain custom files (such as robots.txt or
144 | # .htaccess) here, relative to this directory. These files are copied
145 | # directly to the root of the documentation.
146 | #html_extra_path = []
147 |
148 | # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
149 | # using the given strftime format.
150 | #html_last_updated_fmt = '%b %d, %Y'
151 |
152 | # If true, SmartyPants will be used to convert quotes and dashes to
153 | # typographically correct entities.
154 | #html_use_smartypants = True
155 |
156 | # Custom sidebar templates, maps document names to template names.
157 | #html_sidebars = {}
158 |
159 | # Additional templates that should be rendered to pages, maps page names to
160 | # template names.
161 | #html_additional_pages = {}
162 |
163 | # If false, no module index is generated.
164 | #html_domain_indices = True
165 |
166 | # If false, no index is generated.
167 | #html_use_index = True
168 |
169 | # If true, the index is split into individual pages for each letter.
170 | #html_split_index = False
171 |
172 | # If true, links to the reST sources are added to the pages.
173 | #html_show_sourcelink = True
174 |
175 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
176 | #html_show_sphinx = True
177 |
178 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
179 | #html_show_copyright = True
180 |
181 | # If true, an OpenSearch description file will be output, and all pages will
182 | # contain a tag referring to it. The value of this option must be the
183 | # base URL from which the finished HTML is served.
184 | #html_use_opensearch = ''
185 |
186 | # This is the file name suffix for HTML files (e.g. ".xhtml").
187 | #html_file_suffix = None
188 |
189 | # Language to be used for generating the HTML full-text search index.
190 | # Sphinx supports the following languages:
191 | # 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
192 | # 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr'
193 | #html_search_language = 'en'
194 |
195 | # A dictionary with options for the search language support, empty by default.
196 | # Now only 'ja' uses this config value
197 | #html_search_options = {'type': 'default'}
198 |
199 | # The name of a javascript file (relative to the configuration directory) that
200 | # implements a search results scorer. If empty, the default will be used.
201 | #html_search_scorer = 'scorer.js'
202 |
203 | # Output file base name for HTML help builder.
204 | htmlhelp_basename = 'jazzy-groovedoc'
205 |
206 | # -- Options for LaTeX output ---------------------------------------------
207 |
208 | latex_elements = {
209 | # The paper size ('letterpaper' or 'a4paper').
210 | #'papersize': 'letterpaper',
211 |
212 | # The font size ('10pt', '11pt' or '12pt').
213 | #'pointsize': '10pt',
214 |
215 | # Additional stuff for the LaTeX preamble.
216 | #'preamble': '',
217 |
218 | # Latex figure (float) alignment
219 | #'figure_align': 'htbp',
220 | }
221 |
222 | # Grouping the document tree into LaTeX files. List of tuples
223 | # (source start file, target name, title,
224 | # author, documentclass [howto, manual, or own class]).
225 | latex_documents = [
226 | (master_doc, 'jazzy-groove.tex', 'jazzy-groove Documentation',
227 | 'Carol Willing', 'manual'),
228 | ]
229 |
230 | # The name of an image file (relative to this directory) to place at the top of
231 | # the title page.
232 | #latex_logo = None
233 |
234 | # For "manual" documents, if this is true, then toplevel headings are parts,
235 | # not chapters.
236 | #latex_use_parts = False
237 |
238 | # If true, show page references after internal links.
239 | #latex_show_pagerefs = False
240 |
241 | # If true, show URL addresses after external links.
242 | #latex_show_urls = False
243 |
244 | # Documents to append as an appendix to all manuals.
245 | #latex_appendices = []
246 |
247 | # If false, no module index is generated.
248 | #latex_domain_indices = True
249 |
250 |
251 | # -- Options for manual page output ---------------------------------------
252 |
253 | # One entry per manual page. List of tuples
254 | # (source start file, name, description, authors, manual section).
255 | man_pages = [
256 | (master_doc, 'jazzy-groove', 'jazzy-groove Documentation',
257 | [author], 1)
258 | ]
259 |
260 | # If true, show URL addresses after external links.
261 | #man_show_urls = False
262 |
263 |
264 | # -- Options for Texinfo output -------------------------------------------
265 |
266 | # Grouping the document tree into Texinfo files. List of tuples
267 | # (source start file, target name, title, author,
268 | # dir menu entry, description, category)
269 | texinfo_documents = [
270 | (master_doc, 'jazzy-groove', 'jazzy-groove Documentation',
271 | author, 'jazzy-groove', 'One line description of project.',
272 | 'Miscellaneous'),
273 | ]
274 |
275 | # Documents to append as an appendix to all manuals.
276 | #texinfo_appendices = []
277 |
278 | # If false, no module index is generated.
279 | #texinfo_domain_indices = True
280 |
281 | # How to display URL addresses: 'footnote', 'no', or 'inline'.
282 | #texinfo_show_urls = 'footnote'
283 |
284 | # If true, do not generate a @detailmenu in the "Top" node's menu.
285 | #texinfo_no_detailmenu = False
286 |
--------------------------------------------------------------------------------