New Year's Fireworks Simulator in your Terminal
At your desk for New Years? Crack open a beer and a terminal. Run this app, and wait for the fireworks!
Pythonistas, run the following (requires uv):
uvx ny2026@latest
JS fans, run the following:
npx @manzt/uv tool run ny2026
You can also press SPACE if you are impatient for the fireworks to start...
How this was built
This project was built with Toad and Claude Code.
It was an excercise in "vibe coding". Something I hadn't done a great deal of.
Could I have done this "by hand"? Yeah, probably. I am an ex game developer and I work with terminals. Claude one-shotted much of this. But it did create bugs that it couldn't fix, and I had to use my fleshy mammalian brain to resolve. It really struggled with the audio. There were many rounds of "I see the problem! There it is fixed now", but it did eventually get there.
There was also a last minute bug reported by another mamallian brain. It was using UTC for the countdown, which would have made it wrong for anyhone outside the UK.
Of course I should have checked, but I kind of feel that a human would be less likely to make that mistake. If you actually had to type UTC in the code, that should have triggered the realization that it would break for other timezones.
Overall, the coad is not bad. Not good, but not terrible. There are some lines which I don't think are even neccesary. Reminants of failed experiments perhaps. I suspect Claude could easily tidy those up, but you do need to know to ask.
Considering there isn't a large corpus of firework simulations with braille characters in the terminal (I assume), I think Claude did OK here.
Anyhow. These videos represent a snapshot of the process.
https://github.com/user-attachments/assets/165d8aca-2f2f-4bfd-802d-5f8c33b0d0c3
https://github.com/user-attachments/assets/4a69c8ef-676d-487f-92c9-556ae907d4d9
Metadata
Release files for ny2026 1.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ny2026-1.0.13.tar.gz | 14.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ny2026-1.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.4 kB
Release files / ny2026-1.0.13.tar.gz
| Download URL | ny2026-1.0.13.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f22daae916d422bbcfccfe5c673bb9efda164c0d0aecb63e235187e870420649
|
|
BLAKE2b-256 checksum How to use checksums |
484b72c3fee7e27cf10f704b1579c96235629df80f799a4194c4b73e1f50e3e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ny2026-1.0.13-py3-none-any.whl
| Download URL | ny2026-1.0.13-py3-none-any.whl |
|---|---|
| Size | 20.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85315956acdc803327c5e02bdcd06238af65ca23dad4d4c918194ad9c95fa5c4
|
|
BLAKE2b-256 checksum How to use checksums |
07c39567018688efca73254e57113b5b4db3459ae728b9d53eb1c8cbed4b77e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for ny2026 1.0.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.