1<!doctype html> 2<html lang="en"> 3 4<head> 5 <!-- Google tag (gtag.js) -->
vendor: 66 bytes, lines 5-6
5 6 <script async src="https://www.googletagmanager.com/gtag/js?id=
6G-D7NS9H7CDM
vendor: 14 bytes, lines 6-7
6"></script> 7
7<script> 8
vendor: 143 bytes, lines 8-12
8window.dataLayer = window.dataLayer || []; 9 function gtag() { dataLayer.push(arguments); } 10 gtag('js', new Date()); 11 12 gtag('config', '
12G-D7NS9H7CDM
vendor: 6 bytes, lines 12-13
12'); 13
13</script>
13 14 <!-- Meta Pixel Code --> 15
15<script>
vendor: 521 bytes, lines 15-27
15 16 !function (f, b, e, v, n, t, s) { 17 if (f.fbq) return; n = f.fbq = function () { 18 n.callMethod ? 19 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 20 }; 21 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 22 n.queue = []; t = b.createElement(e); t.async = !0; 23 t.src = v; s = b.getElementsByTagName(e)[0]; 24 s.parentNode.insertBefore(t, s) 25 }(window, document, 'script', 26 'https://connect.facebook.net/en_US/fbevents.js'); 27 fbq('init', '
271184253206099221
vendor: 36 bytes, lines 27-29
27'); 28 fbq('track', 'PageView'); 29
29</script>
29 30 <noscript><img height="1" width="1" style="display:none" 31 src="https://www.facebook.com/tr?id=1184253206099221&ev=PageView&noscript=1" /></noscript> 32 <!-- End Meta Pixel Code --> 33 <meta charset="utf-8"> 34 <!-- Bootstrap 5.3.3 CSS --> 35 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"> 36 37 <!-- Load site styles AFTER Bootstrap so our overrides take effect --> 38 <link rel="stylesheet" href="../static/gen/styles.css?h=7b8eaae9"> 39 40 41 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/fontawesome.min.css" 42 integrity="sha384-BY+fdrpOd3gfeRvTSMT+VUZmA728cfF9Z2G42xpaRkUGu2i3DyzpTURDo5A6CaLK" crossorigin="anonymous"> 43 44 45 <!-- Primary Meta Tags --> <!-- this is the default metadata which all websites can draw on --> 46 47 <title>PyBay 2026 - 11th Annual Bay Area Python Dev Conference - Health And Safety Guidelines</title> 48 <meta name="title" content="PyBay 2026 - 11th Annual Bay Area Python Dev Conference"> 49 <meta name="description" content="11th Annual Python developer conference - longest running on the US West Coast. Join us in San Francisco!"> 50 <meta name="author" content="Bay Area Python Association (BAPyA)"> 51 <!-- published time --> <!-- most sites will parse the date correctly if we leave time blank --> 52 <meta property="article:published_time" content="2026-05-21"> 53 <!-- Open Graph / Facebook --> <!-- this is what Facebook and other social websites will draw on --> 54 <meta name="og:type" property="og:type" content="website"> 55 <meta name="og:url" property="og:url" content="../"> 56 <meta name="og:title" property="og:title" content="PyBay 2026 - 11th Annual Bay Area Python Dev Conference"> 57 <meta name="og:description" property="og:description" 58 content="11th Annual Python developer conference - longest running on the US West Coast. Join us in San Francisco!"> 59 <meta name="og:image" property="og:image" content="..//pybay-logo-share-card.1200x630.png"> 60 <meta name="og:image:width" property="og:image:width" content="1200" /> 61 <meta name="og:image:height" property="og:image:height" content="630" /> 62 <meta name="og:image:alt" property="og:image:alt" content="PyBay Conference San Francisco"> 63 64 <!-- Twitter --> <!-- You can have a different summary for Twitter! --> 65 <meta name="twitter:card" property="twitter:card" content="summary_large_image"> 66 <meta name="twitter:url" property="twitter:url" content="../"> 67 <meta name="twitter:site" property="twitter:site" content="@py_bay"> 68 <meta name="twitter:title" property="twitter:title" 69 content="PyBay 2026 - 11th Annual Bay Area Python Dev Conference"> 70 <meta name="twitter:description" property="twitter:description" 71 content="11th Annual Python developer conference - longest running on the US West Coast. Join us in San Francisco!"> 72 <meta name="twitter:image" property="twitter:image" content="..//pybay-logo-share-card.1200x630.png"> 73 <meta name="twitter:image:width" property="twitter:image:width" content="1200" /> 74 <meta name="twitter:image:height" property="twitter:image:height" content="630" /> 75 <meta name="twitter:image:alt" property="twitter:image:alt" content="PyBay Python Conference San Francisco"> 76 <!-- Google --> <!-- This is for Google tags! --> 77 <meta name="google-adsense-account" content="ca-pub-5440569345445319"> 78 79 <meta name="viewport" content="width=device-width, initial-scale=1"> 80
80<script src="https://cdn.jsdelivr.net/npm/tsparticles@1/tsparticles.min.js"></script>
80 81 <style> 82 .attention { 83 font-size: 1.5rem; 84 padding: 1rem 2rem; 85 background: linear-gradient(45deg,#fcd058, #ff914d); 86 color: white; 87 border: none; 88 border-radius: 50px; 89 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); 90 transition: all 0.3s ease; 91 animation: pulse 1.5s infinite; 92 } 93 .attention:hover { 94 background: linear-gradient(45deg, #ff914d, #ffe261); 95 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3); 96 transform: translateY(-2px); 97 } 98 @keyframes pulse { 99 0% { 100 transform: scale(1); 101 } 102 50% { 103 transform: scale(1.1); 104 } 105 100% { 106 transform: scale(1); 107 } 108 } 109 110 /* Custom Nav Link Styles */ 111 .nav-link { 112 color: #FCD582; /* Python yellow */ 113 font-weight: bold; 114 115 text-decoration: underline #FCD582; 116 text-decoration-thickness: 3px; 117 text-underline-offset: 10px; 118 text-decoration-style: wavy; 119 text-decoration-skip-ink: none; 120 transition: text-decoration-color 1000ms; 121 } 122 .nav-link:hover { 123 color: #FCD582; 124 text-decoration-color: #ff914d; 125 border-radius: 5px; 126 } 127 .nav-link:active { 128 color: #FCD582; 129 text-decoration-color: #ff914d; 130 131 border-radius: 5px; 132 } 133 134 135 .dial{ 136 width: 3em; 137 border-bottom: 5px solid #FFEE9C; 138 display: inline-block; 139 } 140 141 142 143 .card{ 144 outline: none; 145 border: none; 146 border-radius: none ; 147 margin-bottom: 10px; 148 } 149 .card-header{ 150 background-color: #74DAF8; 151 border-radius: none ; 152 } 153 .card-header i{ 154 font-size: 3em; 155 } 156 .card-body{ 157 background-color: #DDF9F2; 158 border-radius: none ; 159 } 160 161 162 :root { 163 --angle: 45deg; 164 --opacity: 0.5; 165 } 166 167 *, 168 *::before, 169 *::after { 170 box-sizing: border-box; 171 } 172 173 .rainbow { 174 175 display: grid; 176 place-content: center; 177 text-align: center; 178 179 --border-size: 0.3rem; 180 border: var(--border-size) solid transparent; 181 182 /* Paint an image in the border */ 183 border-image: conic-gradient( 184 from var(--angle), 185 #60B3D7 0deg 90deg, 186 #fbb300 90deg 180deg, 187 #377af5 180deg 270deg, 188 #FFC53D 270deg 360deg 189 ) 190 1 stretch; 191 background: rgb(255 255 255 / var(--opacity)); 192 } 193 194 /** show a warning in browers that don't support it **/ 195 .warning { 196 margin: 2em; 197 padding: 1em; 198 border: 1px solid #ccc; 199 } 200 .warning p { 201 margin: 0; 202 padding: 0; 203 text-align: center; 204 } 205 /* Animate when Houdini is available */ 206 @supports (background: paint(houdini)) { 207 @property --opacity { 208 syntax: "<number>"; 209 initial-value: 0.5; 210 inherits: false; 211 } 212 213 @property --angle { 214 syntax: "<angle>"; 215 initial-value: 0deg; 216 inherits: false; 217 } 218 219 @keyframes opacityChange { 220 to { 221 --opacity: 1; 222 } 223 } 224 225 @keyframes rotate { 226 to { 227 --angle: 360deg; 228 } 229 } 230 231 .rainbow { 232 animation: rotate 4s linear infinite, opacityChange 3s infinite alternate; 233 } 234 235 .gallery-image { 236 border-right: 5px solid salmon; 237 border-bottom: 5px solid salmon; 238 margin-bottom: 5px; 239 padding-bottom: 10px; 240 } 241 .gallery-image a{ 242 border-top: 5px solid #FFC53D; 243 border-left: 5px solid #FFC53D; 244 padding: 5px; 245 246 } 247 .gallery-image img{ 248 background-color: #1D3E56; 249 padding:0; 250 margin: 0; 251 clip-path: polygon(20% 0%, 0% 20%, 11% 52%, 0% 80%, 20% 100%, 49% 86%, 80% 100%, 100% 80%, 87% 50%, 100% 20%, 80% 0%, 45% 8%); 252 } 253 } 254 /* Match dropdown to navbar color and theme */ 255.dropdown-menu { 256 background-color: #008bc5; /* same golden yellow, slightly more opaque */ 257 border: none; 258 border-radius: 0; 259 box-shadow: none; 260 padding: 0.5rem 0; 261 font-weight: bold; 262} 263 264/* Style the dropdown items to match nav-link styling */ 265.dropdown-item { 266 color: rgba(252, 213, 130, 0.95) ; /* Python blue text */ 267 padding: 0.5rem 1.25rem; 268 text-decoration: underline #00749E; 269 text-decoration-thickness: 2px; 270 text-underline-offset: 6px; 271 text-decoration-style: wavy; 272 background-color: transparent; 273 transition: text-decoration-color 0.3s ease; 274} 275 276.dropdown-item:hover, 277.dropdown-item:focus { 278 background-color: rgba(255, 145, 77, 0.2); /* a soft orange glow */ 279 text-decoration-color: #ff914d; 280} 281 282.dropdown-item:active { 283 background-color: rgba(255, 145, 77, 0.3); 284} 285 286/* Accessibility: ensure footer text and links have sufficient contrast on dark background */ 287footer { 288 color: #fff !important; 289} 290footer a { 291 color: #fff !important; 292} 293footer a:hover, 294footer a:focus { 295 color: #ffefb0 !important; 296} 297 298body.coc-policy-page { 299 min-height: 100vh; 300 display: flex; 301 flex-direction: column; 302} 303 304body.coc-policy-page #main { 305 flex: 1; 306} 307 308 </style> 309</head> 310 311<body> 312 <!-- Bootstrap 5.3.3 JS Bundle (includes Popper.js) -->
313<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
313 314 315<header class="navbar-custom"> 316 <div class="container"> 317 <nav class="navbar navbar-expand-lg navbar-light"> 318 <div class="container-fluid"> 319 <a class="navbar-brand" href="../" aria-label="pybay-logo"> 320 <img src="/pybay-logo.png" alt="PyBay Conference Logo"> 321 </a> 322 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" 323 aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> 324 <span class="navbar-toggler-icon"></span> 325 </button> 326 327 <div class="collapse navbar-collapse justify-content-end" id="navbarNav"> 328 <ul class="navbar-nav ms-auto"> 329 330 331 332 <li class="nav-item"> 333 <a href="../about/" class="nav-link">About</a> 334 </li> 335 336 337 338 339 340 <li class="nav-item"> 341 <a href="../attending/" class="nav-link">Attending</a> 342 </li> 343 344 345 346 347 <li class="nav-item dropdown"> 348 <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"> 349 Code Of Conduct 350 </a> 351 <ul class="dropdown-menu"> 352 353 <li><a class="dropdown-item" href="../code-of-conduct/code-of-conduct-policy/">Code Of Conduct Policy</a></li> 354 355 <li><a class="dropdown-item" href="../code-of-conduct/code-of-conduct-response-guide/">Code of Conduct Response Guide</a></li> 356 357 </ul> 358 </li> 359 360 361 362 363 364 365 366 367 <li class="nav-item"> 368 <a href="./" class="nav-link">Health And Safety</a> 369 </li> 370 371 372 373 374 375 376 377 378 <li class="nav-item dropdown"> 379 <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"> 380 Speakers 381 </a> 382 <ul class="dropdown-menu"> 383 384 <li><a class="dropdown-item" href="../speaking/workshops/">Workshops</a></li> 385 386 <li><a class="dropdown-item" href="../speaking/past-speakers/">Past Speakers</a></li> 387 388 <li><a class="dropdown-item" href="../speaking/speaker-profiles/">Speaker Profiles</a></li> 389 390 <li><a class="dropdown-item" href="../speaking/schedule/">Schedule</a></li> 391 392 <li><a class="dropdown-item" href="../speaking/talk-list-2025/">Talks</a></li> 393 394 </ul> 395 </li> 396 397 398 399 <li class="nav-item dropdown"> 400 <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"> 401 Sponsors 402 </a> 403 <ul class="dropdown-menu"> 404 405 <li><a class="dropdown-item" href="../sponsors/sponsor-us/">Sponsor Us</a></li> 406 407 <li><a class="dropdown-item" href="../sponsors/our-sponsors/">Our Sponsors</a></li> 408 409 <li><a class="dropdown-item" href="../sponsors/past-sponsors-word-cloud/">Past Sponsors</a></li> 410 411 </ul> 412 </li> 413 414 415 416 417 <li class="nav-item"> 418 <a href="../get-tickets/" class="nav-link">Tickets</a> 419 </li> 420 421 422 423 </ul> 424 </div> 425 426 </div> 427 </nav> 428 </div> 429</header> 430 431 <main id="main" class="body-wrapper" role="main"> 432 433 <div class="container"> 434 435 436 <h1 class="py-3" style="text-align: center">Health And Safety Guidelines</h1> 437 438 <h2><strong>Policy Overview</strong></h2> 439<ol> 440<li><a href="../health-and-safety#pybay-event-guidelines">PyBay Event Guidelines</a></li> 441<li><a href="../health-and-safety#vaccine-guideline">Vaccine Guideline</a></li> 442</ol> 443<h3><strong>PyBay Event Guidelines</strong></h3> 444<p>In line with San Francisco guidelines, we prioritize the well-being of our attendees at this outdoor event. Masks and vaccinations are not currently mandated, but they are encouraged. We reserve the right to change the conference COVID-19 policy to comply with San Francisco guidelines at the time of the conference. Refunds will be offered for attendees who are unable to comply with future updated guidelines. Personal choices regarding mask usage are respected. We encourage everyone to uphold good hygiene practices, maintain social awareness, and consider vaccination for the safety of all. Should you feel unwell or exhibit symptoms, we kindly request you stay home. Your health and enjoyment are paramount, and we're committed to fostering a safe environment throughout the event. We will refund your ticket if you are unwell.</p> 445<p>We will have masks available at the conference for anyone who needs them. It is expected that requests for personal space will be respected by attendees. Respecting such requests is covered by the PyB
445ay code of conduct.</p> 446<p>While we follow San Francisco's guidance for this event and don't require masks or proof of vaccination, we respect individual choices. Please prioritize hygiene, personal space, and your health. Stay home if unwell. Your safety matters most as we enjoy the event together.</p> 447<p>At a minimum, we will be following all mandated policies of the venue (UCSF Mission Bay is the conference venue in 2024 <a href="https://coronavirus.ucsf.edu/events">UCSF policy here</a>, in addition to municipal and state guidelines. This list, and all protocols, are subject to change if the COVID-19 situation changes.</p> 448<h3><strong>Vaccine Guideline</strong></h3> 449<p>Should local regulations change to require showing vaccination, we expect that you:</p> 450<ul> 451<li>are fully vaccinated for COVID-19 (1 dose of a single-dose vaccine or 2 doses of a two-dose vaccine)</li> 452<li>that your most recent dose was at least fourteen days before the conference start</li> 453</ul> 454<p>If required to comply with local guidelines, the following would be acceptable forms of proof of full vaccination:</p> 455<ul> 456<li>Government-issued or government-compliant digital vaccination verification app (such as Clear or VaxYes)</li> 457<li>Physical (or digital photocopy of) COVID-19 vaccination card, record, or certificate issued by a government agency, public health agency, or other authorized vaccine provider (a photo will also suffice).</li> 458</ul> 459<p>The proof of vaccination record would show the name of the vaccinated individual along with one other personal identifier (such as date of birth or passport number), name of the manufacturer for vaccine received, and date(s) of vaccination. It would also include the name of the official source issuing the record (e.g., public health agency, government agency, or other authorized vaccine provider).</p> 460 461 462 </div> 463 464 </main> 465 466 467 <footer style="background-color: #1D3E56;"> 468 <div class="container"> 469 <div class="row"> 470 <div class="col-sm-4 icon-bar"> 471 <a href="https://github.com/pybay/pybay/" title="PyBay on GitHub"><i class="fa fa-github"></i></a> 472 <a href="https://github.com/pybay/pybay/" title="Report Issues for PyBay Website"><i 473 class="fa fa-bug"></i></a> 474 <a href="https://twitter.com/py_bay" title="Find PyBay on Twitter"><i class="fa fa-twitter"></i></a> 475 <a href="https://fosstodon.org/@pybay" title="Find PyBay on Mastodon"><i class="fa-brands fa-mastodon"></i></a> 476 <a href="https://www.facebook.com/PyBayConf" title="Find PyBay on Facebook"><i class="fa-brands fa-facebook"></i></a> 477 <a href="https://www.instagram.com/py_bay/" title="Find PyBay on Instagram"><i class="fa-brands fa-instagram"></i></a> 478 <a href="https://www.youtube.com/sfpython" title="Find PyBay on YouTube"><i class="fa-brands fa-youtube"></i></a> 479 <a href="https://www.linkedin.com/company/pybay/about" title="Find PyBay on LinkedIn"><i class="fa-brands fa-linkedin"></i></a> 480 </div> 481 <div class="col-sm-8"> 482 <a href="https://www.bapya.org/" aria-label="Go to Bay Area Python Association Website">© Copyright 2024-2026 by BAPyA.</a> ⢠483 <span class="text-white">Made with <i class="fa fa-fw fa-heart" 484 style="color: rgb(255, 129, 129)" title="Heart"><span hidden>Heart</span></i> using Lektor</span> 485 </div> 486 </div> 487 </div> 488 489
490<script type="text/javascript"> 491_linkedin_partner_id = "7713980"; 492window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 493window._linkedin_data_partner_ids.push(_linkedin_partner_id); 494</script>
494<script type="text/javascript"> 495(function(l) { 496if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; 497window.lintrk.q=[]} 498var s = document.getElementsByTagName("script")[0]; 499var b = document.createElement("script"); 500b.type = "text/javascript";b.async = true; 501b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 502s.parentNode.insertBefore(b, s);})(window.lintrk); 503</script>
503 504<noscript> 505<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=7713980&fmt=gif" /> 506</noscript> 507 508 </footer> 509 510 511
511<script src="https://kit.fontawesome.com/f4feb5c95e.js" crossorigin="anonymous"></script>
511 512
512<script type=text/javascript src="../static/gen/app.js?h=0b93eb18" charset="utf-8"></script>
512 513
514<script> 515 if (typeof bootstrap?.Dropdown === "function") { 516 console.log("Bootstrap Dropdown is loaded â "); 517 } else { 518 console.warn("Bootstrap Dropdown is NOT loaded â"); 519 } 520</script>
520 521</body> 522 523</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.