|
| 1 | +--- |
| 2 | +title: FAQ |
| 3 | +subtitle: Questions about the Collective, the Gallery, the examples...answered. |
| 4 | +--- |
| 5 | + |
| 6 | +The Collective...it's kind of an odd little ducky. |
| 7 | +The Gallery? |
| 8 | +Ditto. |
| 9 | + |
| 10 | +Let's answer some questions. |
| 11 | + |
| 12 | +# Why should I care? |
| 13 | + |
| 14 | +- A slick, supported web app for browsing quality examples |
| 15 | +- A cool, fast testing regime with `TestClient` plus Playwright *interceptors* |
| 16 | +- An installable package to run/hack examples without needing a network connection |
| 17 | +- No `package.json` |
| 18 | +- Hands-free GitHub Actions |
| 19 | + |
| 20 | +# Gallery |
| 21 | + |
| 22 | +The Gallery is the web application and static website for browsing examples, contributors, etc. |
| 23 | + |
| 24 | +### Why bundle your own everything? |
| 25 | + |
| 26 | +The Gallery has a fork of PyScript and -- you heard it right -- a private copy of Pyodide. |
| 27 | +Why? |
| 28 | + |
| 29 | +To let us run offline or in low-bandwidth settings. |
| 30 | +When I wrote the Gallery, I was on a *slow* connection. |
| 31 | +It was super-painful. |
| 32 | +Consuming the Gallery and contributing should be more joyful. |
| 33 | + |
| 34 | +Also, we want a stable checkpoint in time. |
| 35 | +The examples will work against a known set of stuff, because we'll bundle that set of stuff. |
| 36 | + |
| 37 | +If you're interested in such stuff, take a look at the docs for the prototype repo. |
| 38 | +In there is a step-by-step diary of the journey taken for all of these decisions. |
| 39 | + |
| 40 | +### What's up with testing? |
| 41 | + |
| 42 | +Well, glad you asked! |
| 43 | +I'm a big fan of test-first. |
| 44 | +The existing PyScript testing regime has some rough edges and I wanted to explore alternatives and propose changes. |
| 45 | + |
| 46 | +The Collective will have to stand behind the Gallery and the examples. |
| 47 | +We need it to be productive. |
| 48 | + |
| 49 | +### No `pyscript.css`? |
| 50 | + |
| 51 | +Yep, the Gallery and the website don't use the PyScript styling. |
| 52 | +The PyScript core team doesn't plan to force folks to use PyScript itself as the application. |
| 53 | +The Gallery is an exemplar of that ethos. |
| 54 | +It's an app that made some choices. |
| 55 | + |
| 56 | +### Why Bulma? |
| 57 | + |
| 58 | +Cuz I like it. |
| 59 | +And I know it. |
| 60 | +I wanted a mature, off-the-shelf style package that looks great without me thinking. |
| 61 | +And if I want more, I get the SASS package and hack away. |
| 62 | + |
| 63 | +But perhaps you noticed -- there's no `package.json` here. |
| 64 | +No tooling. |
| 65 | +Pleasureville. |
| 66 | + |
| 67 | +### PWA offline-first? |
| 68 | + |
| 69 | +Wouldn't it be cool to work offline, like an installable app on a mobile device? |
| 70 | +It could happen! |
| 71 | +Maybe with `htmx` to smooth page changes. |
| 72 | + |
| 73 | +Why stop there? |
| 74 | +Let's have a hot-reloading Gallery that pushes incremental changes to fragments over SSE. |
| 75 | + |
| 76 | +# Examples |
| 77 | + |
| 78 | +Examples are the heart of the Gallery and Collective. |
| 79 | + |
| 80 | +### Why all that tooling crap!?! |
| 81 | + |
| 82 | +`mypy` and type hints? `Flake8`? `nox`? GitHub Actions? Are you *insane*? |
| 83 | + |
| 84 | +You know what's insane? |
| 85 | +The answer to the next question. |
| 86 | +Yes, the tooling is a tax, and we're open to lowering taxes. |
| 87 | +But taxes serve the public good, and our job is to deliver a Gallery that works, now in the future...based on examples from *other people*. |
| 88 | + |
| 89 | +To some degree, it's also a teaching tool for "best practices." |
| 90 | +But that -- like "Pythonic" -- is an expression sure to get an eye-roll. |
| 91 | +So consider the "we want examples that are good teaching tools" as a secondary benefit. |
| 92 | + |
| 93 | +### Wait, YOU are going to hold the bag...forever? Thanks! |
| 94 | + |
| 95 | +Yes, when an example is accepted, the people in the Collective promise to co-own it. |
| 96 | +Keep it working, fix bugs people report, rebuild Frankenstein when PyScript/Pyodide go off in some new direction. |
| 97 | +It's there on the tin: "Collective". |
| 98 | +We're all in this together. |
| 99 | + |
| 100 | +### Oh, you're tricking me into joining! |
| 101 | + |
| 102 | +Yep, freely admitted. |
| 103 | +We want a fun, joyous place where Python newcomers feel valued and valuable. |
| 104 | +We want your example -- but we also want *you*! |
| 105 | + |
| 106 | +There's lots we can teach you. |
| 107 | +Managing Git, releasing packages, writing tests, fighting `mypy`. |
| 108 | +As well as the Gallery itself -- add new features, help write tests, make videos. |
| 109 | + |
| 110 | +In a perfect world, "Collaborator for the PyScript Collective" will be a treasured listing on your LinkedIn profile. |
| 111 | +You'll use us for a job reference, and we'll get you a sweet career upgrade. |
| 112 | + |
| 113 | +In exchange, we'll ask you to help us trick the next person into joining the Collective, then "coach them up" to being a star and moving to a better job. |
| 114 | + |
| 115 | +No, no, no...this does NOT sound like a Ponzi scheme. |
0 commit comments