├── LICENSE
├── README.md
├── docs
├── Makefile
├── code_of_conduct.rst
├── communication.rst
├── community_qa.rst
├── conf.py
├── images
│ ├── discord-guide-1.png
│ ├── discord-guide-10.png
│ ├── discord-guide-11.png
│ ├── discord-guide-12.png
│ ├── discord-guide-13.png
│ ├── discord-guide-14.png
│ ├── discord-guide-15.png
│ ├── discord-guide-2.png
│ ├── discord-guide-3.png
│ ├── discord-guide-4.png
│ ├── discord-guide-5.png
│ ├── discord-guide-6.png
│ ├── discord-guide-7.png
│ ├── discord-guide-8.png
│ └── discord-guide-9.png
├── index.rst
├── make.bat
├── participants.rst
├── projects.rst
├── requirements.txt
├── schedule.rst
├── social_activities.rst
└── tech_check.rst
└── scripts
└── scrapeslido.py
/LICENSE:
--------------------------------------------------------------------------------
1 | Creative Commons Legal Code
2 |
3 | CC0 1.0 Universal
4 |
5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12 | HEREUNDER.
13 |
14 | Statement of Purpose
15 |
16 | The laws of most jurisdictions throughout the world automatically confer
17 | exclusive Copyright and Related Rights (defined below) upon the creator
18 | and subsequent owner(s) (each and all, an "owner") of an original work of
19 | authorship and/or a database (each, a "Work").
20 |
21 | Certain owners wish to permanently relinquish those rights to a Work for
22 | the purpose of contributing to a commons of creative, cultural and
23 | scientific works ("Commons") that the public can reliably and without fear
24 | of later claims of infringement build upon, modify, incorporate in other
25 | works, reuse and redistribute as freely as possible in any form whatsoever
26 | and for any purposes, including without limitation commercial purposes.
27 | These owners may contribute to the Commons to promote the ideal of a free
28 | culture and the further production of creative, cultural and scientific
29 | works, or to gain reputation or greater distribution for their Work in
30 | part through the use and efforts of others.
31 |
32 | For these and/or other purposes and motivations, and without any
33 | expectation of additional consideration or compensation, the person
34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35 | is an owner of Copyright and Related Rights in the Work, voluntarily
36 | elects to apply CC0 to the Work and publicly distribute the Work under its
37 | terms, with knowledge of his or her Copyright and Related Rights in the
38 | Work and the meaning and intended legal effect of CC0 on those rights.
39 |
40 | 1. Copyright and Related Rights. A Work made available under CC0 may be
41 | protected by copyright and related or neighboring rights ("Copyright and
42 | Related Rights"). Copyright and Related Rights include, but are not
43 | limited to, the following:
44 |
45 | i. the right to reproduce, adapt, distribute, perform, display,
46 | communicate, and translate a Work;
47 | ii. moral rights retained by the original author(s) and/or performer(s);
48 | iii. publicity and privacy rights pertaining to a person's image or
49 | likeness depicted in a Work;
50 | iv. rights protecting against unfair competition in regards to a Work,
51 | subject to the limitations in paragraph 4(a), below;
52 | v. rights protecting the extraction, dissemination, use and reuse of data
53 | in a Work;
54 | vi. database rights (such as those arising under Directive 96/9/EC of the
55 | European Parliament and of the Council of 11 March 1996 on the legal
56 | protection of databases, and under any national implementation
57 | thereof, including any amended or successor version of such
58 | directive); and
59 | vii. other similar, equivalent or corresponding rights throughout the
60 | world based on applicable law or treaty, and any national
61 | implementations thereof.
62 |
63 | 2. Waiver. To the greatest extent permitted by, but not in contravention
64 | of, applicable law, Affirmer hereby overtly, fully, permanently,
65 | irrevocably and unconditionally waives, abandons, and surrenders all of
66 | Affirmer's Copyright and Related Rights and associated claims and causes
67 | of action, whether now known or unknown (including existing as well as
68 | future claims and causes of action), in the Work (i) in all territories
69 | worldwide, (ii) for the maximum duration provided by applicable law or
70 | treaty (including future time extensions), (iii) in any current or future
71 | medium and for any number of copies, and (iv) for any purpose whatsoever,
72 | including without limitation commercial, advertising or promotional
73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74 | member of the public at large and to the detriment of Affirmer's heirs and
75 | successors, fully intending that such Waiver shall not be subject to
76 | revocation, rescission, cancellation, termination, or any other legal or
77 | equitable action to disrupt the quiet enjoyment of the Work by the public
78 | as contemplated by Affirmer's express Statement of Purpose.
79 |
80 | 3. Public License Fallback. Should any part of the Waiver for any reason
81 | be judged legally invalid or ineffective under applicable law, then the
82 | Waiver shall be preserved to the maximum extent permitted taking into
83 | account Affirmer's express Statement of Purpose. In addition, to the
84 | extent the Waiver is so judged Affirmer hereby grants to each affected
85 | person a royalty-free, non transferable, non sublicensable, non exclusive,
86 | irrevocable and unconditional license to exercise Affirmer's Copyright and
87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the
88 | maximum duration provided by applicable law or treaty (including future
89 | time extensions), (iii) in any current or future medium and for any number
90 | of copies, and (iv) for any purpose whatsoever, including without
91 | limitation commercial, advertising or promotional purposes (the
92 | "License"). The License shall be deemed effective as of the date CC0 was
93 | applied by Affirmer to the Work. Should any part of the License for any
94 | reason be judged legally invalid or ineffective under applicable law, such
95 | partial invalidity or ineffectiveness shall not invalidate the remainder
96 | of the License, and in such case Affirmer hereby affirms that he or she
97 | will not (i) exercise any of his or her remaining Copyright and Related
98 | Rights in the Work or (ii) assert any associated claims and causes of
99 | action with respect to the Work, in either case contrary to Affirmer's
100 | express Statement of Purpose.
101 |
102 | 4. Limitations and Disclaimers.
103 |
104 | a. No trademark or patent rights held by Affirmer are waived, abandoned,
105 | surrendered, licensed or otherwise affected by this document.
106 | b. Affirmer offers the Work as-is and makes no representations or
107 | warranties of any kind concerning the Work, express, implied,
108 | statutory or otherwise, including without limitation warranties of
109 | title, merchantability, fitness for a particular purpose, non
110 | infringement, or the absence of latent or other defects, accuracy, or
111 | the present or absence of errors, whether or not discoverable, all to
112 | the greatest extent permissible under applicable law.
113 | c. Affirmer disclaims responsibility for clearing rights of other persons
114 | that may apply to the Work or any use thereof, including without
115 | limitation any person's Copyright and Related Rights in the Work.
116 | Further, Affirmer disclaims responsibility for obtaining any necessary
117 | consents, permissions or other rights required for any use of the
118 | Work.
119 | d. Affirmer understands and acknowledges that Creative Commons is not a
120 | party to this document and has no duty or obligation with respect to
121 | this CC0 or use of the Work.
122 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # core-sprint
2 |
3 | Repo for Virtual Core Dev Sprint 2020.
4 |
5 | The sprint is scheduled for **Oct 19 - 23, 2020**. This will be an online event instead of the in-person sprint.
6 |
7 | # About core dev sprint
8 |
9 | The sprint is normally a weeklong (5 work days) sprint, where we would have focus time to
10 | work on CPython, finish your PEPs, review pull requests, etc.
11 |
12 | All core devs, Python triage members, and active core dev mentees are invited to participate.
13 |
14 | Sign up form: https://forms.gle/84NkyYt5g616fs1r5
15 |
16 | Details: https://python-core-sprint-2020.readthedocs.io/
17 |
18 | Organized by Mariatta & Kyle Stanley & Ewa Jodlowska
19 |
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line, and also
5 | # from the environment for the first two.
6 | SPHINXOPTS ?=
7 | SPHINXBUILD ?= sphinx-build
8 | SOURCEDIR = .
9 | BUILDDIR = _build
10 |
11 | # Put it first so that "make" without argument is like "make help".
12 | help:
13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14 |
15 | .PHONY: help Makefile
16 |
17 | # Catch-all target: route all unknown targets to Sphinx using the new
18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19 | %: Makefile
20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
21 |
--------------------------------------------------------------------------------
/docs/code_of_conduct.rst:
--------------------------------------------------------------------------------
1 | Code of Conduct
2 | ===============
3 |
4 | The PSF's `Code of Conduct `_ applies
5 | and will be enforced.
6 |
7 | If you want to report incidents that occur during the sprint, please report
8 | it to The PSF's Code of Conduct working group. They can be reached by
9 | emailing conduct-wg@python.org
10 |
11 | Among the core sprint attendees, Carol Willing and Brett Cannon are members
12 | of the Code of Conduct work group.
13 |
14 |
15 |
--------------------------------------------------------------------------------
/docs/communication.rst:
--------------------------------------------------------------------------------
1 | Communication
2 | =============
3 |
4 | The sprint is attended by people from various timezones, so expect more
5 | asynchronous discussions throughout the sprint.
6 |
7 | We will be using Discord to communicate during the sprint. See the
8 | :ref:`Discord Guide` for more details.
9 |
10 | Additionally we will use Zoom for the kick-off and send-off meetings and for
11 | group video chats.
12 |
13 | Starting a new meeting
14 | ----------------------
15 |
16 | You're free to schedule a meeting with another participant anytime. When you
17 | scheduled a meeting, please add the meeting to the shared Google Calendar.
18 | Once you add the meeting to Google Calendar, it will be automatically announced
19 | on Discord. Other sprint attendees will be able to discover your scheduled
20 | meeting, and join in if they're interested too.
21 |
22 | Remember to take notes during your meeting!
23 |
24 | Note taking
25 | -----------
26 |
27 | We heard that people didn't like HackMD from last year's sprint. So this time
28 | we have decided to use Google Docs. We will be creating the Google Docs and
29 | share the links.
30 |
31 | When you're in a group meeting, please remember to take down notes, so those
32 | unable to attend the meeting can get up speed.
33 |
34 | We have created a Google Doc for each project. You can find the link to
35 | the notes in :ref:`projects`. We will ensure that each participant will
36 | have access to all the docs as it gets closer to the sprint.
37 |
38 |
39 | .. _Discord Guide:
40 |
41 | Discord Setup Guide
42 | ===================
43 |
44 | Welcome to the Discord setup guide! The information in this guide is mostly
45 | specific to sprint participants, and will cover:
46 |
47 | - :ref:`Privacy settings`
48 | - :ref:`Audio settings`
49 | - :ref:`UI settings`
50 | - :ref:`Joining Python Discord`
51 | - :ref:`Channel structure & navigation`
52 | - :ref:`Renaming categories & creating new channels`
53 |
54 | For additional details that cover the fundamentals of using Discord in general,
55 | I would recommend their `Beginner’s Guide `_.
56 | I’ll go over some basics, but the above guide is more detailed for first-time users.
57 |
58 | For those who are very familiar with using Discord, feel free to skip to “Joining Python Discord”.
59 |
60 | As a very general Discord recommendation, I would advise downloading the desktop
61 | client at https://discord.com/download. Generally, it looks and functions
62 | better as a full-screen desktop application rather than in the browser as a web
63 | application, but either works reasonably well.
64 |
65 | If anything is unclear, either within this guide or in using Discord in
66 | general, feel free to reach out to the author directly at aeros167@gmail.com or
67 | via DM on discuss.python.org to aeros.
68 |
69 |
70 | .. _Privacy settings:
71 |
72 | Privacy settings
73 | ----------------
74 |
75 | Prior to joining any public server (especially highly populated ones), it is
76 | recommended to configure account privacy settings to disallow DMs from server
77 | members, and strictly allow friend requests from existing friends.
78 |
79 | After clicking the gear box in the lower left corner, proceed to
80 | “User Settings > Privacy & Safety”:
81 |
82 | .. image:: images/discord-guide-1.png
83 | :width: 400
84 | :alt: Privacy settings
85 |
86 | In the above image, the relevant options are highlighted:
87 |
88 | “Allow direct messages from server members”: **Off**. Without this setting, any
89 | member on a mutual server would be able to directly send messages.
90 |
91 | “Who can add you as a friend?”: **Friends of Friends only**. Using this setting,
92 | only those who are friends with your existing friends will be able to send
93 | friend requests. This requires at least one mutual friend in order for others
94 | to add you, but it will drastically reduce the pool of potential users that can
95 | send friend requests.
96 |
97 | As for that one mutual friend, **I would recommend for participants to send a
98 | friend request to aeros#0717**, and then add each other. This would allow each
99 | participant of the sprint to easily DM anyone they’ve added.
100 |
101 | For participants that don’t have a substantial public following, simply disabling DMs from server members and allowing anyone to add you as a friend will likely be sufficient. The above recommended settings are to ensure minimization of undesired contact. Less restrictive settings will make it easier to add others, so it might be worth starting with those and making them more strict as needed. This setup usually works well for me, with only a few intermittent random friend requests.
102 |
103 | The options below this area contains additional settings related to privacy
104 | between the user and Discord. Since these are purely personal decisions and
105 | have no direct impact on the sprint, it will not be covered in this guide.
106 |
107 |
108 | .. _Audio settings:
109 |
110 | Audio settings
111 | --------------
112 |
113 | The default settings can work reasonably well prior to joining, but I have a few specific recommendations based on my own experience with Discord.
114 |
115 | The audio settings can be accessed by clicking the lower left gearbox and going to “App Settings > Voice & Video”.
116 |
117 | .. image:: images/discord-guide-2.png
118 | :width: 400
119 | :alt: Audio settings
120 |
121 | At the top of the page, it is worth briefly verifying that the input/output
122 | devices match the ones that are desired to use, such as selecting your headset
123 | instead of built-in audio. Also, be sure to click “Let’s Check” to verify that
124 | discord is able to pick up on your voice.
125 |
126 | As for the recommended input settings, it depends upon local audio setup.
127 |
128 | If relying on a built-in area mic such as for a phone or laptop, I would
129 | strongly recommend usage of “Push to Talk” (otherwise, it will likely pick up
130 | on any background noise). Otherwise, if using a headset (with some noise
131 | cancellation) or dedicated microphone (with a pop filter), “Voice Activity”
132 | with “Automatically determine input sensitivity” generally works well.
133 |
134 | The “Video settings” section below allows you to select an external recording
135 | device (such as for face cam), and below that are more advanced audio
136 | settings. I generally leave these on the defaults, but experimenting with them
137 | may be worthwhile if you are experiencing issues with your voice not being
138 | detected (such as disabling “Noise Suppression”, “Noise Reduction”, and/or
139 | “Advanced Voice Activity”). For further troubleshooting, I’d recommend
140 | `Discord’s guide `_.
141 |
142 |
143 | .. _UI settings:
144 |
145 | UI settings
146 | -----------
147 |
148 | This will be the most opinionated part of the guide, and if you are satisfied with the default settings, this part can be safely skipped. However, I personally like to use a compact mode that minimizes extraneous elements (such as profile pictures) to fit more messages on the screen, while still having a font size and spacing large enough to easily read. This is more similar to an IRC style, for those familiar with it.
149 |
150 | The UI settings can be accessed by clicking on the user settings gearbox in the lower left and going to “App Settings > Appearance”:
151 |
152 | .. image:: images/discord-guide-3.png
153 | :width: 400
154 | :alt: UI settings
155 |
156 | My recommended settings are:
157 |
158 | “Message Display”: “Compact”
159 |
160 | “Chat font scaling”: 18px
161 |
162 | “Space between message groups”: 4px
163 |
164 | Of course, this can easily be tweaked as needed to increase font size or
165 | spacing based on eyesight, screen resolution, and personal preferences. On
166 | smaller resolutions, adjusting the zoom size will make it easier to see more
167 | channels at once.
168 |
169 |
170 | .. _Joining Python Discord:
171 |
172 | Joining Python Discord
173 | ----------------------
174 |
175 | Python Discord (the public server where the sprint is being hosted) can be joined through the following perma-link: https://discord.gg/Q87A9Y9.
176 |
177 | If you haven’t already, I’d recommend creating a discord account prior to joining, and double-checking that your personal privacy settings are as intended.
178 |
179 | When first joining the server, you will see a limited preview until verifying (this is to prevent/limit bot accounts from joining). In order to do so, click on the channel titled “verification”:
180 |
181 | .. image:: images/discord-guide-4.png
182 | :scale: 50%
183 | :alt: Python discord verification
184 |
185 | Next, simply type “!accept” within the chat and press enter after reading over
186 | the server rules (they are very brief and mostly common sense). Welcome to
187 | Python Discord!
188 |
189 | At this point, if it is before the start of the sprint, you will likely see
190 | the standard layout of channels within the server that are viewable by all
191 | verified users. Feel free to explore around if you’re curious, notably
192 | “python-general”, “advanced-discussion”, and the topical channels might be of
193 | interest.
194 |
195 | Prior to the sprint, all participants will be granted a sprint participant
196 | role on the server that will allow them to see the channels we will be using
197 | throughout the sprint. In order to do this, an announcement will be sent out
198 | to collect IDs ahead of time, and then a script will be used to automatically
199 | grant the role to everyone that provided their ID.
200 |
201 | However, for this to work, participants must already be on the server (in order
202 | to give them the role). If the sprint has already started or you are joining
203 | the server late, reach out directly to an organizer of the event (such as
204 | myself, at aeros167@gmail.com) and we can grant you the role manually after
205 | joining.
206 |
207 |
208 | .. _Channel structure & navigation:
209 |
210 | Channel structure & navigation
211 | ------------------------------
212 |
213 | After being granted the sprint participant role, you will see something like the following channel layout at the top of the server:
214 |
215 | .. image:: images/discord-guide-5.png
216 | :scale: 75%
217 | :alt: Sprint channel layout
218 |
219 | These categories are where the sprint will be primarily taking place, and will
220 | only be visible to participants and the admin team at Python Discord (other
221 | than the Q&A voice channel, which will be opened to users of the server to join
222 | muted on Oct. 20th when it takes place).
223 |
224 | Discord uses two primary types of channels: text channels and voice channels.
225 | Text channels are indicated by a pound/hash (#) symbol to the left of the name,
226 | and voice/video channels are indicated by the audio symbol (🔊). Any channel
227 | can be joined simply by left-clicking on it.
228 |
229 | You can simultaneously view a text channel while being present in a voice
230 | channel. This is done by simply left-clicking the text channel after joining
231 | the voice channel. Typically, the corresponding intended text channel will have
232 | a similar name; e.g. “general” for the text channel and “General” for the
233 | voice channel, or in a nearby pair like “discussion” and “voice” within a
234 | category. This way, those without a mic can listen in and respond via text, or
235 | other content like links, images, or code blocks (standard markdown format) can
236 | be shared in the text channel.
237 |
238 | For example, this is what it might look like while being in the “General” voice
239 | channel while simultaneously viewing the “general” text channel (with the
240 | contents of the channel appearing in the center of the screen).
241 |
242 | .. image:: images/discord-guide-6.png
243 | :scale: 75%
244 | :alt: Text and voice channel
245 |
246 | The next component to be aware of are categories, which act as a visual means
247 | to separate groupings of channels. They can be expanded or collapsed either by
248 | left-clicking on individual categories or on platforms where available,
249 | **ctrl+shift+a** to toggle collapse/expand all channels.
250 |
251 | .. image:: images/discord-guide-7.png
252 | :scale: 75%
253 | :alt: Categories
254 |
255 | As for the overall channel layout, the sprint encompasses all categories
256 | starting from “Python Core Dev Sprint” all the way down to the separator
257 | “END OF SPRINT”. Below that contains the typical channels viewable by all users
258 | on Python Discord.
259 |
260 | The first category, “Python Core Dev Sprint”, contains the following:
261 |
262 | .. image:: images/discord-guide-8.png
263 | :scale: 75%
264 | :alt: Python core dev sprint category
265 |
266 | - announcements - used for communicating event and sprint project start times
267 | as well as general reminders that are relevant to all participants.
268 |
269 | - information - will contain a link to this guide and contact info of
270 | organizers for help.
271 |
272 | - general/General - used as a general-purpose chat room for all participants
273 | and location to ask questions that are not specific to a sprint project.
274 |
275 | - social/Social - used as channels for general social activities or
276 | unstructured chatting. This is a great location to take a break from working on
277 | a project and leisurely talk to other participants.
278 |
279 | - Escape Room - specifically used for participation in the virtual escape room
280 | social activity.
281 |
282 | - Python Core Dev Q&A - used for hosting the community -> core dev Q&A
283 | session taking place on Oct. 20th. Note that this channel will be the only
284 | publicly viewable and joinable channel by users of the server (muted), so
285 | it’s not suited for private discussions.
286 |
287 | The remaining categories are for individual sprint projects, with each
288 | containing at least one pair of voice/text channels to use. For example:
289 |
290 | .. image:: images/discord-guide-9.png
291 | :alt: Sprint project category
292 |
293 | These channels should be used whenever working collaboratively on a specific
294 | project, and the category or channel name should reflect the project being
295 | worked on. This will make it easy for other sprint participants to easily see
296 | what others are working on and change between projects as desired.
297 |
298 | The last “Sprint - Other” channel will be used as an overflow category, in case
299 | all other sprint project categories are currently occupied.
300 |
301 | While working on a specific project, I’d recommend collapsing the other sprint
302 | categories. Icons of participants in other voice channels will still be
303 | visible, and can be clicked on to see who it belongs to. This helps to
304 | minimize overall visual clutter, and easily locate relevant channels.
305 |
306 | The last important general channel usage topic are voice channel specific
307 | features, such as screen sharing, enabling video, muting, and deafening. After
308 | joining a voice channel, the following menu should be visible in the lower left
309 | of of your application:
310 |
311 | .. image:: images/discord-guide-10.png
312 | :alt: Voice channel menu
313 |
314 | Clicking on “Screen” will open a menu that allows you to screen share a
315 | specific application or monitor, which will be visible to other participants in
316 | the channel. “Video” can be clicked on for showing a webcam (or other video
317 | device). The phone with the x can be used to leave the channel. The mute/deafen
318 | ones below it are fairly self-explanatory, with the mic being the universal
319 | mute icon and the headphones being deafen.
320 |
321 |
322 | .. _Renaming categories & creating new channels:
323 |
324 | Renaming categories & creating new channels
325 | ---------------------------------------------
326 |
327 | In order to minimize the total amount of visual clutter while still providing
328 | enough channels, we created 5 separate categories that can be reused for
329 | different projects. The current naming is based on the sprint projects with the
330 | most interested participants, but we’ve provided permissions for participants
331 | to easily change the name of each category. This should be done only if there
332 | is nobody else present within the voice channels (within the category) and a
333 | category for your sprint project is not listed.
334 |
335 | Also, **“Sprint - Stdlib” and “Sprint - Other” should NOT be renamed**.
336 | “Stdlib” will contain several channel pairs for each module, and “Other” is
337 | used as overflow.
338 |
339 | In order to rename a category, simply right click on it and select
340 | “Edit Category”. In the center of the screen, the following will appear:
341 |
342 | .. image:: images/discord-guide-11.png
343 | :alt: Edit category screen
344 |
345 | Then, after the “Sprint - “, write the name of your project. For example, if
346 | you wanted to work on the PEG parser, it could be renamed to “Sprint - PEG
347 | Parser”. Then, press “Save Changes” at the bottom to update the name:
348 |
349 | .. image:: images/discord-guide-12.png
350 | :alt: Save changes
351 |
352 | If all sprint project categories have participants in their voice channel(s),
353 | instead of renaming a category, a new text/voice channel pair can be added
354 | within “Sprint - Other”. This can be done by clicking on the “+” icon to the
355 | right of the channel name:
356 |
357 | .. image:: images/discord-guide-13.png
358 |
359 | Then, the following menu will appear:
360 |
361 | .. image:: images/discord-guide-14.png
362 | :alt: Create channel menu
363 |
364 | Within this menu, you can add new text or voice channels. For example, for
365 | working on Documentation, you might add a text channel titled “documentation”
366 | with a corresponding voice channel titled “Documentation”. This is what it
367 | would look like:
368 |
369 | .. image:: images/discord-guide-15.png
370 | :alt: Create voice/text channel pair
371 |
372 |
373 | Note that the permissions will be inherited based on the parent category, so
374 | any newly added channels will have the same restrictions to only being viewable
375 | by sprint participants (and server admins).
376 |
377 | There’s no hard limitation as to the number of channels that can be created,
378 | but to keep the total count to a minimum to make things easier to keep track
379 | of, we may periodically delete extra channels at the end of the sprint days.
380 | So, make sure to record any important information such as meeting notes within
381 | the google doc assigned to your project (or create a separate one if there
382 | isn’t). The doc for each project can be accessed via :ref:`projects`.
383 |
--------------------------------------------------------------------------------
/docs/community_qa.rst:
--------------------------------------------------------------------------------
1 | .. _community_qa:
2 |
3 | Python community Q&A session
4 | ============================
5 |
6 | We have collected questions from the community via `slido`_. We will then assign
7 | a question to a core dev before the Q&A start, so the core dev can come
8 | prepared with answer.
9 |
10 | The community Q&A session will be recorded and published to The PSF's YouTube channel.
11 |
12 | Schedule: Tuesday, Oct 20, 2020, 3 PM Central time.
13 |
14 | Python community had the opportunity to ask a question to core devs via `slido`_.
15 | This was open between **September 24 - September 30**.
16 |
17 | Core developers, please go to this `Google Sheets`_ and assign a question to yourself.
18 | We suggest prioritize answering the ones with most upvotes, however feel free to
19 | pick a question that you're comfortable with answering.
20 |
21 | .. seealso::
22 |
23 | :ref:`participants` and :ref:`projects` for the list of all sprint participants
24 | and their sprint projects
25 |
26 | Core devs participating in the Community Q&A
27 | --------------------------------------------
28 |
29 | - Joannah Nanjekye
30 | - Barry Warsaw
31 | - Pablo Galindo Salgado
32 | - Mariatta
33 | - Łukasz Langa
34 | - Senthil Kumaran
35 | - Carol Willing
36 | - Andrew Kuchling
37 | - Neil Schemenauer
38 | - Petr Viktorin, if there's relevant question
39 | - Zach Ware
40 | - Brett Cannon
41 | - Eric V. Smith
42 | - Stefan Behnel
43 | - Ned Deily
44 | - Lysandros Nikolaou
45 | - Emily Morehouse
46 | - Jason R. Coombs
47 | - Kyle
48 | - Terry Jan Reedy
49 | - Guido van Rossum
50 | - Thomas Wouters
51 | - Yury Selivanov, can answer questions re asyncio
52 | - Steve Dower, if there's relevant question
53 | - Christian Heimes
54 | - Eric Snow
55 | - Gregory P. Smith
56 | - Brandt Bucher
57 | - Mark Shannon
58 |
59 |
60 | .. _slido: https://app.sli.do/event/d4ifvw2o/live/questions
61 | .. _Google Sheets: https://docs.google.com/spreadsheets/d/1WjXUc1Ryh_XTeHGCMmY1KTfT-EiKJzYcWNBu2v-SnoE/edit?usp=sharing
--------------------------------------------------------------------------------
/docs/conf.py:
--------------------------------------------------------------------------------
1 | # Configuration file for the Sphinx documentation builder.
2 | #
3 | # This file only contains a selection of the most common options. For a full
4 | # list see the documentation:
5 | # https://www.sphinx-doc.org/en/master/usage/configuration.html
6 |
7 | # -- Path setup --------------------------------------------------------------
8 |
9 | # If extensions (or modules to document with autodoc) are in another directory,
10 | # add these directories to sys.path here. If the directory is relative to the
11 | # documentation root, use os.path.abspath to make it absolute, like shown here.
12 | #
13 | # import os
14 | # import sys
15 | # sys.path.insert(0, os.path.abspath('.'))
16 |
17 |
18 | # -- Project information -----------------------------------------------------
19 |
20 | project = 'Python Core Sprint 2020'
21 | copyright = '2020, Mariatta'
22 | author = 'Mariatta'
23 |
24 |
25 | # -- General configuration ---------------------------------------------------
26 |
27 | # Add any Sphinx extension module names here, as strings. They can be
28 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
29 | # ones.
30 | extensions = [
31 | ]
32 |
33 | # Add any paths that contain templates here, relative to this directory.
34 | # templates_path = ['_templates']
35 |
36 | # List of patterns, relative to source directory, that match files and
37 | # directories to ignore when looking for source files.
38 | # This pattern also affects html_static_path and html_extra_path.
39 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
40 |
41 |
42 | # -- Options for HTML output -------------------------------------------------
43 |
44 | # The theme to use for HTML and HTML Help pages. See the documentation for
45 | # a list of builtin themes.
46 | #
47 | html_theme = 'python_docs_theme'
48 |
49 | # Add any paths that contain custom static files (such as style sheets) here,
50 | # relative to this directory. They are copied after the builtin static files,
51 | # so a file named "default.css" will overwrite the builtin "default.css".
52 | # html_static_path = ['_static']
53 |
54 | html_theme_options = {
55 | 'collapsiblesidebar': True,
56 | 'externalrefs': True,
57 | 'issues_url': 'https://github.com/python/core-sprint/issues'
58 | }
59 |
60 | master_doc = "index"
--------------------------------------------------------------------------------
/docs/images/discord-guide-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-1.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-10.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-11.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-12.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-13.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-14.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-15.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-2.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-3.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-4.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-5.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-6.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-7.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-8.png
--------------------------------------------------------------------------------
/docs/images/discord-guide-9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/python/core-sprint/f1cbd7ed9815aa31bd66035817327a0e89090136/docs/images/discord-guide-9.png
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | .. Python Core Sprint 2020 documentation master file, created by
2 | sphinx-quickstart on Tue Sep 8 19:32:57 2020.
3 | You can adapt this file completely to your liking, but it should at least
4 | contain the root `toctree` directive.
5 |
6 | Python Core Sprint 2020
7 | =======================
8 |
9 | Issue Tracker and Discussions: https://github.com/python/core-sprint
10 |
11 | For questions and suggestions about the sprint, please open an issue or
12 | a discussion item in the `core-sprint `_
13 | repo.
14 |
15 | For sensitive and private discussions, please get in touch with one of the
16 | organizers: Mariatta, Kyle Stanley or Ewa Jodlowska.
17 |
18 | The sprint is scheduled for **Oct 19 - 23, 2020**. This will be an online event
19 | instead of the in-person sprint.
20 |
21 | The sprint is normally a weeklong (5 work days) sprint, where we would have
22 | focus time to work on CPython, finish your PEPs, review pull requests, etc.
23 |
24 | All core devs, Python triage members, and active core dev mentees are
25 | invited to participate.
26 |
27 | Sign up form: https://forms.gle/84NkyYt5g616fs1r5
28 |
29 | After signing up through the form, please add yourself to this doc by
30 | creating a pull request. You'll want to add yourself to :ref:`participants`,
31 | :ref:`projects`, and if applicable :ref:`community_qa`.
32 |
33 | **Help improve this documentation** by opening an issue or creating a pull
34 | request at https://github.com/python/core-sprint
35 |
36 |
37 | .. toctree::
38 | :maxdepth: 2
39 | :caption: Contents:
40 |
41 |
42 | code_of_conduct
43 | schedule
44 | participants
45 | projects
46 | communication
47 | community_qa
48 | social_activities
49 | tech_check
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/docs/make.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | pushd %~dp0
4 |
5 | REM Command file for Sphinx documentation
6 |
7 | if "%SPHINXBUILD%" == "" (
8 | set SPHINXBUILD=sphinx-build
9 | )
10 | set SOURCEDIR=.
11 | set BUILDDIR=_build
12 |
13 | if "%1" == "" goto help
14 |
15 | %SPHINXBUILD% >NUL 2>NUL
16 | if errorlevel 9009 (
17 | echo.
18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19 | echo.installed, then set the SPHINXBUILD environment variable to point
20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you
21 | echo.may add the Sphinx directory to PATH.
22 | echo.
23 | echo.If you don't have Sphinx installed, grab it from
24 | echo.http://sphinx-doc.org/
25 | exit /b 1
26 | )
27 |
28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29 | goto end
30 |
31 | :help
32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33 |
34 | :end
35 | popd
36 |
--------------------------------------------------------------------------------
/docs/participants.rst:
--------------------------------------------------------------------------------
1 | .. _participants:
2 |
3 | Participant List
4 | ================
5 |
6 | The following is a list of core developers, bug triage, and mentees participating
7 | in Python Core Sprint 2020.
8 |
9 | .. seealso::
10 |
11 | :ref:`projects` for the list of sprint projects.
12 |
13 |
14 | All core devs, Python triage members, and active core dev mentees are invited to participate.
15 |
16 | You are a core developer if:
17 |
18 | - You're listed as a member of `Python core `_
19 | team on GitHub, or
20 |
21 | - You're listed in Devguide's `Developer Log `_
22 |
23 | You are a Python triage members if:
24 |
25 | - You have the "Developer" role in bugs.python.org, or
26 |
27 | - You're listed as a member of `Python triage `_
28 | team on GitHub
29 |
30 | If you have not signed up and would like to participate, please fill in this form:
31 | https://forms.gle/84NkyYt5g616fs1r5
32 |
33 | After signing up through the form, please add yourself to this doc by
34 | creating a pull request. You'll want to add yourself to :ref:`participants`,
35 | :ref:`projects`, and if applicable :ref:`community_qa`.
36 |
37 | .. seealso::
38 |
39 | `Timezone converter `_.
40 |
41 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
42 | | Name | Status | Timezone | GitHub Handle | Notes |
43 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
44 | | Senthil Kumaran | Core Developer | UTC+9 | orsenthil | |
45 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
46 | | Dong-hee Na | Core Developer | UTC+9 | corona10 | |
47 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
48 | | Inada Naoki | Core Developer | UTC+9 | methane | |
49 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
50 | | Hai Shi | Mentee | UTC+8 | shihai1991 | Mentored by Victor Stinner |
51 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
52 | | Batuhan Taşkaya | Triage | UTC+3 | Isidentical | |
53 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
54 | | Lysandros Nikolaou | Core Developer | UTC+3 | lysnikolaou | |
55 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
56 | | Łukasz Langa | Core Developer | UTC+2 | ambv | |
57 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
58 | | Victor Stinner | Core Developer | UTC+2 | vstinner | |
59 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
60 | | Tal Einat | Core Developer | UTC+2 | taleinat | |
61 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
62 | | Petr Viktorin | Core Developer | UTC+2 | encukou | |
63 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
64 | | Stefan Behnel | Core Developer | UTC+2 | scoder | |
65 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
66 | | Ronald Oussoren | Core Developer | UTC+2 | ronaldoussoren | |
67 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
68 | | Thomas Wouters | Core Developer | UTC+2 | Yhg1s | |
69 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
70 | | Christian Heimes | Core Developer | UTC+2 | tiran | |
71 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
72 | | Pablo Galindo Salgado | Core Developer | UTC+1 | pablogsal | |
73 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
74 | | Vinay Sajip | Core Developer | UTC+1 | vsajip | |
75 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
76 | | Lewis Gaul | Mentee | UTC+1 | LewisGaul | Mentored by Eric Snow (excited too!) |
77 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
78 | | Mark Shannon | Core Developer | UTC+1 | markshannon | |
79 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
80 | | Filipe Laíns | Mentee | UTC+1 | FFY00 | Mentored by Jason R. Coombs |
81 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
82 | | Irit Katriel | Triage | UTC+1 | iritkatriel | |
83 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
84 | | Eric V. Smith | Core Developer | UTC-4 | ericvsmith | |
85 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
86 | | Ammar Askar | Triage | UTC-4 | ammaraskar | |
87 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
88 | | Ned Deily | Core Developer | UTC-4 | ned-deily | |
89 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
90 | | Jason R. Coombs | Core Developer | UTC-4 | jaraco | |
91 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
92 | | Kyle | Core Developer | UTC-4 | aeros | |
93 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
94 | | Joannah Nanjekye | Core Developer | UTC-4 | nanjekyejoannah | |
95 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
96 | | Terry Jan Reedy | Core Developer | UTC-4 | terryjreedy | |
97 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
98 | | Paul Ganssle | Core Developer | UTC-4 | pganssle | |
99 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
100 | | Éric Araujo | Core Developer | UTC-4 | merwok | |
101 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
102 | | Fred Drake | Core Developer | UTC-4 | freddrake | |
103 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
104 | | Andrew Kuchling | Core Developer | UTC-5 | akuchling | |
105 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
106 | | Zach Ware | Core Developer | UTC-5 | zware | |
107 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
108 | | Emily Morehouse | Core Developer | UTC-6 | emilyemorehouse | |
109 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
110 | | Eric Snow | Core Developer | UTC-6 | ericsnowcurrently | so excited! |
111 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
112 | | Barry Warsaw | Core Developer | UTC-7 | warsaw | |
113 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
114 | | Mariatta | Core Developer | UTC-7 | mariatta | |
115 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
116 | | Guido van Rossum | Core Developer | UTC-7 | gvanrossum | |
117 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
118 | | Carol Willing | Core Developer | UTC-7 | willingc | |
119 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
120 | | Neil Schemenauer | Core Developer | UTC-7 | nascheme | |
121 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
122 | | Brett Cannon | Core Developer | UTC-7 | brettcannon | |
123 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
124 | | Yury Selivanov | Core Developer | UTC-7 | 1st1 | |
125 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
126 | | Gregory P. Smith | Core Developer | UTC-7 | gps | I'm open to time-shifting a bit. |
127 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
128 | | Larry Hastings | Core Developer | UTC-7 | larryhastings | |
129 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
130 | | Brandt Bucher | Core Developer | UTC-7 | brandtbucher | |
131 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
132 | | Trent Nelson | Core Developer | UTC-8 | tpn | |
133 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
134 | | Steve Dower | Core Developer | UTC-8 | zooba | |
135 | +------------------------+-------------------+-----------+-------------------+--------------------------------------+
136 |
--------------------------------------------------------------------------------
/docs/projects.rst:
--------------------------------------------------------------------------------
1 | .. _projects:
2 |
3 | Sprint Projects
4 | ===============
5 |
6 | .. seealso::
7 |
8 | :ref:`participants` for the list of all sprint participants.
9 |
10 | As it gets closer to the sprint, we will ensure that all participants will have
11 | access to all the notes linked below.
12 |
13 | Sprint Blog Post
14 | ----------------
15 |
16 | Please help us write the sprint summary blog post! This will be posted in
17 | The PSF's blog. It would help us if you could share your daily updates below.
18 |
19 | `Draft of the Blog Post `_
20 |
21 | C-API/runtime/subinterpreters
22 | -----------------------------
23 |
24 | - Joannah Nanjekye
25 | - Pablo Galindo Salgado
26 | - Neil Schemenauer
27 | - Petr Viktorin
28 | - Stefan Behnel
29 | - Trent Nelson
30 | - Victor Stinner
31 | - Dong-hee Na
32 | - Christian Heimes
33 | - Eric Snow
34 | - Hai Shi
35 | - Gregory P. Smith
36 | - Lewis Gaul
37 | - Barry Warsaw
38 |
39 | `C-API/subinterpreters Notes `_.
40 |
41 | email
42 | -----
43 |
44 | - Barry Warsaw
45 |
46 | `email Notes `_.
47 |
48 | stdlib modules
49 | --------------
50 |
51 | - Barry Warsaw
52 | - Batuhan Taşkaya
53 | - Pablo Galindo Salgado
54 | - Senthil Kumaran
55 | - Stefan Behnel
56 | - Dong-hee Na
57 | - Guido van Rossum
58 | - Vinay Sajip
59 | - Éric Araujo
60 | - Irit Katriel
61 |
62 | `stdlib modules Notes `_.
63 |
64 | Parser improvements
65 | -------------------
66 |
67 | - Pablo Galindo Salgado
68 | - Lysandros Nikolaou
69 | - Guido van Rossum
70 |
71 | `Parser improvements Notes `_.
72 |
73 | Core workflow
74 | -------------
75 |
76 | - Mariatta: miss-islington, `bedevere issue #265 `_
77 | - Brett Cannon: GitHub action to calculate SC voter roll, VS Code dev container, GitHub action to detect when importlib.h is out-of-date
78 | - Tal Einat: Project status dashboard
79 |
80 | `Core workflow Notes `_.
81 |
82 | General issue triage/ PR reviews
83 | --------------------------------
84 |
85 | - Mariatta
86 | - Petr Viktorin
87 | - Andrew Kuchling
88 | - Zach Ware
89 | - Lysandros Nikolaou
90 | - Batuhan Taşkaya
91 | - Steve Dower
92 | - Guido van Rossum
93 | - Vinay Sajip
94 | - Gregory P. Smith
95 | - Brandt Bucher
96 | - Mark Shannon
97 | - Inada Naoki
98 | - Carol Willing
99 | - Éric Araujo
100 | - Irit Katriel
101 |
102 | `General issue triage/ PR reviews Notes `_.
103 |
104 | Release management
105 | ------------------
106 |
107 | - Łukasz Langa
108 | - Ned Deily
109 | - Pablo Galindo Salgado
110 |
111 | `Release management Notes `_.
112 |
113 | Typing
114 | ------
115 |
116 | - Łukasz Langa
117 | - Guido van Rossum
118 |
119 | `Typing Notes `_.
120 |
121 | asyncio
122 | -------
123 |
124 | - Carol Willing
125 | - Kyle
126 | - Yury Selivanov
127 | - Guido van Rossum
128 |
129 | `asyncio Notes `_.
130 |
131 | GC improvements
132 | ---------------
133 |
134 | - Neil Schemenauer
135 | - Pablo Galindo Salgado
136 | - Joannah Nanjekye
137 | - Mark Shannon
138 |
139 | `GC improvements Notes `_.
140 |
141 | Optimize startup time
142 | ---------------------
143 |
144 | - Neil Schemenauer
145 | - Eric Snow
146 | - Mark Shannon
147 | - Barry Warsaw
148 |
149 | `Optimize startup time Notes `_.
150 |
151 | Buildbot Configuration
152 | ----------------------
153 |
154 | - Zach Ware
155 |
156 | `Buildbot Configuration Notes `_.
157 |
158 | Deprecate old modules
159 | ---------------------
160 |
161 | - Brett Cannon: Pkgutil
162 |
163 | `Deprecate old modules Notes `_.
164 |
165 | F-strings
166 | ---------
167 |
168 | - Eric V. Smith
169 |
170 | `F-strings Notes `_.
171 |
172 | Dataclasses
173 | -----------
174 |
175 | - Eric V. Smith
176 |
177 | `Dataclasses Notes `_.
178 |
179 | Language Design Discussions
180 | ---------------------------
181 |
182 | - Stefan Behnel
183 | - Pablo Galindo Salgado
184 | - Emily Morehouse
185 | - Batuhan Taşkaya
186 | - Thomas Wouters
187 | - Guido van Rossum
188 | - Eric Snow
189 | - Vinay Sajip
190 | - Barry Warsaw
191 |
192 | `Language Design Discussions Notes `_.
193 |
194 | Windows
195 | -------
196 |
197 | - Trent Nelson
198 |
199 | `Windows Notes `_.
200 |
201 | MacOS
202 | -----
203 |
204 | - Ned Deily
205 | - Ronald Oussoren
206 |
207 | `MacOS Notes `_.
208 |
209 | DSLs and support for dynamic and/or annotated ASTs
210 | --------------------------------------------------
211 |
212 | - Emily Morehouse
213 | - Guido van Rossum
214 |
215 | `DSLs and support for dynamic and/or annotated ASTs Notes `_.
216 |
217 | Performance improvements
218 | ------------------------
219 |
220 | - Tal Einat
221 |
222 | `Performance improvements Notes `_.
223 |
224 | Increasing new contributors; mentorship
225 | ---------------------------------------
226 |
227 | - Tal Einat
228 | - Guido van Rossum
229 | - Eric Snow
230 | - Joannah Nanjekye
231 | - Mariatta
232 | - Carol Willing
233 | - Ammar Askar
234 | - Batuhan Taşkaya
235 | - Kyle Stanley
236 | - Lewis Gaul
237 | - Zach Ware
238 |
239 | `Increasing new contributors; mentorship Notes `_.
240 |
241 | importlib.resources
242 | -------------------
243 |
244 | - Jason R. Coombs
245 | - Filipe Laíns
246 | - Barry Warsaw
247 |
248 | `importlib.resources Notes `_.
249 |
250 | multiphase init and heap type
251 | -----------------------------
252 |
253 | - Hai Shi
254 | - Dong-hee Na
255 | - Eric Snow
256 |
257 | `multiphase init and heap type Notes `_.
258 |
259 | Documentation
260 | -------------
261 |
262 | - Terry Jan Reedy
263 | - Vinay Sajip
264 | - Gregory P. Smith
265 | - Mariatta
266 | - Carol Willing
267 | - Fred Drake
268 |
269 | `Documentation Notes `_.
270 |
271 | PEP 447
272 | -------
273 |
274 | - Ronald Oussoren
275 |
276 | `PEP 447 Notes `_.
277 |
278 | Security / SSL
279 | --------------
280 |
281 | - Christian Heimes
282 |
283 | `Security / SSL Notes `_.
284 |
285 | Gilectomy
286 | ---------
287 |
288 | - Larry Hastings
289 |
290 | New PEP
291 | -------
292 |
293 | - Larry Hastings
294 |
295 | Posix subprocess
296 | ----------------
297 |
298 | - Gregory P. Smith
299 |
300 | Build System
301 | ------------
302 |
303 | - Gregory P. Smith
304 |
305 | PEP 622/634 Structural Pattern Matching
306 | ---------------------------------------
307 |
308 | - Brandt Bucher
309 | - Barry Warsaw
310 | - Carol Willing
311 |
312 | Wheel interpreter naming for `3.10`
313 | -----------------------------------
314 | Or: Python 3.10 and the case of that pesky double-digit minor version number (`PR `__)
315 |
316 | - Brett Cannon
317 | - Ned Deily
318 | - Pablo Galindo Salgado
319 | - Barry Warsaw
320 |
321 | Hypothesis standard library tests
322 | ---------------------------------
323 |
324 | Trying to follow up on the proposal by Zac Hatfield-Dobbs from the language summit this year.
325 |
326 | - Paul Ganssle
327 |
328 | Auto-Formatting the CPython Codebase
329 | ------------------------------------
330 |
331 | - Ammar Askar
332 | - Batuhan Taşkaya
333 | - Dong-hee Na
334 | - Gregory P. Smith
335 | - Pablo Galindo Salgado
336 | - Tal Einat
337 |
--------------------------------------------------------------------------------
/docs/requirements.txt:
--------------------------------------------------------------------------------
1 | Sphinx==3.2.1
2 | python-docs-theme==2020.1
3 |
4 |
--------------------------------------------------------------------------------
/docs/schedule.rst:
--------------------------------------------------------------------------------
1 | Schedule
2 | ========
3 |
4 | The sprint will take place from **Oct 19 to 23, 2020**.
5 |
6 | We will have a live kick-off meeting on **Monday Oct 19, 9 AM PDT (4 PM UTC)**,
7 | and a send-off meeting on **Friday Oct 23, 9 AM PDT (4 PM UTC)**.
8 |
9 | The meetings will be recorded so those unable to attend the meeting can watch
10 | it afterwards.
11 |
12 | Other planned activities:
13 |
14 | - :ref:`community_qa`: 30 minutes Q & A Session
15 | - Core devs & Steering council Q&A session
16 | - :ref:`social`
17 | - :ref:`tech_check` session: the day before the sprint, for anyone who needs help with setting up Zoom, Discord, etc.
18 | - Group Photo
19 |
20 | Shared Google Calendar `Python Virtual Core Sprint Calendar `_
21 |
22 | .. raw:: html
23 |
24 |
25 |
26 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
27 | | Date | Time | Activity |
28 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
29 | | Sunday, Oct 18, 2020 | 3 PM - midnight Eastern | Tech check session |
30 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
31 | | Monday, Oct 19, 2020 | 9 AM Pacific (UTC-7) | Kick-off meeting (live, and recorded), followed with group photo |
32 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
33 | | Tuesday, Oct 20, 2020 | 3 PM Central | :ref:`community_qa` |
34 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
35 | | Wednesday, Oct 21, 2020 | 9 AM Pacific | Core devs & Steering council Q&A session |
36 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
37 | | Friday, Oct 22, 2020 | 9 AM Pacific | Send-off meeting (live, and recorded), followed with another group photo |
38 | +-------------------------+----------------------------+--------------------------------------------------------------------------+
39 |
--------------------------------------------------------------------------------
/docs/social_activities.rst:
--------------------------------------------------------------------------------
1 | .. _social:
2 |
3 | Social Activities
4 | =================
5 |
6 | .. contents::
7 |
8 | Escape Room
9 | -----------
10 |
11 | We will be playing the game `Escape From Cell 126 `_.
12 | (`Online review `_ of the game).
13 | We have purchased 6 access codes, so up to 6 teams can play on this game.
14 |
15 | If you'd like to join a game, please sign up by filling in this `Google Sheets `_.
16 | (You should have access to this if you've signed up for the sprint).
17 |
18 | If there are no more spots available and you'd like to play, please let us know!!
19 |
20 | **Each group is responsible to choose a time** to play the game. Allocate at
21 | least 1 hour to play it.
22 |
23 | Please read the following email ahead of time.
24 |
25 | Your escape adventure starts here!
26 | __________________________________
27 |
28 | Thank you for purchasing ESC From Cell 126. We can’t wait for you to get escaping!
29 | Make sure you read this email carefully. It includes **important information**
30 | about the game and **your unique game link**.
31 |
32 |
33 | **The important bits...**
34 |
35 |
36 | **Your team**
37 |
38 | You can have as many players in you team as you like but we think the game works
39 | best with 2-6 people. If you are playing with a remote team, you will need to
40 | set up a video call so you can talk to each other. We recommend using an app
41 | with the ability to screenshare such as Zoom, Google Meet, or Skype.
42 |
43 | **VERY IMPORTANT!!**
44 |
45 | If you are using the same device to play the game and video call, **do not
46 | block the right hand side of your screen** - this is where your clues are stored
47 | and you might miss them!!
48 |
49 | **Remote teams: to screenshare…or not to screenshare**
50 |
51 | You have two options when it comes to playing with a remote team:
52 |
53 | **Option 1)** You, as the organiser, go to the game link on your laptop or PC
54 | and screen share the game with your team. Get your team to go to the game link on
55 | their phones so they can read clues independently.
56 |
57 | **Option 2)** Your whole team goes to the game link on their laptop or PCs.
58 | This allows everyone to see the full game and interact with clues and puzzles.
59 | Just like in a real escape room, when one person solves a puzzle, it is solved
60 | for everyone. Similarly, if one person asks for a clue, the clue is shown to
61 | everyone.
62 |
63 | We like option one for teamwork but option two means everyone gets to play around
64 | with the puzzles. The choice is yours!
65 |
66 | **Your device and browser**
67 |
68 | A desktop or laptop is ideal but ultimately, you’ll need a device which is at
69 | least as big as an iPad in order to view the full game. You can view the clues
70 | on any device. Check whether your device is compatible by going to this
71 | `link `_.
72 |
73 | You should use the latest version of Google Chrome or Firefox to play the game
74 | on your laptop or PC. Other browsers may work but we cannot guarantee that all
75 | features will be supported. If you are using an iPad, we recommend using Safari.
76 |
77 | **What if I get stuck?**
78 |
79 | There are three hints available for every puzzle within the game.
80 | The hints will progressively give you more information. If you still do not
81 | have the correct answer after three hints, you will be able to view the answer.
82 |
83 | **Timings**
84 |
85 | You can start the game when you like. There is no time limit but most players
86 | finish the game in around 1 hour.
87 |
88 | **Can I play it again?**
89 |
90 | Your game link is unique and can only be used once. If you accidentally leave
91 | your game mid session, you can come back to it using the same link - all your
92 | progress will be saved.
93 |
94 | **The exciting bits...**
95 |
96 | Your unique game links:
97 |
98 | We will populate the `Google Sheets `_.
99 | with the game links prior to the start of the sprint.
100 |
101 |
102 | Good luck and happy escaping!
103 |
104 | **ESC The Game Team**
105 |
106 | Online Board Game
107 | -----------------
108 |
109 | Details TBD
110 |
111 | Unstructured social time
112 | ------------------------
113 |
114 | There will be a dedicated "break" room in Discord. Feel free to jump in there
115 | and chat with other attendees.
116 |
--------------------------------------------------------------------------------
/docs/tech_check.rst:
--------------------------------------------------------------------------------
1 | .. _tech_check:
2 |
3 | Tech check session/tech day
4 | ===========================
5 |
6 | On Oct. 18th (Sunday) from 3pm to 12am EST (UTC-4), there will be a tech check
7 | session hosted by Kyle Stanley. The purpose of this session will be for
8 | participants of the sprint to verify ahead of time that they have access to
9 | Python Discord (for the sprint channels), Zoom, working voice/audio, etc.
10 |
11 | During the period of 3pm to 12am EST, Kyle Stanley will be specifically
12 | available to answer any setup-related questions, either through text or
13 | voice/video call. Here are the preferred methods of contact:
14 |
15 | Email: aeros167@gmail.com
16 |
17 | Discord: aeros#0717 (send friend request first)
18 |
19 | For voice/video calls, use either Discord call or Google hangout call (Discord preferred).
20 |
21 | For any Discord setup related questions, make sure to view the
22 | :ref:`Discord Guide` prior to reaching out.
23 |
--------------------------------------------------------------------------------
/scripts/scrapeslido.py:
--------------------------------------------------------------------------------
1 | """
2 |
3 | 1. Download and save the html page from slido as "qa.html" (manual download): https://app.sli.do/event/d4ifvw2o/live/questions
4 | 2. `python3-m pip install beautifulsoup4` (in a virtualenv)
5 | 3. `python scrapeslido.py`
6 | 4. csv is created as "q_a_export.csv"
7 | """
8 |
9 | from bs4 import BeautifulSoup
10 | from dataclasses import dataclass
11 |
12 | import csv
13 |
14 | @dataclass
15 | class Question:
16 |
17 | author_name: str
18 | upvote_count: int
19 | question_text: str
20 | question_date: str
21 |
22 | def main():
23 |
24 | with open("./qa.html", "rb") as file:
25 | html = file.read()
26 | if html is not None:
27 | soup = BeautifulSoup(html, 'html.parser')
28 | question_items = soup.find_all("div", class_="card question-item")
29 | questions = []
30 | for question_item in question_items:
31 | question_text = question_item.select("div.question-item__body > span.Linkify")[0].text
32 | upvote_count = int(question_item.select("div.score > button > span")[0].text)
33 | author_name = question_item.select("div.question-item__author")[0].text
34 | question_date = question_item.select("div.question-item__date")[0].text
35 | q = Question(author_name, upvote_count, question_text, question_date)
36 | questions.append(q)
37 |
38 | with open("q_a_export.csv", "w+") as csvfile:
39 | writer = csv.writer(csvfile)
40 | for q in questions:
41 | writer.writerow([q.question_date, q.upvote_count, q.author_name, q.question_text])
42 |
43 | main()
--------------------------------------------------------------------------------