├── 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() --------------------------------------------------------------------------------