|
| 1 | +========================== |
| 2 | +Information for organizers |
| 3 | +========================== |
| 4 | + |
| 5 | +Thanks for your interest in organizing one of the chapters of the pandas |
| 6 | +documentation sprint. It will surely be an amazing experience to work with |
| 7 | +Pythonistas all around the world. And the hundreds of thousands of users of |
| 8 | +pandas will surely appreciate having better documentation. |
| 9 | + |
| 10 | +This document provides the information you need, in order to join the sprint. |
| 11 | + |
| 12 | +The venue |
| 13 | +--------- |
| 14 | + |
| 15 | +The first thing, and in some cases the most difficult is to find a venue for |
| 16 | +the sprint. In most cases, sprints will be hosted in the offices of a company |
| 17 | +that will provide them for free. And even better, that will also provide |
| 18 | +drinks and lunch. |
| 19 | + |
| 20 | +It is up to you to decide the number of people who can join your sprint, but we |
| 21 | +do not recommend more than 20. If you are not that much experienced with open |
| 22 | +source, pandas or organizing events, probably 20 is even too much. |
| 23 | + |
| 24 | +The basic requirements for a venue is to have tables or desks for people to |
| 25 | +sit in a comfortable way, wifi, and electricity for people to charge their |
| 26 | +computers. |
| 27 | + |
| 28 | +If you are the organizer of a user group, probably you already have experience |
| 29 | +with it. If you are not, here you have some tips: |
| 30 | + |
| 31 | +Find the local user groups, mainly Python and PyData user groups. Organizers |
| 32 | +may already have some companies who hosted events before, and are happy to do |
| 33 | +it again. If that is not the case, they can mail the members of the community, |
| 34 | +and surely one of them works in a company happy to offer the venue. |
| 35 | + |
| 36 | +If that does not work for you, universities, local government agencies |
| 37 | +supporting employment and enterpreneurship, startup incubators, and |
| 38 | +co-working spaces, could be interested in offering you a venue. In general, |
| 39 | +it is easier to get a positive answer by trying to directly contact someone |
| 40 | +there, than by filling a form or sending an email to info@whatever. |
| 41 | + |
| 42 | +Another option is to check www.meetup.com for other groups (other programming |
| 43 | +languages or tech meetups mainly). See where they host their events, and if |
| 44 | +it seems like one of them could work, contact the organizer of the group to |
| 45 | +get introduced to their contact in the venue. |
| 46 | + |
| 47 | +One more option is to check for job offers related to pandas/Python, and |
| 48 | +contact the companies asking if they could be interested in hosting the event. |
| 49 | +Python programmers and data scientists are hard to find, and it can be a great |
| 50 | +opportunity for them, to get their company promoted. |
| 51 | + |
| 52 | +If nothing else works, you can find a bar, pub, restaurant... with some quiet |
| 53 | +area for the spint. And if you do not even find that, please contact us, and |
| 54 | +we will find a solution. |
| 55 | + |
| 56 | +The local community and publishing the event |
| 57 | +-------------------------------------------- |
| 58 | + |
| 59 | +Now that you have got a venue, you need people to come to the event. Again, if |
| 60 | +you are the organizer of a user group, you already know what to do. If you are |
| 61 | +not, get in touch with a local Python user group, or PyData meetup. To find |
| 62 | +them: |
| 63 | + |
| 64 | +* https://wiki.python.org/moin/LocalUserGroups |
| 65 | +* https://www.meetup.com/pro/pydata |
| 66 | +* Using a search engine |
| 67 | + |
| 68 | +Based on our experience, Python communities are always very welcoming, and happy |
| 69 | +to help. If they are using www.meetup.com, the simplest is that they create an |
| 70 | +event for you, and give you permissions as an event host, so you can manage the |
| 71 | +event. |
| 72 | + |
| 73 | +If the local community is using a distribution list, google groups, or something |
| 74 | +similar, you can use that to promote the sprint, but you can create the event in |
| 75 | +a page like www.eventbrite.com so you can manage and control attendance. |
| 76 | + |
| 77 | +In the unlikely case that there is no organized community where you are, you |
| 78 | +should consider starting one. The Python Software Foundation and NumFOCUS |
| 79 | +provide financial help to pay the meetup fees, and they can also help get |
| 80 | +started. |
| 81 | + |
| 82 | +Selecting attendees |
| 83 | +------------------- |
| 84 | + |
| 85 | +In general, most events are managed in a *first come, first served* way. While |
| 86 | +the decision on how to manage attendees is yours, we recommend to follow the |
| 87 | +next approach: |
| 88 | + |
| 89 | +* Ask people about their level in Python, pandas, git and contributing to open |
| 90 | + source |
| 91 | +* Do not let people join the event directly, add them to the waiting list first |
| 92 | + |
| 93 | +The reason for that, is that a sprint is different from talks are tutorials, in |
| 94 | +the way that people need to be independent and capable of working on the sprint |
| 95 | +task. If you have a sprint with only people who just started learning Python |
| 96 | +(which is not so unlikely), there is not much that will be done. And regardless |
| 97 | +of pandas and the contributions, this will be very disappointing for attendees. |
| 98 | + |
| 99 | +Keeping a good proportion of experienced people, will make sure that newcomers |
| 100 | +have someone to learn from, and people can make good contributions and enjoy |
| 101 | +the day. |
| 102 | + |
| 103 | +Another thing to consider when deciding the attendees, is inclusion and |
| 104 | +diversity. The Python community has put a lot of effort in being an inclusive |
| 105 | +community, and this is something good for all. In practice, you may want to |
| 106 | +give priority to people from underrepresented minorities. What is an |
| 107 | +underrepresented minority is subjective, but it is probably reasonable to |
| 108 | +consider: |
| 109 | + |
| 110 | +* Non male (which does not necessarily mean female) |
| 111 | +* People over an age (50 year old?) |
| 112 | +* Ethnical background depending on where you are |
| 113 | + |
| 114 | +We do not recommend asking people for their race, sexual orientation, |
| 115 | +religion... in order to find people from underrepresented minorities. We find |
| 116 | +a better practice to kindly request people to let you know if they consider |
| 117 | +they are, and use common sense based on their answers. |
| 118 | + |
| 119 | +Updating the global event website |
| 120 | +--------------------------------- |
| 121 | + |
| 122 | +When you find your venue, create the event... it would be good that you keep |
| 123 | +the main website of the event updated with it: |
| 124 | + |
| 125 | +https://python-sprints.github.io/pandas/ |
| 126 | + |
| 127 | +This way, anyone interested in joining (or organizing) the event in your city |
| 128 | +can quickly find you. |
| 129 | + |
| 130 | +To get your data in the website, the best option is to send a pull request |
| 131 | +adding the information of your chapter to the list of chapters: |
| 132 | + |
| 133 | +https://github.com/python-sprints/python-sprints.github.io/blob/master/pandas/index.html#L25 |
| 134 | + |
| 135 | +If you do not know how to send a pull request, it is a good time to start |
| 136 | +learning it, as in the sprint is basically what you need to do. :) |
| 137 | + |
| 138 | +In short: |
| 139 | + |
| 140 | +* Fork the repository (click on the top right "Fork" button at https://github.com/python-sprints/python-sprints.github.io |
| 141 | +* Clone your fork: `git clone git@github.com:<your-github-user>/python-sprints.github.io.git` |
| 142 | +* Inside your local copy of the repo (`cd python-sprints.github.io`)... |
| 143 | +* Create a branch for your changes: `git checkout -b adding_<your-city>_chapter` |
| 144 | +* Edit the file with the chapter info: `vim pandas/index.html` and add an entry with the same fields as the rest |
| 145 | +* Add your changed to be commited: `git add pandas/index.html` |
| 146 | +* Commit your changes: `git commit -m "Adding <your-city> to the pandas sprint page"` |
| 147 | +* Push your changes to your fork: `git push -u origin adding_<your-city>_chapter` |
| 148 | +* Create a pull request by clicking on the "Compare & pull request" button in the yellow box at https://github.com/python-sprints/python-sprints.github.io |
| 149 | +* Write a short description and save |
| 150 | + |
| 151 | +Getting ready for the sprint |
| 152 | +---------------------------- |
| 153 | + |
| 154 | +Even if writing documentation seems easy, it is not. And if you are not familiar |
| 155 | +contributing to open source, you probably discovered that sending a pull request |
| 156 | +is not trivial either. |
| 157 | + |
| 158 | +For this reason, we expect at least one person in each sprint, to make a |
| 159 | +contribution to the pandas documentation before the sprint. This way you |
| 160 | +will have a much better understanding of the process, and of all the subtle |
| 161 | +details concerning docstrings. |
| 162 | + |
| 163 | +For you first, and for all the participants in the sprint later, we prepared |
| 164 | +a guide with detailed information on all the required steps to work on the |
| 165 | +pandas documentation. |
| 166 | + |
| 167 | +At the moment this documentation is under discussion, but it will soon be |
| 168 | +in its final state. You can find it here: |
| 169 | + |
| 170 | +https://python-sprints.github.io/pandas/guide/contents.html |
| 171 | + |
| 172 | +There is a document on how to set up your computer for the sprint, which |
| 173 | +attendees are expected to follow before the sprint. |
| 174 | + |
| 175 | +Then there is a very detailed tutorial on how to write a docstring. |
| 176 | + |
| 177 | +Finally, there are instructions on how to send a pull request. |
| 178 | + |
| 179 | +The day of the sprint |
| 180 | +--------------------- |
| 181 | + |
| 182 | +On the day of the sprint, please be in the venue at least 30 minutes |
| 183 | +before the announced time (as many people usually arrived earlier). |
| 184 | + |
| 185 | +Before the sprint, every organizer will have the list of pandas methods |
| 186 | +and functions for their chapter. So, there is no duplicate work having |
| 187 | +people in different chapters working on the same. |
| 188 | + |
| 189 | +For your chapter, you need to manage that people do not duplicate |
| 190 | +work among this list. You can use a whiteboard, a shared google docs |
| 191 | +spreadsheet, or a gitter channel. Whatever you think it is better. |
| 192 | + |
| 193 | +We recommend people to pair program. Meaning that two people will |
| 194 | +be working in a single computer, and will discuss about everything |
| 195 | +they code. Ideally, pairs of experienced and junior people. Pair |
| 196 | +programming will not only make the experience more social and |
| 197 | +enjoyable, but will help avoid mistakes, and improve the quality |
| 198 | +of the documentation. |
| 199 | + |
| 200 | +Keep in mind that **the main goal of the event is that people have |
| 201 | +fun and enjoy the day**. For that, make sure: |
| 202 | + |
| 203 | +* Everybody is treated with courtesy, dignity and respect |
| 204 | +* There is no form of discrimination, harassment or bullying |
| 205 | + |
| 206 | +We do not expect to have any problem in this respect, but if you find any |
| 207 | +behavior that can make anyone feel uncomfortable, please let the person |
| 208 | +know politely, and keep a welcoming environment for everyone at all |
| 209 | +times. |
| 210 | + |
| 211 | +One important thing to consider, is that **quality is much more important |
| 212 | +than quantity**. For pandas, it will be much more productive if we send |
| 213 | +50 excellent pull requests, than if we send 500 not so good pull requests. |
| 214 | + |
| 215 | +Core developers are usually the bottle neck of open source projects. And |
| 216 | +while with their experience they will surely provide great reviews to |
| 217 | +enrich our contributions, we surely do not want to waste their time by reviewing |
| 218 | +code that doesn't work, spelling mistakes, bad grammar, incorrect text, or |
| 219 | +anything like that. In the documentation for the sprint we provide as many |
| 220 | +methods as possible to assure quality in our end. If there is something that |
| 221 | +you can do in your end, that is highly appreciated. |
| 222 | + |
| 223 | +Do not forget |
| 224 | +------------- |
| 225 | + |
| 226 | +Please, during the sprint do not forget to keep tweeting about your local |
| 227 | +chapter with the hashtag #PandasSprint. Also, make as many photos as possible. |
| 228 | + |
| 229 | +We will have a gitter channel for the people in all the sprints, so there is |
| 230 | +communication, and people can ask questions if they have them. The channel is: |
| 231 | + |
| 232 | +https://gitter.im/py-sprints/pandas-doc |
| 233 | + |
| 234 | +We can also create a specific channel for your chapter, if you think that is |
| 235 | +useful. |
| 236 | + |
| 237 | +We will also have couple of videocalls between chapters. Exact times will be |
| 238 | +announced later. We will use this hangouts link: |
| 239 | + |
| 240 | +https://plus.google.com/hangouts/_/calendar/Z2FyY2lhLm1hcmNAZ21haWwuY29t.7d3rc1ft3gocl3qo9eisarusn6?authuser=0 |
0 commit comments