├── .editorconfig ├── .gitignore ├── README.md ├── build.py ├── coc.html ├── css ├── animate.css ├── bootstrap.min.css └── custom.css ├── data └── schedule.json ├── faq.html ├── favicon.png ├── feedback.html ├── fonts ├── FontAwesome.otf ├── font-awesome.min.css ├── fontawesome-webfont.eot ├── fontawesome-webfont.svg ├── fontawesome-webfont.ttf ├── fontawesome-webfont.woff ├── fontawesome-webfont.woff2 ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.woff └── glyphicons-halflings-regular.woff2 ├── home ├── _feed-box.html ├── _schedule.html ├── _speakers.html ├── _sponsors.html ├── _twitter-box.html └── _venue.html ├── images ├── Thumbs.db ├── bgimage.jpg ├── bgimagecircle.jpg ├── blog.png ├── boxbg.png ├── clouds.png ├── coc.png ├── delhi.jpg ├── faq.png ├── gear.png ├── gear2.png ├── gear3.png ├── icons │ ├── blog.png │ ├── coc.png │ ├── faq.png │ ├── schedule.png │ ├── sponsors.png │ ├── sship.png │ ├── team.png │ └── venue.png ├── keynote.jpg ├── leftbg1.jpg ├── leftftr.png ├── logolg.png ├── logos │ ├── digital-ocean.png │ ├── go_logo.png │ ├── goibibo_logo.png │ ├── iamai.png │ ├── jetbrains.svg │ ├── microsoft.png │ ├── pipal.png │ ├── placeholder.png │ ├── redhat.png │ └── zeomega.png ├── logosm.png ├── menubg.png ├── menubg1.png ├── mic.png ├── overbg.png ├── rightftr.png ├── schedule.png ├── skyline.png ├── speakers.png ├── speakers │ ├── andreas.jpg │ ├── baishampayan.jpg │ └── vanl.jpg ├── spo1.jpg ├── spo2.png ├── spon.png ├── sponsors.png ├── sship.png ├── tablebg.png ├── team.png ├── venue-jnu.png └── venue.png ├── index.html ├── js ├── bootstrap.min.js ├── custom.js ├── jquery.easing.1.3.js ├── jquery.matchHeight.js ├── jquery.min.js ├── jquery.scrollTo.min.js ├── ripple-config.js └── tweenmax.js ├── requirements.txt ├── sponsorship-prospectus.pdf ├── sponsorship.html ├── team.html └── templates ├── _base.jinja ├── _footer.html ├── _header.html ├── coc.html ├── faq.html ├── home ├── _feed-box.html ├── _schedule.html ├── _speakers.html ├── _sponsors.html ├── _twitter-box.html └── _venue.html ├── index.html ├── sponsorship.html └── team.html /.editorconfig: -------------------------------------------------------------------------------- 1 | # For more information about the properties used in 2 | # this file, please see the EditorConfig documentation: 3 | # http://editorconfig.org/ 4 | 5 | root = true 6 | 7 | [*] 8 | charset = utf-8 9 | end_of_line = lf 10 | indent_size = 4 11 | indent_style = space 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false 17 | 18 | [{.travis.yml,package.json}] 19 | # The indent size used in the `package.json` file cannot be changed 20 | # https://github.com/npm/npm/pull/3180#issuecomment-16336516 21 | indent_size = 2 22 | indent_style = space 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This website uses [staticjinja](https://staticjinja.readthedocs.org/) to build top level html files, please use the instructions below to modify html files. 2 | 3 | ## Getting started 4 | 5 | ``` 6 | pip install staticjinja 7 | ``` 8 | 9 | To monitor your source directory for changes, and recompile files if they change, use `watch`: 10 | 11 | ``` 12 | ./build.py & python -m SimpleHTTPServer && fg 13 | ``` 14 | 15 | This will recursively search `./templates` for templates (any file whose name does not start with `.` or `_`) and build them to `.`. 16 | 17 | Commit both the rendered html and the file inside `/templates/` 18 | 19 | 20 | ## Contributors 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Abhishek Shrivastava (@abstatic)

Akshay Arora (@akshayaurora)

Amit Kumar (@aktech)

Ankur Gupta (@ankur0493)

Anuvrat Parashar (@bhanuvrat)

Chillar Anand (@ChillarAnand)

Kartik Anand (@kartikanand)

Kracekumar Ramaraj (@kracekumar)

Mahendra Yadav (@userimack)

Mayank Shekhar (@mayank-shekhar)

Peeyush Aggarwal (@dhuadaar)

Pulkit Pahwa (@pulkitpahwa)

Rajat Saini (@rajataaron)

Sahil Joseph (@Warlord77)

Sanyam Khurana (@CuriousLearner)

Satyaakam Goswami (@satyaakam)

Saurabh Kumar (@theskumar)

Sayan Chowdhury (@sayanchowdhury)

Shubham (@shubhams2m)

shyam saini (@mysticTot)

T K Sourabh (@sourabhtk37)

@theaverageguy

Vignesh Sarma K (@vigneshsarma)

Vijay (@vnbang2003)

Vikalp Jain (@vikalpj)

Webchirpy (@webchirpy)
62 | 63 | 64 | -------------------------------------------------------------------------------- /build.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from __future__ import absolute_import, unicode_literals 3 | 4 | import json 5 | 6 | from staticjinja import make_site 7 | 8 | 9 | def get_schedule(file_path='data/schedule.json'): 10 | with open(file_path) as data_file: 11 | schedule = json.load(data_file) 12 | i=0 13 | for day in schedule: 14 | events_list = [] 15 | day_events = day['events'] 16 | events_dict_in_list={} 17 | events_dict_in_list['talks'] = [] 18 | event_time = day_events[0]['time'] 19 | for event in day_events: 20 | if event_time == event['time']: 21 | events_dict_in_list['time'] = event['time'] 22 | del event['time'] 23 | events_dict_in_list['talks'].append(event.copy()) 24 | 25 | else: 26 | events_list.append(events_dict_in_list) 27 | events_dict_in_list = {} 28 | events_dict_in_list['talks'] = [] 29 | events_dict_in_list['time'] = event['time'] 30 | event_time = event['time'] 31 | del event['time'] 32 | events_dict_in_list['talks'].append(event.copy()) 33 | events_list.append(events_dict_in_list) 34 | schedule[i]['events'] = events_list 35 | i+=1 36 | return schedule 37 | 38 | 39 | if __name__ == "__main__": 40 | site = make_site(contexts=[ 41 | ('index.html', { 42 | "schedule": get_schedule() 43 | }) 44 | ]) 45 | # enable automatic reloading 46 | site.render(use_reloader=True) 47 | -------------------------------------------------------------------------------- /coc.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | PyCon India 2016 in New Delhi | September 23rd to 25th 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 60 | 61 | 62 | 98 | 99 |
100 | 101 | 112 | 113 | 114 | 115 | 116 |
117 |
118 |
119 |
120 |

121 |
CODE OF CONDUCT 122 |

123 |
124 |
125 |
126 |

PyCon India is a community organized conference intended for advocating the use and adoption of the Python programming language in India. It is also a platform for fostering networking and collaboration among the Python developer community in India.

127 |

We value the participation of every member of the Python community and want all attendees to have an enjoyable and rewarding experience. Accordingly, every attendee of the conference is expected to show respect and courtesy to every other attendee throughout the conference and at all conference related events, whether officially organized by PyCon India or not.

128 |

To make clear what is expected, all delegates/attendees, speakers, exhibitors, organizers and volunteers at PyCon India are required to conform to the following Code of Conduct. Organizers will enforce this code throughout the event.

129 |
130 |

Short Version

131 |

PyCon India is dedicated to providing a harassment-free conference experience for everyone, regardless of age, gender, sexual orientation, physical appearance, disability, race, religion or employment. We don't tolerate harassment of attendees in any form.

132 |

All communication should be appropriate for a professional audience, including people from many different backgrounds.

133 |

Code for Speakers:

134 |

Sexual language or imagery is inappropriate for your talks or slides. Refrain from using sexist, racist or exclusionary language anywhere in your content.

135 |

Code for Exhibitors and Sponsors:

136 |

Exhibitors in the expo hall, sponsor or vendor booths, are subject to the anti-harassment policy.

137 |

Exhibitors should not use sexualized images, activities, or other material.

138 |

Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.

139 |

Code for Participants:

140 |

Be kind and sensitive to the people around you and avoid any kind of offensive behavior. Sexist, racist or any other form of exclusionary or offensive jokes or excessive public swearing are not appropriate at any venue of PyCon India.

141 |

Attendees violating these rules may be asked to leave the conference without a refund at the sole discretion of the conference organizers.

142 |

Thank you for your consideration and help in making PyCon India a welcoming, friendly event for all of us.

143 |

Long Version

144 |

PyCon India is dedicated to providing a harassment-free conference experience for everyone, regardless of age, gender, sexual orientation, physical appearance, disability, race, religion or employment.

145 |

Harassment includes offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. We have zero tolerance on harassment of conference participants in any form, including, but not limited to the activities mentioned here.

146 |

Participants asked to stop any harassing behavior are expected to comply immediately.

147 |

Exhibitors in the expo hall, sponsor or vendor booths, or similar activities are also subject to the anti-harassment policy. In particular, exhibitors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.

148 |

All communication should be appropriate for a professional audience, including people from many different backgrounds. Sexual language or imagery is inappropriate for all aspects of the conference, including talks. Remember that sexist, racist or any other form of exclusionary or offensive jokes or excessive public swearing are not appropriate at any venue of PyCon India.

149 |

Do not insult or put down attendees or engage in any action that violates the open, welcoming and sharing spirit of the conference. Be kind and sensitive to the people around you when you are attending the conference, and avoid any kind of offensive or degrading behavior.

150 |

If a participant engages in behavior that violates this code of conduct, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.

151 |

Thank you for helping to make PyCon India a welcoming, friendly event for all.

152 | 153 | 154 | 155 |

Contact Information

156 |

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff. Conference staff will be wearing "PyCon India Staff" or "PyCon India Volunteer" badges.

157 | 158 | 175 |

Conference staff will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

176 |

License

177 |

This Code of Conduct was forked from PSF Code of Conduct by Python Software Foundation which is under a Creative Commons Attribution 3.0 Unported License.

178 |

PyCon India Conference Code of Conduct is licensed under a Creative Commons Attribution 3.0 Unported License.

179 |
180 |
181 |
182 |
183 |
184 | 185 | 186 | 187 | 198 |
199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 231 | 232 | 233 | -------------------------------------------------------------------------------- /css/custom.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css?family=Ubuntu:400,500,700); 2 | 3 | body, html { 4 | height: 100%; 5 | font-family: 'Ubuntu', sans-serif; 6 | background: url('../images/bgimage.jpg') fixed; 7 | -webkit-background-size: cover; 8 | -moz-background-size: cover; 9 | -o-background-size: cover; 10 | background-size: cover;*/ 11 | line-height:25px; 12 | font-size: 16px; 13 | color:#333; 14 | } 15 | 16 | a { 17 | color:#333; 18 | } 19 | 20 | a:hover { 21 | color:#da3127; 22 | text-decoration: none; 23 | } 24 | 25 | h4 { 26 | line-height:30px; 27 | font-size: 18px; 28 | font-weight: 400; 29 | } 30 | 31 | h6 { 32 | line-height:30px; 33 | font-size: 15px; 34 | font-weight: 400; 35 | } 36 | 37 | h2 { 38 | text-transform: uppercase; 39 | color:#da3127; 40 | font-size: 26px; 41 | font-weight: 400; 42 | } 43 | 44 | /* remove outer padding */ 45 | #main-content .row { 46 | padding: 0px; 47 | margin: 0px; 48 | } 49 | 50 | /*Remove rounded coners*/ 51 | nav.sidebar.navbar { 52 | border-radius: 0px; 53 | } 54 | 55 | nav.sidebar, #main-content { 56 | -webkit-transition: margin 200ms ease-out; 57 | -moz-transition: margin 200ms ease-out; 58 | -o-transition: margin 200ms ease-out; 59 | transition: margin 200ms ease-out; 60 | } 61 | 62 | /* Add gap to nav and right windows.*/ 63 | #main-content { 64 | margin-top: 25px; 65 | } 66 | 67 | .navbar-inverse { 68 | border:none; 69 | } 70 | 71 | nav.sidebar .navbar-nav .open .dropdown-menu>li>a:hover, 72 | nav.sidebar .navbar-nav .open .dropdown-menu>li>a:focus { 73 | color: #CCC; 74 | background-color: transparent; 75 | } 76 | .navbar .navbar--logo { 77 | margin: 0 auto; 78 | } 79 | @media (max-width: 767px) { 80 | .navbar .navbar-brand h2 { 81 | display: none; 82 | } 83 | .navbar .navbar--logo { 84 | width: 130px; 85 | margin-left: 1em; 86 | } 87 | } 88 | 89 | 90 | 91 | nav:hover .forAnimate{ 92 | opacity: 1; 93 | } 94 | 95 | section { 96 | padding-left: 15px; 97 | } 98 | 99 | .section{ 100 | min-height:100vh; 101 | margin-bottom:60px; 102 | } 103 | 104 | #footer-links > a { 105 | color: #fff; 106 | } 107 | 108 | #footer-links > a:hover { 109 | color: #333; 110 | } 111 | 112 | .overbg { 113 | width:100%; 114 | height:100px; 115 | background-image: url('../images/overbg.png'); 116 | position: fixed; 117 | background-position:bottom; 118 | background-repeat: repeat-x; 119 | z-index: 999; 120 | bottom: 0px; 121 | } 122 | 123 | .skyline { 124 | width:100%; 125 | height:190px; 126 | background-image: url('../images/skyline.png'); 127 | position: fixed; 128 | background-position:bottom; 129 | background-repeat: repeat-x; 130 | z-index: -1; 131 | bottom: 0px; 132 | } 133 | 134 | .overbg .footerdown { 135 | bottom:0px; 136 | position: absolute; 137 | z-index:1000; 138 | padding:5px 25px 0px 25px; 139 | color:#eee; 140 | width: 80%; 141 | } 142 | 143 | .btn { 144 | border-radius: 0; 145 | } 146 | 147 | .info-block { 148 | margin-bottom:25px; 149 | border:1px solid #c9302c; 150 | } 151 | 152 | .info-block .square-box { 153 | width:100px; 154 | min-height:110px; 155 | margin-right:22px; 156 | text-align:center!important; 157 | padding:20px 0 158 | } 159 | 160 | .info-block.block-info { 161 | border-color:#c9302c; 162 | } 163 | 164 | 165 | .navbar-inverse { 166 | background-color: #fff; 167 | background-image: url('../images/leftbg1.jpg'); 168 | -webkit-box-shadow: 4px 2px 5px 0px rgba(0,0,0,0.2); 169 | -moz-box-shadow: 4px 2px 5px 0px rgba(0,0,0,0.2); 170 | box-shadow: 4px 2px 5px 0px rgba(0,0,0,0.2); 171 | overflow: hidden; 172 | } 173 | 174 | .nav-footer { 175 | bottom: 0px; 176 | position: absolute; 177 | width:100%; 178 | height:100px; 179 | background-image: url('../images/leftftr.png'); 180 | z-index: -1; 181 | } 182 | 183 | .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse { 184 | max-height:100% !important; 185 | } 186 | 187 | #others { 188 | margin-bottom: 100px; 189 | margin-top: 0px; 190 | } 191 | 192 | .py16navbar li a { 193 | font-size:16px; 194 | padding-top:12px; 195 | padding-bottom:10px; 196 | color:#333 !important; 197 | font-weight: 400; 198 | transition:0.4s; 199 | text-align: center; 200 | } 201 | 202 | .py16navbar li.active > a:before { 203 | content: url('../images/menubg1.png'); 204 | margin-left:-30px; 205 | vertical-align: middle; 206 | display: inline-block; 207 | } 208 | 209 | .py16navbar li.active > a:after { 210 | content: url('../images/menubg1.png'); 211 | margin-right:-30px; 212 | vertical-align: middle; 213 | display: inline-block; 214 | } 215 | 216 | .navbar-inverse .navbar-nav > .active > a, 217 | .navbar-inverse .navbar-nav > .active > a:focus, 218 | .navbar-inverse .navbar-nav > .active > a:hover { 219 | background: none; 220 | color:#da3127 !important; 221 | font-weight: 400; 222 | /*padding-top:2px; 223 | padding-bottom:2px;*/ 224 | } 225 | 226 | .navbar-inverse .navbar-nav > li > a:focus, 227 | .navbar-inverse .navbar-nav > li > a:hover { 228 | background: none; 229 | color:#da3127 !important; 230 | } 231 | 232 | .navbar-brand { 233 | padding:5px !important; 234 | height: auto; 235 | } 236 | 237 | .btn-py16 { 238 | padding:10px 25px; 239 | background: #da3127; 240 | font-weight: 400; 241 | font-size:16px; 242 | text-transform: uppercase; 243 | } 244 | 245 | .teams .pybox,.sponsors .pybox,.teams .pybox { 246 | min-height: 255px; 247 | padding:25px; 248 | margin:10px; 249 | } 250 | 251 | .pybox { 252 | -webkit-box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 253 | -moz-box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 254 | box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 255 | padding:25px; 256 | margin-bottom: 10px; 257 | background: #fff url('../images/boxbg.png') right bottom no-repeat; 258 | } 259 | .sponsors .pybox { 260 | background: #fff; 261 | padding: 10px; 262 | } 263 | .sponsors .pybox a { 264 | display: inline-block; 265 | } 266 | 267 | #sponsors--silver .pybox { 268 | min-height: 150px; 269 | } 270 | 271 | #sponsors--associate .pybox { 272 | min-height: 130px; 273 | } 274 | .sponsors-description { 275 | text-align: left; 276 | } 277 | 278 | .sponsor-logo { 279 | max-width: 250px; 280 | padding-bottom: 2em; 281 | } 282 | 283 | .modal-body { 284 | padding-left: 2em; 285 | padding-right: 2em; 286 | } 287 | 288 | .speakers { 289 | /*margin-top:-80px;*/ 290 | height: 130vh; 291 | } 292 | 293 | .speakers .social { 294 | color:#000; 295 | } 296 | 297 | .speakers h4 { 298 | color:#000; 299 | } 300 | 301 | .schedule .nav-tabs>li.active>a, 302 | .schedule .nav-tabs>li.active>a:focus, 303 | .schedule .nav-tabs>li.active>a:hover { 304 | background:#da3127; 305 | border:none; 306 | color:#fff; 307 | } 308 | 309 | .schedule .nav-tabs>li>a,.schedule .nav-tabs>li>a:focus,.schedule .nav-tabs>li>a:hover { 310 | color:#111; 311 | transition:0.4s; 312 | } 313 | 314 | .schedule .nav-tabs>li>a:hover { 315 | background:#f2f2f2; 316 | border-radius:0px; 317 | } 318 | 319 | .schedule .nav-tabs>li>a { 320 | background:#fff; 321 | -webkit-box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 322 | -moz-box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 323 | box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 324 | border-radius:0px; 325 | } 326 | 327 | .schedule .nav-tabs { 328 | border:none; 329 | } 330 | 331 | .schedule .nav>li>a { 332 | padding:1px; 333 | } 334 | 335 | .schedule .tab-content { 336 | padding-top:20px; 337 | } 338 | 339 | 340 | .custab { 341 | border: 1px solid #eee; 342 | padding: 5px; 343 | transition: 0.5s; 344 | background: #fff url('../images/tablebg.png') center center repeat; 345 | -webkit-box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 346 | -moz-box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 347 | box-shadow: 0px 1px 21px 0px rgba(200,200,200,1); 348 | border-radius:0px; 349 | } 350 | 351 | .custab thead tr th { 352 | padding:10px; 353 | background:#444; 354 | border:none; 355 | color:#fff; 356 | } 357 | 358 | .custab tbody tr td { 359 | padding:15px; 360 | border:none; 361 | } 362 | 363 | .pyred { 364 | color:#da3127; 365 | font-weight:400; 366 | } 367 | 368 | .pytablefont { 369 | font-size:13px; 370 | } 371 | 372 | .navbar-toggle { 373 | background-color: #333; 374 | } 375 | 376 | 377 | button { 378 | -webkit-appearance: none; 379 | -moz-appearance: none; 380 | appearance: none; 381 | border: none; 382 | box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3), 0 3px 3px rgba(0, 0, 0, 0.15), 0 3px 2px -2px rgba(0, 0, 0, 0.2); 383 | color: #fff; 384 | font-size: 17px; 385 | text-transform: uppercase; 386 | } 387 | 388 | .pymatbtn { 389 | padding: 0.6em 1.2em; 390 | margin-left: 10px; 391 | margin-right: 10px; 392 | position: relative; 393 | min-width: 200px; 394 | display: inline-block; 395 | background:#da3127; 396 | -webkit-transition: 200ms background cubic-bezier(0.4, 0, 0.2, 1); 397 | transition: 200ms background cubic-bezier(0.4, 0, 0.2, 1); 398 | } 399 | 400 | 401 | .pymatbtn:hover { 402 | outline: none; 403 | background: #c82e25; 404 | } 405 | .pymatbtn:focus { 406 | outline: none; 407 | } 408 | 409 | .ripple-obj { 410 | height: 100%; 411 | pointer-events: none; 412 | position: absolute; 413 | top: 0; 414 | left: 0; 415 | z-index: 0; 416 | width: 100%; 417 | fill: #aa2119; 418 | } 419 | 420 | .ripple-obj use { 421 | opacity: 0; 422 | } 423 | 424 | .ripple-obj { 425 | fill: #87211b; 426 | } 427 | 428 | 429 | .speakers h2,.schedule h2,.venue h2,.sponsors h2,.blog h2,.sponsorpship h2 { 430 | font-weight: 700; 431 | font-size: 30px !important; 432 | vertical-align: middle; 433 | margin:25px 0 45px 0; 434 | z-index:2; 435 | position: relative; 436 | } 437 | 438 | .sponsors h3 { 439 | margin:40px 0 15px 0; 440 | } 441 | 442 | #sponsorship-download { 443 | text-align: center; 444 | } 445 | 446 | #sponsorship-download > a { 447 | padding: 1em; 448 | background: #404040 ; 449 | border-radius: 5px; 450 | color: white; 451 | } 452 | 453 | #sponsorship-download > a:hover { 454 | background: rgba(64, 64, 64, 0.82); 455 | } 456 | 457 | @media (max-width: 768px) { 458 | .section{ 459 | margin-top:80px !important; 460 | } 461 | } 462 | 463 | 464 | 465 | @media (min-width: 768px) { 466 | 467 | #main-content{ 468 | position: absolute; 469 | width: calc(100% - 20%); /*keeps 100% minus nav size*/ 470 | margin-left: 20%; 471 | float: right; 472 | padding-bottom: 100px; 473 | } 474 | 475 | nav.sidebar.navbar.sidebar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand { 476 | margin-left: 0px; 477 | } 478 | 479 | nav.sidebar .navbar-brand, nav.sidebar .navbar-header { 480 | text-align: center; 481 | width: 100%; 482 | margin-left: 0px; 483 | } 484 | 485 | 486 | nav.sidebar a { 487 | padding: 15px 30px; 488 | } 489 | 490 | 491 | nav.sidebar .navbar-nav > li:first-child { 492 | /*border-top: 1px #c9302c solid;*/ 493 | } 494 | 495 | nav.sidebar .navbar-nav > li { 496 | /*border-bottom: 1px #e5e5e5 solid;*/ 497 | } 498 | 499 | 500 | nav.sidebar .navbar-nav .open .dropdown-menu { 501 | position: static; 502 | float: none; 503 | width: auto; 504 | margin-top: 0; 505 | background-color: transparent; 506 | border: 0; 507 | -webkit-box-shadow: none; 508 | box-shadow: none; 509 | } 510 | 511 | 512 | nav.sidebar .navbar-collapse, nav.sidebar .container-fluid { 513 | padding: 0 0px 0 0px; 514 | } 515 | 516 | 517 | .navbar-inverse .navbar-nav .open .dropdown-menu>li>a { 518 | color: #777; 519 | } 520 | 521 | /*gives sidebar width/height*/ 522 | nav.sidebar { 523 | width: 20%; 524 | height: 100%; 525 | float: left; 526 | z-index: 1000; 527 | margin-bottom: 0px; 528 | } 529 | 530 | /*give sidebar 100% width;*/ 531 | nav.sidebar li { 532 | width: 100%; 533 | } 534 | 535 | /* Move nav to full on mouse over*/ 536 | nav.sidebar:hover { 537 | margin-left: 0px; 538 | } 539 | /*for hiden things when navbar hidden*/ 540 | .forAnimate { 541 | opacity: 0; 542 | } 543 | 544 | } 545 | .speaker.pybox { 546 | background-size: 55%; 547 | } 548 | @media (max-width: 768px) { 549 | .speaker.pybox { 550 | background-size: 10%; 551 | } 552 | .footer a{ 553 | color: #da3127; 554 | } 555 | #footer-links > a { 556 | color: #da3127; 557 | } 558 | 559 | } 560 | @media (max-width: 992px) { 561 | .overbg { 562 | background-position: 0 -12px; 563 | } 564 | .overbg:after { 565 | content: ' '; 566 | display: block; 567 | position: absolute; 568 | height: 50pX; 569 | background: #da3127; 570 | width: 100%; 571 | bottom: 0; 572 | } 573 | } 574 | @media (max-width: 454px) { 575 | .footer > p:first-child > a { 576 | display: block; 577 | } 578 | } 579 | .speaker--photo img { 580 | margin: 0 auto; 581 | } 582 | .speaker--social-icon:hover .social, 583 | .speaker--social-icon:focus .social{ 584 | color: #da3127; 585 | } 586 | .speaker--bio { 587 | font-size: 0.8em; 588 | text-align: justify; 589 | } 590 | 591 | /* .....NavBar: Fully showing nav bar..... */ 592 | @media (min-width: 1330px) { 593 | 594 | /*Allow main to be next to Nav*/ 595 | #main-content { 596 | width: calc(100% - 20%); /*keeps 100% minus nav size*/ 597 | margin-left: 20%; 598 | } 599 | 600 | /*Show all nav*/ 601 | nav.sidebar { 602 | margin-left: 0px; 603 | float: left; 604 | } 605 | /*Show hidden items on nav*/ 606 | nav.sidebar .forAnimate { 607 | opacity: 1; 608 | } 609 | } 610 | -------------------------------------------------------------------------------- /faq.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | PyCon India 2016 in New Delhi | September 23rd to 25th 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 60 | 61 | 62 | 98 | 99 |
100 | 101 | 112 | 113 | 114 | 115 | 116 |
117 |
118 |
119 |
120 | 121 |

122 |
FAQ 123 |

124 |
125 |
126 |
127 | 130 |

131 | Q. I want to present a talk/workshop at the conference. What should I do?
132 | A. You can submit the proposal for your talk/workshop here. 133 |

134 |
135 |

136 | Q. How do I upload presentations to the site?
137 | A. We don't support presentation uploads yet. Please upload your presentation to a public site such as SlideShare or Google Docs and use that link in your talk's description. 138 |

139 |
140 |

141 | Q. I want to volunteer for the conference. What should I do?
142 | A. Please share your details by filling this form and the team will soon get back to you with responsibilities according to the domains you choose. 143 |

144 |
145 |

146 | Q. I am a speaker/volunteer at the conference. Do I need to buy a ticket?
147 | A. Yes. At PyCon India, everybody buys tickets. Even the event organizers buy tickets. Your ticket helps keep the event affordable for all. 148 |

149 |
150 |

151 | Q. Will the Internet and WiFi setup be good enough for a large crowd? Should I get a datacard?
152 | A. We try really hard to arrange good Internet at the venue. Most of the times it is adequate. But the unpredictable amount of usage during the event sometimes causes some problems. So it is fine if you don’t carry a data card, but there is no harm in being prepared for the worst. 153 |

154 |
155 |

156 | Q. What are the workshop and conference timings?
157 | A. - Workshop day (Sep 23rd): 08:00 AM - 06:30 PM.
158 |      - Conference days (Sep 24th and 25th): 08:00 AM - 5.30 PM. 159 |

160 |
161 |

162 | Q. What all does the Conference ticket (September 24 & 25) include?
163 | A. - Full conference pass for two days.
     - Breakfast, Lunch and Hi-Tea.
     - PyCon India T-shirt which will be distributed on Sep 25.
164 |

165 |
166 |

167 | Q. My talk is not selected for conference, can I opt for OpenSpace?
168 | A. Yes. You can submit an OpenSpace proposal once we start accepting the same. Keep following to further updates 169 |

170 |
171 |

172 | Q. What is the screening process of OpenSpace talk?
173 | A. There is no screening process.
174 | We are trying to be better organized upfront by knowing the number of OpenSpace talks. This will help the organizing team plan to get all logistics required. 175 |

176 |
177 |

178 | Q. Where can I stay while in Delhi for the conference?
179 | A. There is a vibrant Python community in Delhi with whom one can share rooms. Else, you can also look for budget hotels around the Jawahar Lal Nehru University. 180 |

181 |
182 |

183 | Q. How can I travel to the conference venue?
184 | A. You can easily reach the conference by taking a cab to the Jawahar Lal Nehru University. The venue also has good public transport connectivity:
- Green Park Metro Station - 7.5 Km
- Rajiv Chowk Metro Station- 15 Km
- Hazrat Nizammudin Railway Station - 15.5 Km
185 |

186 |
187 |

188 | Q. I need to cancel my ticket due to unavoidable cicumstances. What is the refund policy?
189 | A. We allow tickets to be cancelled, but cancellation might be barred in the last few days leading up to the conference. This space will be updated if cancellation is barred at any time. 190 |

191 |
192 |

193 | Q. My question is not listed here / I am still unclear about a few things. Whom should I contact?
194 | A. Please send an email to contact@in.pycon.org. 195 |

196 |
197 |
198 |
199 |
200 |
201 | 202 | 203 | 204 | 215 |
216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 248 | 249 | 250 | -------------------------------------------------------------------------------- /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/favicon.png -------------------------------------------------------------------------------- /feedback.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | -------------------------------------------------------------------------------- /fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /home/_feed-box.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 |
RSS Feed Widget
7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /home/_schedule.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |


SCHEDULE

5 | 6 |
7 |
8 | 9 |
10 | 11 |
12 |
13 | *Note: These schedules are tentative and are subjected to change as per speakers availability and/or other reasons. 14 |
15 |
16 |
17 |
18 |
-------------------------------------------------------------------------------- /home/_speakers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |

6 |
KEYNOTE SPEAKERS 7 |

8 | 9 |
10 | 11 |
12 |
13 |
14 | 15 |
16 |
17 |

Baishampayan Ghose

18 |

Baishampayan "BG" Ghose is CTO/Co-founder at Helpshift, Inc. BG is a 19 | career functional programmer with exposure to a wide variety of 20 | programming languages and paradigms. His areas of interests are 21 | Semantics of Programming Languages, Distributed Systems, Software 22 | Design and the intersection of Software, Culture and Society.

23 | 26 | 29 |
30 |
31 |
32 | 33 | 34 | 35 |
36 |
37 |
38 | 39 |
40 |
41 |

Andreas Mueller

42 |

Andreas is a Research Engineer at the NYU Center for Data Science, 43 | building open source software for data science. Previously he was 44 | a Machine Learning Scientist at Amazon, working on computer vision 45 | and forecasting problems. He is one of the core developers of the 46 | scikit-learn machine learning library, and he has been co-maintaining 47 | it for several years.

48 | 51 | 54 |
55 |
56 |
57 | 58 | 59 | 60 |
61 |
62 |
63 | 64 |
65 |
66 |

Van Lindberg

67 |

Van Lindberg is an engineer, IP and open source lawyer, and part-time natural language hacker. He is a director, general counsel, and past chair of the PSF, a director of the OpenStack Foundation, and Vice President and Associate General Counsel for Rackspace. Lindberg wrote the 'Intellectual Property and Open Source', and was named one of 'America's Top 12 Techiest Attorneys'.

68 | 71 | 74 |
75 |
76 |
77 | 78 | 79 |
80 |
81 |
-------------------------------------------------------------------------------- /home/_sponsors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
6 |

7 |
SPONSORS 8 |

9 | 10 | 11 | 12 |
13 |

Gold

14 |
15 | 18 | 19 | 54 |
55 |
56 | 59 | 60 | 91 |
92 |
93 | 96 | 97 | 141 |
142 |
143 | 144 |
145 |

Silver

146 |
147 | 150 | 151 | 173 |
174 |
175 | 178 | 179 | 219 |
220 |
221 | 224 | 225 |
247 |
248 | 251 | 252 |
274 |
275 |
276 | 277 |
-------------------------------------------------------------------------------- /home/_twitter-box.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 17 |
18 |
-------------------------------------------------------------------------------- /home/_venue.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |

5 |

VENUE 6 |

7 |
8 |
9 | 10 | 11 | 21 |
22 | 23 | 24 |
25 |

Convention Centre

26 | 27 | Jawahar Lal Nehru University,
28 | New Mehrauli Road, Near Munirka,
29 | New Delhi - 110067 30 |
31 |
32 | 35 | 38 | 41 |
42 |
43 |
44 |
45 |
46 | -------------------------------------------------------------------------------- /images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/Thumbs.db -------------------------------------------------------------------------------- /images/bgimage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/bgimage.jpg -------------------------------------------------------------------------------- /images/bgimagecircle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/bgimagecircle.jpg -------------------------------------------------------------------------------- /images/blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/blog.png -------------------------------------------------------------------------------- /images/boxbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/boxbg.png -------------------------------------------------------------------------------- /images/clouds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/clouds.png -------------------------------------------------------------------------------- /images/coc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/coc.png -------------------------------------------------------------------------------- /images/delhi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/delhi.jpg -------------------------------------------------------------------------------- /images/faq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/faq.png -------------------------------------------------------------------------------- /images/gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/gear.png -------------------------------------------------------------------------------- /images/gear2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/gear2.png -------------------------------------------------------------------------------- /images/gear3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/gear3.png -------------------------------------------------------------------------------- /images/icons/blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/blog.png -------------------------------------------------------------------------------- /images/icons/coc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/coc.png -------------------------------------------------------------------------------- /images/icons/faq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/faq.png -------------------------------------------------------------------------------- /images/icons/schedule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/schedule.png -------------------------------------------------------------------------------- /images/icons/sponsors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/sponsors.png -------------------------------------------------------------------------------- /images/icons/sship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/sship.png -------------------------------------------------------------------------------- /images/icons/team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/team.png -------------------------------------------------------------------------------- /images/icons/venue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/icons/venue.png -------------------------------------------------------------------------------- /images/keynote.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/keynote.jpg -------------------------------------------------------------------------------- /images/leftbg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/leftbg1.jpg -------------------------------------------------------------------------------- /images/leftftr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/leftftr.png -------------------------------------------------------------------------------- /images/logolg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logolg.png -------------------------------------------------------------------------------- /images/logos/digital-ocean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/digital-ocean.png -------------------------------------------------------------------------------- /images/logos/go_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/go_logo.png -------------------------------------------------------------------------------- /images/logos/goibibo_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/goibibo_logo.png -------------------------------------------------------------------------------- /images/logos/iamai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/iamai.png -------------------------------------------------------------------------------- /images/logos/jetbrains.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | jetbrains 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /images/logos/microsoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/microsoft.png -------------------------------------------------------------------------------- /images/logos/pipal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/pipal.png -------------------------------------------------------------------------------- /images/logos/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/placeholder.png -------------------------------------------------------------------------------- /images/logos/redhat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/redhat.png -------------------------------------------------------------------------------- /images/logos/zeomega.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logos/zeomega.png -------------------------------------------------------------------------------- /images/logosm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/logosm.png -------------------------------------------------------------------------------- /images/menubg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/menubg.png -------------------------------------------------------------------------------- /images/menubg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/menubg1.png -------------------------------------------------------------------------------- /images/mic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/mic.png -------------------------------------------------------------------------------- /images/overbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/overbg.png -------------------------------------------------------------------------------- /images/rightftr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/rightftr.png -------------------------------------------------------------------------------- /images/schedule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/schedule.png -------------------------------------------------------------------------------- /images/skyline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/skyline.png -------------------------------------------------------------------------------- /images/speakers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/speakers.png -------------------------------------------------------------------------------- /images/speakers/andreas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/speakers/andreas.jpg -------------------------------------------------------------------------------- /images/speakers/baishampayan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/speakers/baishampayan.jpg -------------------------------------------------------------------------------- /images/speakers/vanl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/speakers/vanl.jpg -------------------------------------------------------------------------------- /images/spo1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/spo1.jpg -------------------------------------------------------------------------------- /images/spo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/spo2.png -------------------------------------------------------------------------------- /images/spon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/spon.png -------------------------------------------------------------------------------- /images/sponsors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/sponsors.png -------------------------------------------------------------------------------- /images/sship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/sship.png -------------------------------------------------------------------------------- /images/tablebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/tablebg.png -------------------------------------------------------------------------------- /images/team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/team.png -------------------------------------------------------------------------------- /images/venue-jnu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/venue-jnu.png -------------------------------------------------------------------------------- /images/venue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/images/venue.png -------------------------------------------------------------------------------- /js/custom.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function($) { 2 | 3 | /* ======= Scrollspy ======= */ 4 | $('body').scrollspy({ target: '#nav-sidebar', offset: 400}); 5 | 6 | 7 | /* ======= ScrollTo ======= */ 8 | $('a.scrollto').on('click', function(e){ 9 | e.preventDefault(); 10 | 11 | //store hash 12 | var target = this.hash; 13 | if($(target).length > 0) { 14 | $('body').scrollTo(target, { 15 | 'axis':'y', 16 | duration: 700, 17 | easing:'easeOutQuad' 18 | }); 19 | } else { 20 | window.location.href = "/"+target; 21 | } 22 | }); 23 | // Set correct active class on page navigation. 24 | set_active_nav(); 25 | 26 | // Set height of speaker box to be equal 27 | $('.speaker-box').matchHeight(); 28 | $('.speaker-box > .pybox').matchHeight(); 29 | }); 30 | 31 | function set_active_nav() { 32 | var path = window.location.pathname; 33 | 34 | // Remove the forward slash and base url in front of path name 35 | path = path.replace(/^\/2016\//, ''); 36 | $('#nav-sidebar a[href="'+ path +'"]').parent().addClass('active'); 37 | } 38 | -------------------------------------------------------------------------------- /js/jquery.easing.1.3.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ 3 | * 4 | * Uses the built in easing capabilities added In jQuery 1.1 5 | * to offer multiple easing options 6 | * 7 | * TERMS OF USE - jQuery Easing 8 | * 9 | * Open source under the BSD License. 10 | * 11 | * Copyright © 2008 George McGinley Smith 12 | * All rights reserved. 13 | * 14 | * Redistribution and use in source and binary forms, with or without modification, 15 | * are permitted provided that the following conditions are met: 16 | * 17 | * Redistributions of source code must retain the above copyright notice, this list of 18 | * conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above copyright notice, this list 20 | * of conditions and the following disclaimer in the documentation and/or other materials 21 | * provided with the distribution. 22 | * 23 | * Neither the name of the author nor the names of contributors may be used to endorse 24 | * or promote products derived from this software without specific prior written permission. 25 | * 26 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 27 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 28 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 29 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 30 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 31 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 32 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 33 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 34 | * OF THE POSSIBILITY OF SUCH DAMAGE. 35 | * 36 | */ 37 | 38 | // t: current time, b: begInnIng value, c: change In value, d: duration 39 | jQuery.easing['jswing'] = jQuery.easing['swing']; 40 | 41 | jQuery.extend( jQuery.easing, 42 | { 43 | def: 'easeOutQuad', 44 | swing: function (x, t, b, c, d) { 45 | //alert(jQuery.easing.default); 46 | return jQuery.easing[jQuery.easing.def](x, t, b, c, d); 47 | }, 48 | easeInQuad: function (x, t, b, c, d) { 49 | return c*(t/=d)*t + b; 50 | }, 51 | easeOutQuad: function (x, t, b, c, d) { 52 | return -c *(t/=d)*(t-2) + b; 53 | }, 54 | easeInOutQuad: function (x, t, b, c, d) { 55 | if ((t/=d/2) < 1) return c/2*t*t + b; 56 | return -c/2 * ((--t)*(t-2) - 1) + b; 57 | }, 58 | easeInCubic: function (x, t, b, c, d) { 59 | return c*(t/=d)*t*t + b; 60 | }, 61 | easeOutCubic: function (x, t, b, c, d) { 62 | return c*((t=t/d-1)*t*t + 1) + b; 63 | }, 64 | easeInOutCubic: function (x, t, b, c, d) { 65 | if ((t/=d/2) < 1) return c/2*t*t*t + b; 66 | return c/2*((t-=2)*t*t + 2) + b; 67 | }, 68 | easeInQuart: function (x, t, b, c, d) { 69 | return c*(t/=d)*t*t*t + b; 70 | }, 71 | easeOutQuart: function (x, t, b, c, d) { 72 | return -c * ((t=t/d-1)*t*t*t - 1) + b; 73 | }, 74 | easeInOutQuart: function (x, t, b, c, d) { 75 | if ((t/=d/2) < 1) return c/2*t*t*t*t + b; 76 | return -c/2 * ((t-=2)*t*t*t - 2) + b; 77 | }, 78 | easeInQuint: function (x, t, b, c, d) { 79 | return c*(t/=d)*t*t*t*t + b; 80 | }, 81 | easeOutQuint: function (x, t, b, c, d) { 82 | return c*((t=t/d-1)*t*t*t*t + 1) + b; 83 | }, 84 | easeInOutQuint: function (x, t, b, c, d) { 85 | if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; 86 | return c/2*((t-=2)*t*t*t*t + 2) + b; 87 | }, 88 | easeInSine: function (x, t, b, c, d) { 89 | return -c * Math.cos(t/d * (Math.PI/2)) + c + b; 90 | }, 91 | easeOutSine: function (x, t, b, c, d) { 92 | return c * Math.sin(t/d * (Math.PI/2)) + b; 93 | }, 94 | easeInOutSine: function (x, t, b, c, d) { 95 | return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; 96 | }, 97 | easeInExpo: function (x, t, b, c, d) { 98 | return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; 99 | }, 100 | easeOutExpo: function (x, t, b, c, d) { 101 | return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; 102 | }, 103 | easeInOutExpo: function (x, t, b, c, d) { 104 | if (t==0) return b; 105 | if (t==d) return b+c; 106 | if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; 107 | return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; 108 | }, 109 | easeInCirc: function (x, t, b, c, d) { 110 | return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; 111 | }, 112 | easeOutCirc: function (x, t, b, c, d) { 113 | return c * Math.sqrt(1 - (t=t/d-1)*t) + b; 114 | }, 115 | easeInOutCirc: function (x, t, b, c, d) { 116 | if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; 117 | return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; 118 | }, 119 | easeInElastic: function (x, t, b, c, d) { 120 | var s=1.70158;var p=0;var a=c; 121 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 122 | if (a < Math.abs(c)) { a=c; var s=p/4; } 123 | else var s = p/(2*Math.PI) * Math.asin (c/a); 124 | return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 125 | }, 126 | easeOutElastic: function (x, t, b, c, d) { 127 | var s=1.70158;var p=0;var a=c; 128 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 129 | if (a < Math.abs(c)) { a=c; var s=p/4; } 130 | else var s = p/(2*Math.PI) * Math.asin (c/a); 131 | return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; 132 | }, 133 | easeInOutElastic: function (x, t, b, c, d) { 134 | var s=1.70158;var p=0;var a=c; 135 | if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); 136 | if (a < Math.abs(c)) { a=c; var s=p/4; } 137 | else var s = p/(2*Math.PI) * Math.asin (c/a); 138 | if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 139 | return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; 140 | }, 141 | easeInBack: function (x, t, b, c, d, s) { 142 | if (s == undefined) s = 1.70158; 143 | return c*(t/=d)*t*((s+1)*t - s) + b; 144 | }, 145 | easeOutBack: function (x, t, b, c, d, s) { 146 | if (s == undefined) s = 1.70158; 147 | return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; 148 | }, 149 | easeInOutBack: function (x, t, b, c, d, s) { 150 | if (s == undefined) s = 1.70158; 151 | if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; 152 | return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; 153 | }, 154 | easeInBounce: function (x, t, b, c, d) { 155 | return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; 156 | }, 157 | easeOutBounce: function (x, t, b, c, d) { 158 | if ((t/=d) < (1/2.75)) { 159 | return c*(7.5625*t*t) + b; 160 | } else if (t < (2/2.75)) { 161 | return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; 162 | } else if (t < (2.5/2.75)) { 163 | return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; 164 | } else { 165 | return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; 166 | } 167 | }, 168 | easeInOutBounce: function (x, t, b, c, d) { 169 | if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; 170 | return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; 171 | } 172 | }); 173 | 174 | /* 175 | * 176 | * TERMS OF USE - EASING EQUATIONS 177 | * 178 | * Open source under the BSD License. 179 | * 180 | * Copyright © 2001 Robert Penner 181 | * All rights reserved. 182 | * 183 | * Redistribution and use in source and binary forms, with or without modification, 184 | * are permitted provided that the following conditions are met: 185 | * 186 | * Redistributions of source code must retain the above copyright notice, this list of 187 | * conditions and the following disclaimer. 188 | * Redistributions in binary form must reproduce the above copyright notice, this list 189 | * of conditions and the following disclaimer in the documentation and/or other materials 190 | * provided with the distribution. 191 | * 192 | * Neither the name of the author nor the names of contributors may be used to endorse 193 | * or promote products derived from this software without specific prior written permission. 194 | * 195 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 196 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 197 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 198 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 199 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 200 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 201 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 202 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 203 | * OF THE POSSIBILITY OF SUCH DAMAGE. 204 | * 205 | */ -------------------------------------------------------------------------------- /js/jquery.matchHeight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jquery-match-height master by @liabru 3 | * http://brm.io/jquery-match-height/ 4 | * License: MIT 5 | */ 6 | 7 | ;(function(factory) { // eslint-disable-line no-extra-semi 8 | 'use strict'; 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD 11 | define(['jquery'], factory); 12 | } else if (typeof module !== 'undefined' && module.exports) { 13 | // CommonJS 14 | module.exports = factory(require('jquery')); 15 | } else { 16 | // Global 17 | factory(jQuery); 18 | } 19 | })(function($) { 20 | /* 21 | * internal 22 | */ 23 | 24 | var _previousResizeWidth = -1, 25 | _updateTimeout = -1; 26 | 27 | /* 28 | * _parse 29 | * value parse utility function 30 | */ 31 | 32 | var _parse = function(value) { 33 | // parse value and convert NaN to 0 34 | return parseFloat(value) || 0; 35 | }; 36 | 37 | /* 38 | * _rows 39 | * utility function returns array of jQuery selections representing each row 40 | * (as displayed after float wrapping applied by browser) 41 | */ 42 | 43 | var _rows = function(elements) { 44 | var tolerance = 1, 45 | $elements = $(elements), 46 | lastTop = null, 47 | rows = []; 48 | 49 | // group elements by their top position 50 | $elements.each(function(){ 51 | var $that = $(this), 52 | top = $that.offset().top - _parse($that.css('margin-top')), 53 | lastRow = rows.length > 0 ? rows[rows.length - 1] : null; 54 | 55 | if (lastRow === null) { 56 | // first item on the row, so just push it 57 | rows.push($that); 58 | } else { 59 | // if the row top is the same, add to the row group 60 | if (Math.floor(Math.abs(lastTop - top)) <= tolerance) { 61 | rows[rows.length - 1] = lastRow.add($that); 62 | } else { 63 | // otherwise start a new row group 64 | rows.push($that); 65 | } 66 | } 67 | 68 | // keep track of the last row top 69 | lastTop = top; 70 | }); 71 | 72 | return rows; 73 | }; 74 | 75 | /* 76 | * _parseOptions 77 | * handle plugin options 78 | */ 79 | 80 | var _parseOptions = function(options) { 81 | var opts = { 82 | byRow: true, 83 | property: 'height', 84 | target: null, 85 | remove: false 86 | }; 87 | 88 | if (typeof options === 'object') { 89 | return $.extend(opts, options); 90 | } 91 | 92 | if (typeof options === 'boolean') { 93 | opts.byRow = options; 94 | } else if (options === 'remove') { 95 | opts.remove = true; 96 | } 97 | 98 | return opts; 99 | }; 100 | 101 | /* 102 | * matchHeight 103 | * plugin definition 104 | */ 105 | 106 | var matchHeight = $.fn.matchHeight = function(options) { 107 | var opts = _parseOptions(options); 108 | 109 | // handle remove 110 | if (opts.remove) { 111 | var that = this; 112 | 113 | // remove fixed height from all selected elements 114 | this.css(opts.property, ''); 115 | 116 | // remove selected elements from all groups 117 | $.each(matchHeight._groups, function(key, group) { 118 | group.elements = group.elements.not(that); 119 | }); 120 | 121 | // TODO: cleanup empty groups 122 | 123 | return this; 124 | } 125 | 126 | if (this.length <= 1 && !opts.target) { 127 | return this; 128 | } 129 | 130 | // keep track of this group so we can re-apply later on load and resize events 131 | matchHeight._groups.push({ 132 | elements: this, 133 | options: opts 134 | }); 135 | 136 | // match each element's height to the tallest element in the selection 137 | matchHeight._apply(this, opts); 138 | 139 | return this; 140 | }; 141 | 142 | /* 143 | * plugin global options 144 | */ 145 | 146 | matchHeight.version = 'master'; 147 | matchHeight._groups = []; 148 | matchHeight._throttle = 80; 149 | matchHeight._maintainScroll = false; 150 | matchHeight._beforeUpdate = null; 151 | matchHeight._afterUpdate = null; 152 | matchHeight._rows = _rows; 153 | matchHeight._parse = _parse; 154 | matchHeight._parseOptions = _parseOptions; 155 | 156 | /* 157 | * matchHeight._apply 158 | * apply matchHeight to given elements 159 | */ 160 | 161 | matchHeight._apply = function(elements, options) { 162 | var opts = _parseOptions(options), 163 | $elements = $(elements), 164 | rows = [$elements]; 165 | 166 | // take note of scroll position 167 | var scrollTop = $(window).scrollTop(), 168 | htmlHeight = $('html').outerHeight(true); 169 | 170 | // get hidden parents 171 | var $hiddenParents = $elements.parents().filter(':hidden'); 172 | 173 | // cache the original inline style 174 | $hiddenParents.each(function() { 175 | var $that = $(this); 176 | $that.data('style-cache', $that.attr('style')); 177 | }); 178 | 179 | // temporarily must force hidden parents visible 180 | $hiddenParents.css('display', 'block'); 181 | 182 | // get rows if using byRow, otherwise assume one row 183 | if (opts.byRow && !opts.target) { 184 | 185 | // must first force an arbitrary equal height so floating elements break evenly 186 | $elements.each(function() { 187 | var $that = $(this), 188 | display = $that.css('display'); 189 | 190 | // temporarily force a usable display value 191 | if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') { 192 | display = 'block'; 193 | } 194 | 195 | // cache the original inline style 196 | $that.data('style-cache', $that.attr('style')); 197 | 198 | $that.css({ 199 | 'display': display, 200 | 'padding-top': '0', 201 | 'padding-bottom': '0', 202 | 'margin-top': '0', 203 | 'margin-bottom': '0', 204 | 'border-top-width': '0', 205 | 'border-bottom-width': '0', 206 | 'height': '100px', 207 | 'overflow': 'hidden' 208 | }); 209 | }); 210 | 211 | // get the array of rows (based on element top position) 212 | rows = _rows($elements); 213 | 214 | // revert original inline styles 215 | $elements.each(function() { 216 | var $that = $(this); 217 | $that.attr('style', $that.data('style-cache') || ''); 218 | }); 219 | } 220 | 221 | $.each(rows, function(key, row) { 222 | var $row = $(row), 223 | targetHeight = 0; 224 | 225 | if (!opts.target) { 226 | // skip apply to rows with only one item 227 | if (opts.byRow && $row.length <= 1) { 228 | $row.css(opts.property, ''); 229 | return; 230 | } 231 | 232 | // iterate the row and find the max height 233 | $row.each(function(){ 234 | var $that = $(this), 235 | style = $that.attr('style'), 236 | display = $that.css('display'); 237 | 238 | // temporarily force a usable display value 239 | if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') { 240 | display = 'block'; 241 | } 242 | 243 | // ensure we get the correct actual height (and not a previously set height value) 244 | var css = { 'display': display }; 245 | css[opts.property] = ''; 246 | $that.css(css); 247 | 248 | // find the max height (including padding, but not margin) 249 | if ($that.outerHeight(false) > targetHeight) { 250 | targetHeight = $that.outerHeight(false); 251 | } 252 | 253 | // revert styles 254 | if (style) { 255 | $that.attr('style', style); 256 | } else { 257 | $that.css('display', ''); 258 | } 259 | }); 260 | } else { 261 | // if target set, use the height of the target element 262 | targetHeight = opts.target.outerHeight(false); 263 | } 264 | 265 | // iterate the row and apply the height to all elements 266 | $row.each(function(){ 267 | var $that = $(this), 268 | verticalPadding = 0; 269 | 270 | // don't apply to a target 271 | if (opts.target && $that.is(opts.target)) { 272 | return; 273 | } 274 | 275 | // handle padding and border correctly (required when not using border-box) 276 | if ($that.css('box-sizing') !== 'border-box') { 277 | verticalPadding += _parse($that.css('border-top-width')) + _parse($that.css('border-bottom-width')); 278 | verticalPadding += _parse($that.css('padding-top')) + _parse($that.css('padding-bottom')); 279 | } 280 | 281 | // set the height (accounting for padding and border) 282 | $that.css(opts.property, (targetHeight - verticalPadding) + 'px'); 283 | }); 284 | }); 285 | 286 | // revert hidden parents 287 | $hiddenParents.each(function() { 288 | var $that = $(this); 289 | $that.attr('style', $that.data('style-cache') || null); 290 | }); 291 | 292 | // restore scroll position if enabled 293 | if (matchHeight._maintainScroll) { 294 | $(window).scrollTop((scrollTop / htmlHeight) * $('html').outerHeight(true)); 295 | } 296 | 297 | return this; 298 | }; 299 | 300 | /* 301 | * matchHeight._applyDataApi 302 | * applies matchHeight to all elements with a data-match-height attribute 303 | */ 304 | 305 | matchHeight._applyDataApi = function() { 306 | var groups = {}; 307 | 308 | // generate groups by their groupId set by elements using data-match-height 309 | $('[data-match-height], [data-mh]').each(function() { 310 | var $this = $(this), 311 | groupId = $this.attr('data-mh') || $this.attr('data-match-height'); 312 | 313 | if (groupId in groups) { 314 | groups[groupId] = groups[groupId].add($this); 315 | } else { 316 | groups[groupId] = $this; 317 | } 318 | }); 319 | 320 | // apply matchHeight to each group 321 | $.each(groups, function() { 322 | this.matchHeight(true); 323 | }); 324 | }; 325 | 326 | /* 327 | * matchHeight._update 328 | * updates matchHeight on all current groups with their correct options 329 | */ 330 | 331 | var _update = function(event) { 332 | if (matchHeight._beforeUpdate) { 333 | matchHeight._beforeUpdate(event, matchHeight._groups); 334 | } 335 | 336 | $.each(matchHeight._groups, function() { 337 | matchHeight._apply(this.elements, this.options); 338 | }); 339 | 340 | if (matchHeight._afterUpdate) { 341 | matchHeight._afterUpdate(event, matchHeight._groups); 342 | } 343 | }; 344 | 345 | matchHeight._update = function(throttle, event) { 346 | // prevent update if fired from a resize event 347 | // where the viewport width hasn't actually changed 348 | // fixes an event looping bug in IE8 349 | if (event && event.type === 'resize') { 350 | var windowWidth = $(window).width(); 351 | if (windowWidth === _previousResizeWidth) { 352 | return; 353 | } 354 | _previousResizeWidth = windowWidth; 355 | } 356 | 357 | // throttle updates 358 | if (!throttle) { 359 | _update(event); 360 | } else if (_updateTimeout === -1) { 361 | _updateTimeout = setTimeout(function() { 362 | _update(event); 363 | _updateTimeout = -1; 364 | }, matchHeight._throttle); 365 | } 366 | }; 367 | 368 | /* 369 | * bind events 370 | */ 371 | 372 | // apply on DOM ready event 373 | $(matchHeight._applyDataApi); 374 | 375 | // update heights on load and resize events 376 | $(window).bind('load', function(event) { 377 | matchHeight._update(false, event); 378 | }); 379 | 380 | // throttled update heights on resize events 381 | $(window).bind('resize orientationchange', function(event) { 382 | matchHeight._update(true, event); 383 | }); 384 | 385 | }); 386 | -------------------------------------------------------------------------------- /js/jquery.scrollTo.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2007-2014 Ariel Flesler - afleslergmailcom | http://flesler.blogspot.com 3 | * Licensed under MIT 4 | * @author Ariel Flesler 5 | * @version 1.4.11 6 | */ 7 | ;(function(a){if(typeof define==='function'&&define.amd){define(['jquery'],a)}else{a(jQuery)}}(function($){var j=$.scrollTo=function(a,b,c){return $(window).scrollTo(a,b,c)};j.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:true};j.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(f,g,h){if(typeof g=='object'){h=g;g=0}if(typeof h=='function')h={onAfter:h};if(f=='max')f=9e9;h=$.extend({},j.defaults,h);g=g||h.duration;h.queue=h.queue&&h.axis.length>1;if(h.queue)g/=2;h.offset=both(h.offset);h.over=both(h.over);return this._scrollable().each(function(){if(f==null)return;var d=this,$elem=$(d),targ=f,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}var e=$.isFunction(h.offset)&&h.offset(d,targ)||h.offset;$.each(h.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=j.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(h.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=e[pos]||0;if(h.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*h.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(h.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&h.queue){if(old!=attr[key])animate(h.onAfterFirst);delete attr[key]}});animate(h.onAfter);function animate(a){$elem.animate(attr,g,h.easing,a&&function(){a.call(this,targ,h)})}}).end()};j.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return $.isFunction(a)||typeof a=='object'?a:{top:a,left:a}};return j})); 8 | -------------------------------------------------------------------------------- /js/ripple-config.js: -------------------------------------------------------------------------------- 1 | var ripplyScott = (function() { 2 | var circle = document.getElementById('js-ripple'), 3 | ripple = document.querySelectorAll('.js-ripple'); 4 | 5 | function rippleAnimation(event, timing) { 6 | var tl = new TimelineMax(); 7 | x = event.offsetX, 8 | y = event.offsetY, 9 | w = event.target.offsetWidth, 10 | h = event.target.offsetHeight, 11 | offsetX = Math.abs( (w / 2) - x ), 12 | offsetY = Math.abs( (h / 2) - y ), 13 | deltaX = (w / 2) + offsetX, 14 | deltaY = (h / 2) + offsetY, 15 | scale_ratio = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); 16 | 17 | console.log('x is:' + x); 18 | console.log('y is:' + y); 19 | console.log('offsetX is:' + offsetX); 20 | console.log('offsetY is:' + offsetY); 21 | console.log('deltaX is:' + deltaX); 22 | console.log('deltaY is:' + deltaY); 23 | console.log('width is:' + w); 24 | console.log('height is:' + h); 25 | console.log('scale ratio is:' + scale_ratio); 26 | 27 | tl.fromTo(ripple, timing, { 28 | x: x, 29 | y: y, 30 | transformOrigin: '50% 50%', 31 | scale: 0, 32 | opacity: 1, 33 | ease: Linear.easeIn 34 | },{ 35 | scale: scale_ratio, 36 | opacity: 0 37 | }); 38 | 39 | return tl; 40 | } 41 | 42 | return { 43 | init: function(target, timing) { 44 | var button = document.getElementById(target); 45 | 46 | button.addEventListener('click', function(event) { 47 | rippleAnimation.call(this, event, timing); 48 | }); 49 | } 50 | }; 51 | })(); 52 | 53 | ripplyScott.init('js-ripple-btn', 0.75); -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | staticjinja==0.3.3 2 | -------------------------------------------------------------------------------- /sponsorship-prospectus.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pythonindia/inpycon2016/771fff93f219f2c2375856b63a4013382810e671/sponsorship-prospectus.pdf -------------------------------------------------------------------------------- /sponsorship.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | PyCon India 2016 in New Delhi | September 23rd to 25th 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 60 | 61 | 62 | 98 | 99 |
100 | 101 | 112 | 113 | 114 | 115 | 116 |
117 |
118 |
119 |
120 |

121 |
SPONSORSHIP 122 |

123 |
124 |
125 |
126 |

127 | PyCon India is the largest annual conference for the community using and developing the Python programming language in India. It attracts the best Python programmers across the country and abroad. PyCon India is a community conference, organized by volunteers. Formally it is run by the Python Software Society of India, which is a non-profit society under Indian law. 128 |

129 |
130 |

Sponsoring

131 |

132 | Your sponsorship keeps PyCon India affordable to the widest possible audience. 133 |

134 |

135 | In order to ensure a successful conference, the community needs to address a wide range of logistical and organizational challenges. PyCon India attendees sometimes require assistance with expenses especially student attendees, and sponsorship enables us to support those who would otherwise be unable to attend. 136 |

137 |

138 | The attendees of PyCon India will include professional developers from large enterprises and smaller firms as well as people from academia. Delegates come to present their latest developments. With Python already becoming a major enterprise programming language and platform, sponsoring PyCon India 2016 is an excellent opportunity to demonstrate industry leadership in this part of the world. The attendance of PyCon India 2016 is expected to be between 1200 and 1350 delegates. 139 |

140 |
141 |
Download Sponsorship Prospectus
142 |
143 |
144 |
145 |
146 |
147 | 148 | 149 | 150 | 161 |
162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 194 | 195 | 196 | -------------------------------------------------------------------------------- /team.html: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | PyCon India 2016 in New Delhi | September 23rd to 25th 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 60 | 61 | 62 | 98 | 99 |
100 | 101 | 112 | 113 | 114 | 115 | 116 |
117 |
118 |
119 |
120 | 121 |

122 |
TEAM 123 |

124 |
125 |
126 |
127 |

PyCon India is run behind the scenes by many volunteers who invest a lot of time and effort into making the event a success. We dedicate this page to all those people who connect the dots together.

128 |
129 |
    130 |
  • Aadarsh Singh
  • 131 |
  • Akash Mishra
  • 132 |
  • Akshay Arora
  • 133 |
  • AMIT KUMAR
  • 134 |
  • Anand M
  • 135 |
  • Aniket Maithani
  • 136 |
  • Ankur Gupta
  • 137 |
  • Anuvrat Parashar
  • 138 |
  • Arsh
  • 139 |
  • Arshad Khan
  • 140 |
  • Ashish Dahiya
  • 141 |
  • Ashutosh Kumar Singh
  • 142 |
  • Chaianya Kukde
  • 143 |
  • Chandan Kumar
  • 144 |
  • Deepak Bharti
  • 145 |
  • Dhriti Shikhar
  • 146 |
  • Dhruv Kumar
  • 147 |
  • Farhaan Buksh
  • 148 |
  • Ganesh Kadam
  • 149 |
  • Girish Joshi
  • 150 |
  • Gora Mohanty
  • 151 |
  • Gourav Chawla
  • 152 |
  • Hans Gogia
  • 153 |
  • Haris Ibrahim K V
  • 154 |
  • Harshul jain
  • 155 |
  • Jaidev Deshpande
  • 156 |
  • Janki Chattbar
  • 157 |
  • Jaysinh Shukla
  • 158 |
  • Jogender Kota
  • 159 |
  • Kantesh Raj
  • 160 |
  • Karambir Singh Nain
  • 161 |
  • Krace Kumar Ramaraju
  • 162 |
  • Kunal Kushwaha
  • 163 |
  • Kushal Das
  • 164 |
  • Mannu Gupta
  • 165 |
  • Manoj Pandey
  • 166 |
  • Mayank Jain
  • 167 |
  • Mudit Sharma
  • 168 |
  • Peeyush Aggarwal
  • 169 |
  • Pradhvan Bisht
  • 170 |
  • Priyal Trivedi
  • 171 |
  • Priyank Trivedi
  • 172 |
  • Pulkit Pahwa
  • 173 |
  • Pushplata Ranjan
  • 174 |
  • Rahul Bajaj
  • 175 |
  • Rajat Goyal
  • 176 |
  • Rishabh Singh
  • 177 |
  • Rohit Goyal
  • 178 |
  • Sahil Joseph
  • 179 |
  • Sanyam Khurana
  • 180 |
  • Satyaakam Goswami
  • 181 |
  • Saurabh Kumar
  • 182 |
  • Shashank Aryan
  • 183 |
  • Amol Kahat
  • 184 |
  • Shashank Kumar
  • 185 |
  • Shiny Parashar
  • 186 |
  • Shweta suman
  • 187 |
  • Shyam Saini
  • 188 |
  • Sreekanth S R
  • 189 |
  • Suraj Deshmukh
  • 190 |
  • Suraj Narwade
  • 191 |
  • T K Sourabh
  • 192 |
  • Vijay Bang
  • 193 |
  • Vinay Dahiya
  • 194 |
  • Vipin Kumar Rathi
  • 195 |
196 |
197 |
198 |
199 |
200 | 201 | 202 | 203 | 214 |
215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 247 | 248 | 249 | -------------------------------------------------------------------------------- /templates/_base.jinja: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | PyCon India 2016 in New Delhi | September 23rd to 25th 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 45 | 46 | 47 | 48 | 49 | 60 | 61 | 62 | 98 | 99 |
100 | 101 | 112 | 113 | 114 | {% block content %}{% endblock %} 115 | 116 | {% include '_footer.html' %} 117 |
118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /templates/_footer.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /templates/_header.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 10 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /templates/coc.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.jinja" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |
8 |
9 |

10 |
CODE OF CONDUCT 11 |

12 |
13 |
14 |
15 |

PyCon India is a community organized conference intended for advocating the use and adoption of the Python programming language in India. It is also a platform for fostering networking and collaboration among the Python developer community in India.

16 |

We value the participation of every member of the Python community and want all attendees to have an enjoyable and rewarding experience. Accordingly, every attendee of the conference is expected to show respect and courtesy to every other attendee throughout the conference and at all conference related events, whether officially organized by PyCon India or not.

17 |

To make clear what is expected, all delegates/attendees, speakers, exhibitors, organizers and volunteers at PyCon India are required to conform to the following Code of Conduct. Organizers will enforce this code throughout the event.

18 |
19 |

Short Version

20 |

PyCon India is dedicated to providing a harassment-free conference experience for everyone, regardless of age, gender, sexual orientation, physical appearance, disability, race, religion or employment. We don't tolerate harassment of attendees in any form.

21 |

All communication should be appropriate for a professional audience, including people from many different backgrounds.

22 |

Code for Speakers:

23 |

Sexual language or imagery is inappropriate for your talks or slides. Refrain from using sexist, racist or exclusionary language anywhere in your content.

24 |

Code for Exhibitors and Sponsors:

25 |

Exhibitors in the expo hall, sponsor or vendor booths, are subject to the anti-harassment policy.

26 |

Exhibitors should not use sexualized images, activities, or other material.

27 |

Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.

28 |

Code for Participants:

29 |

Be kind and sensitive to the people around you and avoid any kind of offensive behavior. Sexist, racist or any other form of exclusionary or offensive jokes or excessive public swearing are not appropriate at any venue of PyCon India.

30 |

Attendees violating these rules may be asked to leave the conference without a refund at the sole discretion of the conference organizers.

31 |

Thank you for your consideration and help in making PyCon India a welcoming, friendly event for all of us.

32 |

Long Version

33 |

PyCon India is dedicated to providing a harassment-free conference experience for everyone, regardless of age, gender, sexual orientation, physical appearance, disability, race, religion or employment.

34 |

Harassment includes offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. We have zero tolerance on harassment of conference participants in any form, including, but not limited to the activities mentioned here.

35 |

Participants asked to stop any harassing behavior are expected to comply immediately.

36 |

Exhibitors in the expo hall, sponsor or vendor booths, or similar activities are also subject to the anti-harassment policy. In particular, exhibitors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.

37 |

All communication should be appropriate for a professional audience, including people from many different backgrounds. Sexual language or imagery is inappropriate for all aspects of the conference, including talks. Remember that sexist, racist or any other form of exclusionary or offensive jokes or excessive public swearing are not appropriate at any venue of PyCon India.

38 |

Do not insult or put down attendees or engage in any action that violates the open, welcoming and sharing spirit of the conference. Be kind and sensitive to the people around you when you are attending the conference, and avoid any kind of offensive or degrading behavior.

39 |

If a participant engages in behavior that violates this code of conduct, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.

40 |

Thank you for helping to make PyCon India a welcoming, friendly event for all.

41 | 42 | 43 | 44 |

Contact Information

45 |

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff. Conference staff will be wearing "PyCon India Staff" or "PyCon India Volunteer" badges.

46 | 47 | 64 |

Conference staff will be happy to help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

65 |

License

66 |

This Code of Conduct was forked from PSF Code of Conduct by Python Software Foundation which is under a Creative Commons Attribution 3.0 Unported License.

67 |

PyCon India Conference Code of Conduct is licensed under a Creative Commons Attribution 3.0 Unported License.

68 |
69 |
70 |
71 |
72 |
73 | 74 | {% endblock %} 75 | -------------------------------------------------------------------------------- /templates/faq.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.jinja" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |
8 |
9 | 10 |

11 |
FAQ 12 |

13 |
14 |
15 |
16 | 19 |

20 | Q. I want to present a talk/workshop at the conference. What should I do?
21 | A. You can submit the proposal for your talk/workshop here. 22 |

23 |
24 |

25 | Q. How do I upload presentations to the site?
26 | A. We don't support presentation uploads yet. Please upload your presentation to a public site such as SlideShare or Google Docs and use that link in your talk's description. 27 |

28 |
29 |

30 | Q. I want to volunteer for the conference. What should I do?
31 | A. Please share your details by filling this form and the team will soon get back to you with responsibilities according to the domains you choose. 32 |

33 |
34 |

35 | Q. I am a speaker/volunteer at the conference. Do I need to buy a ticket?
36 | A. Yes. At PyCon India, everybody buys tickets. Even the event organizers buy tickets. Your ticket helps keep the event affordable for all. 37 |

38 |
39 |

40 | Q. Will the Internet and WiFi setup be good enough for a large crowd? Should I get a datacard?
41 | A. We try really hard to arrange good Internet at the venue. Most of the times it is adequate. But the unpredictable amount of usage during the event sometimes causes some problems. So it is fine if you don’t carry a data card, but there is no harm in being prepared for the worst. 42 |

43 |
44 |

45 | Q. What are the workshop and conference timings?
46 | A. - Workshop day (Sep 23rd): 08:00 AM - 06:30 PM.
47 |      - Conference days (Sep 24th and 25th): 08:00 AM - 5.30 PM. 48 |

49 |
50 |

51 | Q. What all does the Conference ticket (September 24 & 25) include?
52 | A. - Full conference pass for two days.
     - Breakfast, Lunch and Hi-Tea.
     - PyCon India T-shirt which will be distributed on Sep 25.
53 |

54 |
55 |

56 | Q. My talk is not selected for conference, can I opt for OpenSpace?
57 | A. Yes. You can submit an OpenSpace proposal once we start accepting the same. Keep following to further updates 58 |

59 |
60 |

61 | Q. What is the screening process of OpenSpace talk?
62 | A. There is no screening process.
63 | We are trying to be better organized upfront by knowing the number of OpenSpace talks. This will help the organizing team plan to get all logistics required. 64 |

65 |
66 |

67 | Q. Where can I stay while in Delhi for the conference?
68 | A. There is a vibrant Python community in Delhi with whom one can share rooms. Else, you can also look for budget hotels around the Jawahar Lal Nehru University. 69 |

70 |
71 |

72 | Q. How can I travel to the conference venue?
73 | A. You can easily reach the conference by taking a cab to the Jawahar Lal Nehru University. The venue also has good public transport connectivity:
- Green Park Metro Station - 7.5 Km
- Rajiv Chowk Metro Station- 15 Km
- Hazrat Nizammudin Railway Station - 15.5 Km
74 |

75 |
76 |

77 | Q. I need to cancel my ticket due to unavoidable cicumstances. What is the refund policy?
78 | A. We allow tickets to be cancelled, but cancellation might be barred in the last few days leading up to the conference. This space will be updated if cancellation is barred at any time. 79 |

80 |
81 |

82 | Q. My question is not listed here / I am still unclear about a few things. Whom should I contact?
83 | A. Please send an email to contact@in.pycon.org. 84 |

85 |
86 |
87 |
88 |
89 |
90 | 91 | {% endblock %} 92 | -------------------------------------------------------------------------------- /templates/home/_feed-box.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 |
RSS Feed Widget
7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |
15 | -------------------------------------------------------------------------------- /templates/home/_schedule.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |


SCHEDULE

5 | 6 |
7 |
8 | 17 |
18 | {% for day in schedule %} 19 |
20 |

{{ day.description }}

21 |
22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | {% for zone in day.events %} 34 | 35 | 36 | {% if zone.talks[0].title == "Lunch" or zone.talks[0].title == "Break" or zone.talks[0].title == "Break - Tea & Snacks" %} 37 | {% for i in range(3) %} 38 | 41 | {% endfor %} 42 | {% else %} 43 | 44 | {% for talk in zone.talks %} 45 | 52 | {% endfor %} 53 | {% endif %} 54 | 55 | {% endfor %} 56 | 57 |
TIMEAUDI 1AUDI 2LECTURE HALL 2
{{ zone.time }}
39 | {{ zone.talks[0].title }} 40 |
46 | {%- if talk.link -%} 47 | {{ talk.title }}
By {{ talk.speaker }} 48 | {%- else -%} 49 | {{ talk.title }} 50 | {%- endif -%} 51 |
58 |
59 |
60 |
61 | {% endfor %} 62 |
63 |
64 |
65 |
66 |
67 |
68 | *Note: These schedules are tentative and are subjected to change as per speakers availability and/or other reasons. 69 |
70 |
71 |
72 |
73 |
74 | -------------------------------------------------------------------------------- /templates/home/_speakers.html: -------------------------------------------------------------------------------- 1 | {% macro speaker_box(name, photo, bio, github, twitter) %} 2 |
3 |
4 |
5 | 6 |
7 |
8 |

{{ name }}

9 |

{{ bio }}

10 | 13 | 16 |
17 |
18 |
19 | {% endmacro %} 20 | 21 |
22 |
23 |

24 |
KEYNOTE SPEAKERS 25 |

26 | 27 |
28 | {{ speaker_box(name='Baishampayan Ghose', 29 | photo='images/speakers/baishampayan.jpg', 30 | bio='Baishampayan "BG" Ghose is CTO/Co-founder at Helpshift, Inc. BG is a 31 | career functional programmer with exposure to a wide variety of 32 | programming languages and paradigms. His areas of interests are 33 | Semantics of Programming Languages, Distributed Systems, Software 34 | Design and the intersection of Software, Culture and Society.', 35 | github='https://github.com/ghoseb', 36 | twitter='https://twitter.com/ghoseb') }} 37 | 38 | {{ speaker_box(name='Andreas Mueller', 39 | photo='images/speakers/andreas.jpg', 40 | bio='Andreas is a Research Engineer at the NYU Center for Data Science, 41 | building open source software for data science. Previously he was 42 | a Machine Learning Scientist at Amazon, working on computer vision 43 | and forecasting problems. He is one of the core developers of the 44 | scikit-learn machine learning library, and he has been co-maintaining 45 | it for several years.', 46 | github='https://github.com/amueller', 47 | twitter='https://twitter.com/amuellerml') }} 48 | 49 | {{ speaker_box(name='Van Lindberg', 50 | photo='images/speakers/vanl.jpg', 51 | bio="Van Lindberg is an engineer, IP and open source lawyer, and part-time natural language hacker. He is a director, general counsel, and past chair of the PSF, a director of the OpenStack Foundation, and Vice President and Associate General Counsel for Rackspace. Lindberg wrote the 'Intellectual Property and Open Source', and was named one of 'America's Top 12 Techiest Attorneys'.", 52 | github='https://github.com/vanl', 53 | twitter='https://twitter.com/VanL') }} 54 | 55 |
56 |
57 |
58 | -------------------------------------------------------------------------------- /templates/home/_sponsors.html: -------------------------------------------------------------------------------- 1 | 2 | {% macro pybox(img_src='images/logos/placeholder.png', href='#', 3 | sponsor_name='Sponsor', description="Soon to be updated...", modal="", 4 | style="", type='') -%} 5 | 6 | 9 | 10 | 32 | {%- endmacro %} 33 | 34 |
35 |
36 |

37 |
SPONSORS 38 |

39 | 40 |
41 |

Platinum

42 |
{{ pybox("images/logos/goibibo_logo.png", 43 | href="https://www.goibibo.com", 44 | style="", 45 | sponsor_name="goibibo", 46 | modal="goibibo-modal") }} 47 |
48 |
{{ pybox("images/logos/microsoft.png", 49 | href="http://aka.ms/python", 50 | style="", 51 | sponsor_name="Microsoft", 52 | modal="microsoft-modal", 53 | description="

Microsoft's commitment to openness and 54 | collaboration is ingrained in our day-to-day approach 55 | to doing business. We continue to invest in delivering 56 | a great experience for any developer, with any app, on 57 | any platform.From making the full server-side .NET stack 58 | open source to delivering Bash on Ubuntu on Windows and 59 | Visual Studio Code,a free full featured code editor 60 | for Linux, Mac, OSX and Windows, we reinforce the 61 | commitment.

Our Cloud platform,Microsoft Azure 62 | supports the broadest selection of operating 63 | systems, programming languages, frameworks, tools, 64 | databases and devices. Run Linux containers with 65 | Docker integration; build apps with JavaScript, 66 | Python, .NET, PHP, Java and Node.js; build back-ends 67 | for iOS,Android and Windows devices. Azure cloud 68 | service supports the same technologies millions of 69 | developers and IT professionals already rely on and 70 | trust.

Learn how to build and deploy Python 71 | Apps on Azure and how to user Python scripts to use 72 | and manage your Azure resources. Also, get access to 73 | 12,100 INR worth of Free Azure Credits by explore 74 | more about our cloud platform.

") }} 75 |
76 |
77 | 78 |
79 |

Gold

80 |
{{ pybox("images/logos/jetbrains.svg", 81 | href="https://www.jetbrains.com", 82 | style="", 83 | sponsor_name="Jet Brains", 84 | modal="jet-brains-modal", 85 | description="

JetBrains delivers intelligent software 86 | solutions that make developers more productive by 87 | simplifying their challenging tasks, automating the 88 | routine, and helping them adopt the best development 89 | practices.

PyCharm is the Python IDE for Professional 90 | Developers by JetBrains providing a complete set of 91 | tools for productive Python, Web and scientific 92 | development, available in three editions. The free and 93 | open-source

PyCharm Community Edition is perfect for 94 | pure Python coding.

PyCharm Professional Edition is 95 | designed for professional Python and Web developers. 96 | PyCharm Educational Edition helps novice programmers 97 | learn programming with Python easily and effectively 98 | .

") }} 99 |
100 |
{{ pybox("images/logos/redhat.png", 101 | href="https://www.redhat.com/en", 102 | style="", 103 | sponsor_name="Red Hat", 104 | modal="redhat-modal", 105 | description="

Red Hat is the world's leading provider of open 106 | source software solutions, using a community-powered 107 | approach to reliable and high-performing cloud, Linux, 108 | middleware, storage and virtualization technologies.

109 | Red Hat also offers award-winning support, training, and 110 | consulting services. As a connective hub in a global 111 | network of enterprises, partners, and open source 112 | communities, Red Hat helps create relevant, innovative 113 | technologies that liberate resources for growth and 114 | prepare customers for the future of IT.

") }} 115 |
116 |
{{ pybox("images/logos/digital-ocean.png", 117 | href="http://www.digitalocean.com", 118 | style="", 119 | sponsor_name="Digital Ocean", 120 | modal="digital-ocean-modal", 121 | description="

DigitalOcean is the world’s 2nd largest cloud 122 | hosting platform focused on simplifying cloud 123 | infrastructure for software developers & startups. They 124 | have 13 datacenters across the world, with their latest 125 | datacenter being launched in Bangalore. Trusted by 725, 126 | 000+ developers globally who have spun up 20MM+ Droplets 127 | (virtual servers) on their infrastructure, the key 128 | features of their platform include:

129 |
  • Powerful Hardware - Servers built on powerful Hex Core 130 | machines with dedicated ECC Ram and RAID SSD storage.
  • 131 |
  • 55 second provisioning time for servers
  • 132 |
  • Tier-1 Bandwidth - All servers come with 1Gb/sec. 133 | network interface.
  • 134 |
  • Simple Control Panel - 1-Click Installs for popular 135 | applications, Team accounts, Auto Backups and Snapshots
  • 136 |
  • Simple API that provides complete control over your 137 | virtual private servers
  • 138 |
  • Block Storage - Attach highly-available and scalable 139 | SSD-based Block Storage to your virtual private servers
  • 140 |
  • www.digitalocean.com/community/tutorials is a popular 141 | resource for developers when they are looking for 142 | technical tutorials for new technology
  • 143 |
  • Free 24/7 access to their customer support team
") }} 144 |
145 |
146 | 147 |
148 |

Silver

149 |
{{ pybox("images/logos/zeomega.png", 150 | href="http://www.zeomega.com", 151 | style="", 152 | sponsor_name="ZeOmega", 153 | modal="zeomega-modal", 154 | description="

A market leader in Population Health 155 | Management software, ZeOmega produces a Python-based 156 | webapp platform into which many sources of healthcare 157 | data can be plugged, to provide workflow automation and 158 | smart rule-based reactive and predictive care targeted 159 | at high-risk members, to bring down costs and measure 160 | for all stakeholders the effectiveness of care. The 161 | mobile and web-based platform is highly scalable, 162 | enterprise-ready and matured over 15 years") }} 163 |

164 |
{{ pybox("images/logos/iamai.png", 165 | href="http://www.iamai.in", 166 | style="", 167 | sponsor_name="IAMAI", 168 | modal="iamai-modal", 169 | description="

The Internet and Mobile Association of India 170 | [IAMAI] is a young and vibrant association with ambitions 171 | of representing the entire gamut of digital businesses in 172 | India. It was established in 2004 by the leading online 173 | publishers, and in the last 12 years has come to 174 | effectively address the challenges facing the digital and 175 | online industry including mobile content and services, 176 | online publishing, mobile advertising, online advertising, 177 | ecommerce and mobile & digital payments among others 178 | .

179 |

Twelve years after its establishment, the association is 180 | still the only professional industry body representing the 181 | online and mobile VAS industry in India. The association 182 | is registered under the Societies Act and is a recognized 183 | charity in Maharashtra. With a membership of over 200 184 | Indian and MNC companies, and with offices in Delhi, Mumbai 185 | and Bengaluru, the association is well placed to work 186 | towards charting a growth path for the digital industry in 187 | India.

") }} 188 |
189 |
190 | 191 |
192 |

Associate

193 |
{{ 194 | pybox("images/logos/pipal.png", 195 | href="https://pipal.in/", 196 | style="", 197 | sponsor_name="Pipal Academy", 198 | modal="pipal-modal", 199 | description="

Pipal Academy is a collective of experienced 200 | technologists, who care deeply about the art of software 201 | development. We offer in-depth courses on niche technical 202 | topics.

203 |

We regularly conduct public workshops in Bangalore and 204 | also offer on site corporate trainings. Our courses are 205 | targeted at professional software developers and we make 206 | sure they are hands-on and interactive.

") }}
207 |
208 |
209 | 210 |
211 | -------------------------------------------------------------------------------- /templates/home/_twitter-box.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 17 |
18 |
19 | -------------------------------------------------------------------------------- /templates/home/_venue.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |

5 |

VENUE 6 |

7 |
8 |
9 | 10 | {% set map_height = 450 %} 11 | 21 |
22 | 23 | 24 |
25 |

Convention Centre

26 | 27 | Jawahar Lal Nehru University,
28 | New Mehrauli Road, Near Munirka,
29 | New Delhi - 110067 30 |
31 |
32 | 35 | 38 | 41 |
42 |
43 |
44 |
45 |
46 | 47 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.jinja" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |
8 |
9 | 10 |
11 |
12 |
13 |
14 |

15 | PyCon India, the premier conference in India on using and developing the Python programming language is conducted annually by the Python developer community. It attracts the best Python programmers from across the country and abroad. 16 |

17 |
18 |
19 | 20 |
21 |
22 |

Workshops

23 |

24 | September 23, 2016 [Friday] 25 |

26 |
27 |
28 |
29 |
30 | 31 |
32 |
33 |

Conference

34 |

35 | September 24-25, 2016 [Saturday-Sunday] 36 |

37 |
38 |
39 |
40 |
41 | 42 | 45 | 46 | 47 | 50 | 51 |
52 |
53 |
54 |
55 | 56 | 57 | 58 | {% include "home/_speakers.html" %} 59 | {% include "home/_schedule.html" %} 60 | {% include "home/_venue.html" %} 61 | {% include "home/_sponsors.html" %} 62 | 63 | 64 |
65 |
66 |

67 |
WHAT'S HAPPENING? 68 |

69 |
70 | {% include 'home/_feed-box.html' %} 71 |
72 |
73 | {% include 'home/_twitter-box.html' %} 74 |
75 |
76 |
77 | 78 | {% endblock %} 79 | -------------------------------------------------------------------------------- /templates/sponsorship.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.jinja" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |
8 |
9 |

10 |
SPONSORSHIP 11 |

12 |
13 |
14 |
15 |

16 | PyCon India is the largest annual conference for the community using and developing the Python programming language in India. It attracts the best Python programmers across the country and abroad. PyCon India is a community conference, organized by volunteers. Formally it is run by the Python Software Society of India, which is a non-profit society under Indian law. 17 |

18 |
19 |

Sponsoring

20 |

21 | Your sponsorship keeps PyCon India affordable to the widest possible audience. 22 |

23 |

24 | In order to ensure a successful conference, the community needs to address a wide range of logistical and organizational challenges. PyCon India attendees sometimes require assistance with expenses especially student attendees, and sponsorship enables us to support those who would otherwise be unable to attend. 25 |

26 |

27 | The attendees of PyCon India will include professional developers from large enterprises and smaller firms as well as people from academia. Delegates come to present their latest developments. With Python already becoming a major enterprise programming language and platform, sponsoring PyCon India 2016 is an excellent opportunity to demonstrate industry leadership in this part of the world. The attendance of PyCon India 2016 is expected to be between 1200 and 1350 delegates. 28 |

29 |
30 |
Download Sponsorship Prospectus
31 |
32 |
33 |
34 |
35 |
36 | 37 | {% endblock %} 38 | -------------------------------------------------------------------------------- /templates/team.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.jinja" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |
8 |
9 | 10 |

11 |
TEAM 12 |

13 |
14 |
15 |
16 |

PyCon India is run behind the scenes by many volunteers who invest a lot of time and effort into making the event a success. We dedicate this page to all those people who connect the dots together.

17 |
18 |
    19 |
  • Aadarsh Singh
  • 20 |
  • Akash Mishra
  • 21 |
  • Akshay Arora
  • 22 |
  • AMIT KUMAR
  • 23 |
  • Anand M
  • 24 |
  • Aniket Maithani
  • 25 |
  • Ankur Gupta
  • 26 |
  • Anuvrat Parashar
  • 27 |
  • Arsh
  • 28 |
  • Arshad Khan
  • 29 |
  • Ashish Dahiya
  • 30 |
  • Ashutosh Kumar Singh
  • 31 |
  • Chaianya Kukde
  • 32 |
  • Chandan Kumar
  • 33 |
  • Deepak Bharti
  • 34 |
  • Dhriti Shikhar
  • 35 |
  • Dhruv Kumar
  • 36 |
  • Farhaan Buksh
  • 37 |
  • Ganesh Kadam
  • 38 |
  • Girish Joshi
  • 39 |
  • Gora Mohanty
  • 40 |
  • Gourav Chawla
  • 41 |
  • Hans Gogia
  • 42 |
  • Haris Ibrahim K V
  • 43 |
  • Harshul jain
  • 44 |
  • Jaidev Deshpande
  • 45 |
  • Janki Chattbar
  • 46 |
  • Jaysinh Shukla
  • 47 |
  • Jogender Kota
  • 48 |
  • Kantesh Raj
  • 49 |
  • Karambir Singh Nain
  • 50 |
  • Krace Kumar Ramaraju
  • 51 |
  • Kunal Kushwaha
  • 52 |
  • Kushal Das
  • 53 |
  • Mannu Gupta
  • 54 |
  • Manoj Pandey
  • 55 |
  • Mayank Jain
  • 56 |
  • Mudit Sharma
  • 57 |
  • Peeyush Aggarwal
  • 58 |
  • Pradhvan Bisht
  • 59 |
  • Priyal Trivedi
  • 60 |
  • Priyank Trivedi
  • 61 |
  • Pulkit Pahwa
  • 62 |
  • Pushplata Ranjan
  • 63 |
  • Rahul Bajaj
  • 64 |
  • Rajat Goyal
  • 65 |
  • Rishabh Singh
  • 66 |
  • Rohit Goyal
  • 67 |
  • Sahil Joseph
  • 68 |
  • Sanyam Khurana
  • 69 |
  • Satyaakam Goswami
  • 70 |
  • Saurabh Kumar
  • 71 |
  • Shashank Aryan
  • 72 |
  • Amol Kahat
  • 73 |
  • Shashank Kumar
  • 74 |
  • Shiny Parashar
  • 75 |
  • Shweta suman
  • 76 |
  • Shyam Saini
  • 77 |
  • Sreekanth S R
  • 78 |
  • Suraj Deshmukh
  • 79 |
  • Suraj Narwade
  • 80 |
  • T K Sourabh
  • 81 |
  • Vijay Bang
  • 82 |
  • Vinay Dahiya
  • 83 |
  • Vipin Kumar Rathi
  • 84 |
85 |
86 |
87 |
88 |
89 | 90 | {% endblock content %} 91 | --------------------------------------------------------------------------------