staticfx 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of staticfx might be problematic. Click here for more details.
- staticfx/__init__.py +3 -0
- staticfx/__main__.py +5 -0
- staticfx/app/__init__.py +1 -0
- staticfx/app/app.py +335 -0
- staticfx/app/keymap.py +163 -0
- staticfx/app/player.py +143 -0
- staticfx/app/session.py +97 -0
- staticfx/cli/__init__.py +20 -0
- staticfx/cli/commands.py +293 -0
- staticfx/cli/parser.py +185 -0
- staticfx/core/__init__.py +1 -0
- staticfx/core/clock.py +30 -0
- staticfx/core/color.py +89 -0
- staticfx/core/frame.py +85 -0
- staticfx/core/glyphs.py +15 -0
- staticfx/core/keys.py +116 -0
- staticfx/core/renderer.py +84 -0
- staticfx/core/terminal.py +148 -0
- staticfx/effects/__init__.py +1 -0
- staticfx/effects/base.py +88 -0
- staticfx/effects/builtin/__init__.py +203 -0
- staticfx/effects/builtin/fields.py +404 -0
- staticfx/effects/builtin/geometry.py +77 -0
- staticfx/effects/builtin/particles.py +623 -0
- staticfx/effects/builtin/shapes.py +255 -0
- staticfx/effects/builtin/signals.py +298 -0
- staticfx/effects/builtin/simulations.py +439 -0
- staticfx/effects/builtin/terminal.py +362 -0
- staticfx/effects/curated.py +16 -0
- staticfx/effects/engine/__init__.py +11 -0
- staticfx/effects/engine/effect.py +267 -0
- staticfx/effects/engine/filters.py +115 -0
- staticfx/effects/engine/generate.py +203 -0
- staticfx/effects/engine/layers.py +396 -0
- staticfx/effects/engine/recipe.py +215 -0
- staticfx/effects/engine/schema.py +87 -0
- staticfx/effects/engine/warps.py +203 -0
- staticfx/effects/registry.py +103 -0
- staticfx/effects/spec.py +51 -0
- staticfx/integrations.py +48 -0
- staticfx/library/__init__.py +1 -0
- staticfx/library/config.py +122 -0
- staticfx/library/effects.py +159 -0
- staticfx/library/files.py +44 -0
- staticfx/library/legacy.py +180 -0
- staticfx/library/looks.py +134 -0
- staticfx/postfx.py +78 -0
- staticfx/py.typed +0 -0
- staticfx/themes.py +162 -0
- staticfx/ui/__init__.py +1 -0
- staticfx/ui/browser.py +269 -0
- staticfx/ui/dialogs.py +95 -0
- staticfx/ui/help.py +99 -0
- staticfx/ui/pickers.py +221 -0
- staticfx/ui/play.py +213 -0
- staticfx/ui/screen.py +39 -0
- staticfx/ui/settings.py +262 -0
- staticfx/ui/studio.py +433 -0
- staticfx/ui/widgets.py +196 -0
- staticfx-2.0.0.dist-info/METADATA +164 -0
- staticfx-2.0.0.dist-info/RECORD +65 -0
- staticfx-2.0.0.dist-info/WHEEL +5 -0
- staticfx-2.0.0.dist-info/entry_points.txt +2 -0
- staticfx-2.0.0.dist-info/licenses/LICENSE +21 -0
- staticfx-2.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: staticfx
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Animated ASCII effects for your terminal, with a studio for making your own
|
|
5
|
+
Author: ethanlabs101
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/ethanlabs101/StaticFX
|
|
8
|
+
Project-URL: Documentation, https://github.com/ethanlabs101/StaticFX/blob/main/docs/USAGE.md
|
|
9
|
+
Project-URL: Changelog, https://github.com/ethanlabs101/StaticFX/blob/main/CHANGELOG.md
|
|
10
|
+
Project-URL: Issues, https://github.com/ethanlabs101/StaticFX/issues
|
|
11
|
+
Keywords: terminal,ascii,animation,cmatrix,screensaver,tui,ascii-art
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
15
|
+
Classifier: Operating System :: MacOS
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Topic :: Artistic Software
|
|
24
|
+
Classifier: Topic :: Terminals
|
|
25
|
+
Classifier: Typing :: Typed
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
License-File: LICENSE
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
31
|
+
Requires-Dist: ruff>=0.6; extra == "dev"
|
|
32
|
+
Requires-Dist: mypy>=1.10; extra == "dev"
|
|
33
|
+
Dynamic: license-file
|
|
34
|
+
|
|
35
|
+
# StaticFX
|
|
36
|
+
|
|
37
|
+
Animated ASCII effects for your terminal. Think `cmatrix`, but with a
|
|
38
|
+
thousand more effects, live theme switching, and a studio for making your own.
|
|
39
|
+
|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
Pure Python, no dependencies, runs in any modern terminal on Linux, macOS
|
|
43
|
+
and WSL.
|
|
44
|
+
|
|
45
|
+
## Install
|
|
46
|
+
|
|
47
|
+
You need Python 3.10 or newer.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pipx install staticfx
|
|
51
|
+
staticfx
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
(`pip install staticfx` works too; [pipx](https://pipx.pypa.io) just keeps it in
|
|
55
|
+
its own environment.) To try it without installing anything:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
git clone https://github.com/ethanlabs101/StaticFX
|
|
59
|
+
cd StaticFX
|
|
60
|
+
python3 -m staticfx
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## The 30-second tour
|
|
64
|
+
|
|
65
|
+
Key | Does
|
|
66
|
+
--- | ---
|
|
67
|
+
`←` `→` | Previous / next effect
|
|
68
|
+
`m` | Browse and search every effect, with live preview
|
|
69
|
+
`t` | Change the colour theme
|
|
70
|
+
`l` | Looks: effect + theme + filters, saved under a name
|
|
71
|
+
`n` | Make your own effect in the Studio
|
|
72
|
+
`f` | Favourite
|
|
73
|
+
`a` | Auto-cycle (screensaver mode)
|
|
74
|
+
`?` | Every key
|
|
75
|
+
`q` | Quit
|
|
76
|
+
|
|
77
|
+
Everything is remappable in Settings (`o`). The full guide is in
|
|
78
|
+
[docs/USAGE.md](https://github.com/ethanlabs101/StaticFX/blob/main/docs/USAGE.md).
|
|
79
|
+
|
|
80
|
+
## What's inside
|
|
81
|
+
|
|
82
|
+
There are 50 hand-written effects in seven groups. Rain: the classic, plus
|
|
83
|
+
binary, hex and glitch versions. Particles: snow, embers, fireworks, orbits.
|
|
84
|
+
Space: a starfield, a galaxy, a black hole, a wormhole. Waves and fields:
|
|
85
|
+
plasma, aurora, a lava lamp, a synthwave grid. Geometry: a tumbling cube, a 4D
|
|
86
|
+
tesseract, spirographs. Simulations: Game of Life, Langton's ant, fire, a maze
|
|
87
|
+
that carves itself. Retro tech: boot screens, decryption, circuits, TV static.
|
|
88
|
+
|
|
89
|
+
On top of those are 992 generated effects. Each one is a recipe of layered
|
|
90
|
+
patterns (spirals, Julia and Mandelbrot fractals, Voronoi cells, metaballs,
|
|
91
|
+
noise), warps (kaleidoscope, swirl, tile, fold) and filters. They're seeded,
|
|
92
|
+
so `proc_042` is the same effect for everyone, forever. An automated quality
|
|
93
|
+
check weeds out the duds, and 47 hand-picked ones live in the Gallery.
|
|
94
|
+
|
|
95
|
+
Then there are your own. The Studio remixes any generated effect or starts
|
|
96
|
+
from scratch, with a live preview and undo, and saves small JSON files you
|
|
97
|
+
can share.
|
|
98
|
+
|
|
99
|
+
You also get:
|
|
100
|
+
|
|
101
|
+
- **26 colour themes**: originals like Matrix, Inferno and Vaporwave, takes on
|
|
102
|
+
popular editor schemes (Dracula, Nord, Gruvbox, Catppuccin, Tokyo Night), an
|
|
103
|
+
animated rainbow, and Strobe if you opt in (it's off by default for
|
|
104
|
+
photosensitivity reasons)
|
|
105
|
+
- filters that work on anything: CRT scanlines, glitch, rainbow recolour
|
|
106
|
+
- looks, which save an effect with its theme, speed and filters so you can
|
|
107
|
+
recall it with one key (a dozen come built in)
|
|
108
|
+
|
|
109
|
+

|
|
110
|
+
|
|
111
|
+

|
|
112
|
+
|
|
113
|
+
## Make your own
|
|
114
|
+
|
|
115
|
+
Press `n` for a new effect, or highlight a generated one in the browser and
|
|
116
|
+
press `e` to remix it. Arrow keys change things; `s` saves it to
|
|
117
|
+
**My Effects**.
|
|
118
|
+
|
|
119
|
+

|
|
120
|
+
|
|
121
|
+
See [docs/STUDIO.md](https://github.com/ethanlabs101/StaticFX/blob/main/docs/STUDIO.md) for what every control does, and
|
|
122
|
+
[docs/EFFECT_FORMAT.md](https://github.com/ethanlabs101/StaticFX/blob/main/docs/EFFECT_FORMAT.md) for the file format if you'd
|
|
123
|
+
rather write recipes by hand.
|
|
124
|
+
|
|
125
|
+
## Command line
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
staticfx -e plasma -t ocean # start on an effect and theme
|
|
129
|
+
staticfx --look "Synthwave" # start from a look
|
|
130
|
+
staticfx --auto 30 --duration 600 # screensaver: new effect every 30s, quit after 10 min
|
|
131
|
+
staticfx list fire # search effects
|
|
132
|
+
staticfx render galaxy --size 80x24 # print one frame (add --ansi for colour)
|
|
133
|
+
staticfx fetch # fastfetch/neofetch output over an effect
|
|
134
|
+
staticfx new "Night Drive" # create a random effect in My Effects
|
|
135
|
+
staticfx export my_night_drive nd.sfx # share it
|
|
136
|
+
staticfx doctor # check your setup
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
`staticfx --help` and `staticfx COMMAND --help` list everything.
|
|
140
|
+
|
|
141
|
+
## Docs
|
|
142
|
+
|
|
143
|
+
- [Usage](https://github.com/ethanlabs101/StaticFX/blob/main/docs/USAGE.md): every key, the browser, themes, looks, settings,
|
|
144
|
+
command line, troubleshooting
|
|
145
|
+
- [The Studio](https://github.com/ethanlabs101/StaticFX/blob/main/docs/STUDIO.md)
|
|
146
|
+
- [Effect file format](https://github.com/ethanlabs101/StaticFX/blob/main/docs/EFFECT_FORMAT.md)
|
|
147
|
+
- [Writing a built-in effect](https://github.com/ethanlabs101/StaticFX/blob/main/docs/WRITING_EFFECTS.md) in Python
|
|
148
|
+
- [Architecture](https://github.com/ethanlabs101/StaticFX/blob/main/docs/ARCHITECTURE.md): how it fits together, and why
|
|
149
|
+
- [Releasing](https://github.com/ethanlabs101/StaticFX/blob/main/docs/RELEASING.md): publishing a new version to PyPI
|
|
150
|
+
|
|
151
|
+
## Development
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
git clone https://github.com/ethanlabs101/StaticFX && cd StaticFX
|
|
155
|
+
python3 -m pip install -e '.[dev]'
|
|
156
|
+
python3 -m pytest # ~650 tests, about a minute
|
|
157
|
+
ruff check . && ruff format --check . && mypy
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
See [CONTRIBUTING.md](https://github.com/ethanlabs101/StaticFX/blob/main/CONTRIBUTING.md) for how changes are made and checked.
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
[MIT](https://github.com/ethanlabs101/StaticFX/blob/main/LICENSE)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
staticfx/__init__.py,sha256=DnAGcBnhL9HrQmAeCHtcVCr0t4cOgSIDuhdjswkCNvo,81
|
|
2
|
+
staticfx/__main__.py,sha256=isRRgHGKuZ11h1lVDzQ1zcUdvAQx5x-gW6I4GjR5x_U,87
|
|
3
|
+
staticfx/integrations.py,sha256=ktqsRcFA8z2k7ycGFlyf1jBk9h0nzdWwHpjIkhBbh94,1841
|
|
4
|
+
staticfx/postfx.py,sha256=ZSZCMNwWmWeGRPococLcC3-6MKdtt8nF5sipMsNKC0I,2694
|
|
5
|
+
staticfx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
staticfx/themes.py,sha256=OwlOBtEc14cT-l9QNZwrE9yhA0FgzZmdeUnbFk1CbKI,6090
|
|
7
|
+
staticfx/app/__init__.py,sha256=YKVxh9MNdco0BTPt_hIzWNrMLFw4O1lmlAOdtgg-XYs,72
|
|
8
|
+
staticfx/app/app.py,sha256=XVljA-0l0uQcn1s418pvYFJQRFFHPcrz4j0XiEyFUp4,13842
|
|
9
|
+
staticfx/app/keymap.py,sha256=CqW3N-k4VQniHTEvp6lhwT4mQ4Ln7u-BNLstqyfhIAU,5597
|
|
10
|
+
staticfx/app/player.py,sha256=PMvWOjJB_p2xi61wrf3ASdObDkdXynV6CBX_y_7kXAA,4855
|
|
11
|
+
staticfx/app/session.py,sha256=8BSFZQIYd8Npzn4RESJ_ogFgzRhGIzn10Hz95PgxaDE,3434
|
|
12
|
+
staticfx/cli/__init__.py,sha256=_j7ZaKLmY09p4M8afhKvjSYlzDbhnmNqiJtH_SEZheI,762
|
|
13
|
+
staticfx/cli/commands.py,sha256=-8UNPEgFAXZ__qLNuAH4SoszXysrD_YFkakAWnvgads,10906
|
|
14
|
+
staticfx/cli/parser.py,sha256=XWSHwlUazKHCAOI5p30D1_l8bdwLLstN62CmVcAH5JA,7384
|
|
15
|
+
staticfx/core/__init__.py,sha256=kQ-pqiwiad60yWPN7aBJFasOzh6gZCM5wkeA-JG5MFE,88
|
|
16
|
+
staticfx/core/clock.py,sha256=YqAn7k00477lPGNMxUXYtv2dx5KBkfbD-ZjS2ljjDWs,935
|
|
17
|
+
staticfx/core/color.py,sha256=6WLIM8Ntm47vnNJPJXiOPYGcmOh5e2Am9r8IpbLmmc4,2728
|
|
18
|
+
staticfx/core/frame.py,sha256=jSif8Ytzn6qcezYDOdkp-f6E6ujyuk2DmHIlaIPIVmw,3111
|
|
19
|
+
staticfx/core/glyphs.py,sha256=HK_4Y7ui82_Q_-KUBqUcrnGmcUwHOnMzZibUdcUxx_s,454
|
|
20
|
+
staticfx/core/keys.py,sha256=pwSZXd0YHXx9kTlJQgonr7noMVv0zKRqA-2dfAekJcw,3665
|
|
21
|
+
staticfx/core/renderer.py,sha256=fyxO9RPh8124VGGkC2065OMp4OJCWt-gBIY3xYgLaWU,2860
|
|
22
|
+
staticfx/core/terminal.py,sha256=04R_52vJYAC5t5Z-UiWpBtF-OSTUw7bdKVrQjzpSAvQ,4971
|
|
23
|
+
staticfx/effects/__init__.py,sha256=_B-hP_7N7oujMGYWQ4sfNeTDPIvHDHxJ9VwfV-nX0B0,99
|
|
24
|
+
staticfx/effects/base.py,sha256=F_jts7xCH-YR3dT4qoNu1XQSmQ7ualR0zEO0ZEJlj9g,2874
|
|
25
|
+
staticfx/effects/curated.py,sha256=S3_qHuXncPR5zPTH5QzHtFJMGO4jNrFrY-nu1emGbyo,732
|
|
26
|
+
staticfx/effects/registry.py,sha256=4Jandvv_jY70cL-265KFEKw7NLvLDO9onmFATdoHjIg,3764
|
|
27
|
+
staticfx/effects/spec.py,sha256=Oar1GgpSqyhpaPMlpmJjJYk5M9w09hKwsdPKTR6U3DQ,1567
|
|
28
|
+
staticfx/effects/builtin/__init__.py,sha256=8gj8W3F7XxILGUE7Q_aPnq-Drsp38LDr-n_4ZXxXGPQ,7437
|
|
29
|
+
staticfx/effects/builtin/fields.py,sha256=mWd2nwMnSdwCUE0Z7m27xK2tAWHJAYm8QzpA5FLVt2w,11210
|
|
30
|
+
staticfx/effects/builtin/geometry.py,sha256=mADj9Y6KHHuhVd0XBiPC0sokShCgl2TWAabb7T1eFNY,2159
|
|
31
|
+
staticfx/effects/builtin/particles.py,sha256=9AsN6X8S0ZGBYFc4Kvw7tYZow9_QFYywmZheDx64CUg,20832
|
|
32
|
+
staticfx/effects/builtin/shapes.py,sha256=_jwgyNH8x8wWkQBDUDb4umDjlUWb1NcUHXngva0tsw0,8285
|
|
33
|
+
staticfx/effects/builtin/signals.py,sha256=74WbInLkuvQK3fl1pi_b45N6-So3PDwjWdRfrebN5fA,9756
|
|
34
|
+
staticfx/effects/builtin/simulations.py,sha256=TIVIbWNI14MbjpoTqan9OYTmlhm9QSlaKhWN3y51nkQ,12773
|
|
35
|
+
staticfx/effects/builtin/terminal.py,sha256=-8fDZdTcNmvGDxqZcg9XVdrjFip2OiOBElYl6nbG7rU,11489
|
|
36
|
+
staticfx/effects/engine/__init__.py,sha256=HRVpMrbfe2gyDUZv2B7eKiKqJ8KuktvJvd_gD6eF6nU,460
|
|
37
|
+
staticfx/effects/engine/effect.py,sha256=85wOPb18FMs-2Shpbml2B8pDLfIsuMWMic4y0wpOD9M,10739
|
|
38
|
+
staticfx/effects/engine/filters.py,sha256=XIhr-ZE2Nshi3qmrNg2FALGB5fCgT872NZ_Zfr_GdZc,3121
|
|
39
|
+
staticfx/effects/engine/generate.py,sha256=x_R_dnLLeAU6My6vdjOXuwgWdOTDo5W1Slauz3rCUdA,7717
|
|
40
|
+
staticfx/effects/engine/layers.py,sha256=ooyx6yZ99RncL2ipYCba5hBaIhVFKKi3MfdugXD2h0w,11745
|
|
41
|
+
staticfx/effects/engine/recipe.py,sha256=ONmfLBUAK3mGK22yqb3szLpgqwgdUEOZC_fShgPgCAM,8099
|
|
42
|
+
staticfx/effects/engine/schema.py,sha256=5R9VuXABTGKvNMjTxJLpdEKdaNB_19MmTwxnf90hrNA,2958
|
|
43
|
+
staticfx/effects/engine/warps.py,sha256=ax3qKnaNHEmEmvXZ_5NbgUeZTlHN_-2fh0Lf3mx2eng,5641
|
|
44
|
+
staticfx/library/__init__.py,sha256=XXGCmtpjGRcpC51AHP6YGDtpmWusykgCQmQJ7q8cAFM,78
|
|
45
|
+
staticfx/library/config.py,sha256=xqY1OtH2B30K8mYBKOtqA_o_MeSocb--wPEJhFFKID4,4652
|
|
46
|
+
staticfx/library/effects.py,sha256=8gWcC4wlwqU9mb7VWmYzsAAzTPkoy-xt70LEhgNZ4Ck,5613
|
|
47
|
+
staticfx/library/files.py,sha256=ZdeJER1B72Hx0fFi4l4l-WIAPwDUxKBLgYHX98GNub4,1391
|
|
48
|
+
staticfx/library/legacy.py,sha256=zNEgDQ4VNgkovhGE1cE3S3Be42Ua0syjhsJA0h5AzDU,6816
|
|
49
|
+
staticfx/library/looks.py,sha256=x84hqsn4MDjzmASqFU-FU0h4R0ON65wS1lQcUjCDVRw,4900
|
|
50
|
+
staticfx/ui/__init__.py,sha256=F7o2USAC2VvSBWXiQv3GIEFoaA65xG5VBvJKIXJ60no,53
|
|
51
|
+
staticfx/ui/browser.py,sha256=0PXXMU7jAS-C8x80PORmgdMB2jHs_edXBrNkDrQeSfw,10743
|
|
52
|
+
staticfx/ui/dialogs.py,sha256=qU1FQdTCogOkDlkbtZAgDn7tZhdLsy1SnBJIrMhnU6c,3398
|
|
53
|
+
staticfx/ui/help.py,sha256=7UVrcnUnDgE47Ynxi158Yw5xZj-DTXdIB6SiGuMkG1M,3814
|
|
54
|
+
staticfx/ui/pickers.py,sha256=bLbF-QCJLT6PMcxnrXgeIhtu4-WCE05NC0ry67K2zzQ,7916
|
|
55
|
+
staticfx/ui/play.py,sha256=6pfJgWSzfwqinNgDyEGAAE-jjgqzJWjfOPvaer5nKmU,8217
|
|
56
|
+
staticfx/ui/screen.py,sha256=_tUioMHgj_FPH_iP8uDaUoc9lmr6gZ-B7zJv6KL8jOg,1096
|
|
57
|
+
staticfx/ui/settings.py,sha256=s_T5UrEDyR5e_luDYtEkJBd956OleEg1cXlG0-ptcH4,9718
|
|
58
|
+
staticfx/ui/studio.py,sha256=4VrDfRBVT04NH-CvZW1pegULNkcnEJCw4OvIOANMi6o,16931
|
|
59
|
+
staticfx/ui/widgets.py,sha256=7kKfpFm7KUJbt0Z5MFmuUlFM_OAmEYxAR8QXD-AzBcg,6556
|
|
60
|
+
staticfx-2.0.0.dist-info/licenses/LICENSE,sha256=nIS6IYmFH0orB9uhSFtIoQOS5p09AEizdUNUQ2goHZs,1070
|
|
61
|
+
staticfx-2.0.0.dist-info/METADATA,sha256=1TkjqRuMAhAYqFu9RU6dradh58fbHuMLti3rhHLXj6U,6813
|
|
62
|
+
staticfx-2.0.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
|
|
63
|
+
staticfx-2.0.0.dist-info/entry_points.txt,sha256=pFdULorGKcnfwBINsBYjHEIBLt9ZDqwGy7dwBowzbEA,47
|
|
64
|
+
staticfx-2.0.0.dist-info/top_level.txt,sha256=X9HuiGwaW6CNT1oUtZZgXZIjRbvuAlkxLDC_hbYk4uM,9
|
|
65
|
+
staticfx-2.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ethangrames04
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
staticfx
|