crystalwindow 1.4.8__tar.gz → 1.6__tar.gz

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 crystalwindow might be problematic. Click here for more details.

Files changed (32) hide show
  1. crystalwindow-1.6/PKG-INFO +198 -0
  2. crystalwindow-1.6/README.md +180 -0
  3. crystalwindow-1.6/crystalwindow.egg-info/PKG-INFO +198 -0
  4. crystalwindow-1.6/crystalwindow.egg-info/SOURCES.txt +9 -0
  5. crystalwindow-1.6/crystalwindow.egg-info/top_level.txt +1 -0
  6. {crystalwindow-1.4.8 → crystalwindow-1.6}/setup.py +4 -3
  7. crystalwindow-1.4.8/PKG-INFO +0 -19
  8. crystalwindow-1.4.8/README.md +0 -1
  9. crystalwindow-1.4.8/crystalwindow/FileHelper.py +0 -92
  10. crystalwindow-1.4.8/crystalwindow/__init__.py +0 -47
  11. crystalwindow-1.4.8/crystalwindow/animation.py +0 -15
  12. crystalwindow-1.4.8/crystalwindow/assets.py +0 -33
  13. crystalwindow-1.4.8/crystalwindow/collision.py +0 -15
  14. crystalwindow-1.4.8/crystalwindow/draw_helpers.py +0 -23
  15. crystalwindow-1.4.8/crystalwindow/draw_rects.py +0 -51
  16. crystalwindow-1.4.8/crystalwindow/draw_text_helper.py +0 -45
  17. crystalwindow-1.4.8/crystalwindow/fun_helpers.py +0 -28
  18. crystalwindow-1.4.8/crystalwindow/gravity.py +0 -75
  19. crystalwindow-1.4.8/crystalwindow/gui.py +0 -64
  20. crystalwindow-1.4.8/crystalwindow/gui_ext.py +0 -62
  21. crystalwindow-1.4.8/crystalwindow/player.py +0 -106
  22. crystalwindow-1.4.8/crystalwindow/sprites.py +0 -30
  23. crystalwindow-1.4.8/crystalwindow/tilemap.py +0 -13
  24. crystalwindow-1.4.8/crystalwindow/window.py +0 -211
  25. crystalwindow-1.4.8/crystalwindow.egg-info/PKG-INFO +0 -19
  26. crystalwindow-1.4.8/crystalwindow.egg-info/SOURCES.txt +0 -25
  27. crystalwindow-1.4.8/crystalwindow.egg-info/top_level.txt +0 -1
  28. {crystalwindow-1.4.8 → crystalwindow-1.6}/MANIFEST.in +0 -0
  29. {crystalwindow-1.4.8 → crystalwindow-1.6}/crystalwindow/Icons/default_icon.png +0 -0
  30. {crystalwindow-1.4.8 → crystalwindow-1.6}/crystalwindow.egg-info/dependency_links.txt +0 -0
  31. {crystalwindow-1.4.8 → crystalwindow-1.6}/crystalwindow.egg-info/requires.txt +0 -0
  32. {crystalwindow-1.4.8 → crystalwindow-1.6}/setup.cfg +0 -0
@@ -0,0 +1,198 @@
1
+ Metadata-Version: 2.4
2
+ Name: crystalwindow
3
+ Version: 1.6
4
+ Summary: pygame but remade, easy window/player/tile handling
5
+ Author: CrystalBallyHereXD
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Operating System :: OS Independent
8
+ Requires-Python: >=3.1
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: pygame>=2.3.0
11
+ Dynamic: author
12
+ Dynamic: classifier
13
+ Dynamic: description
14
+ Dynamic: description-content-type
15
+ Dynamic: requires-dist
16
+ Dynamic: requires-python
17
+ Dynamic: summary
18
+
19
+ # CRYSTALWINDOW!!!
20
+
21
+ A tiny but mighty Pygame framework that gives u a full window system, GUI magic, physics, and file power — all packed into one clean lil module.
22
+
23
+ No setup pain. No folder chaos.
24
+ Just import it. Boom. Instant game window. 🎮
25
+
26
+ # Quick Start
27
+ pip install crystalwindow
28
+
29
+
30
+ then make a new .py file:
31
+
32
+ from crystalwindow import Window # imports everything from crystalwindow (in this case its Window)
33
+
34
+ win = Window(800, 600, "Crystal Demo") # setup: Window(width, height, name, icon=MyIcon.ico)
35
+ win.run() # runs the window loop
36
+ win.quit # closes it (for RAM n CPU)
37
+
38
+
39
+ Run it — and boom, instant working window.
40
+ Yes, THAT easy.
41
+
42
+ # Whats Inside
43
+
44
+ Built-in window manager
45
+
46
+ Built-in GUI (buttons, sliders, toggles, labels)
47
+
48
+ Built-in gravity + physics engine
49
+
50
+ Tilemap system (place & save blocks!)
51
+
52
+ Image loader (with default base64 logo)
53
+
54
+ Safe startup (works even inside PyInstaller)
55
+
56
+ No external dependencies (only pygame)
57
+
58
+ Works offline
59
+
60
+ Minimal syntax
61
+
62
+ Full debug overlay
63
+
64
+ # Window System
65
+ from crystalwindow import *
66
+
67
+ win = Window(800, 600, "My Game", icon="MyIcon.png")
68
+
69
+ def loop(win):
70
+ win.fill((10, 10, 30))
71
+ # draw or update stuff here
72
+
73
+ win.run(loop)
74
+
75
+ # Features
76
+ * handles events
77
+ * tracks keys + mouse
78
+ * supports fullscreen
79
+ * safe to close anytime
80
+
81
+ # Player Example
82
+ player = Player(100, 100)
83
+
84
+ def loop(win):
85
+ player.update(win.keys)
86
+ player.draw(win.screen)
87
+
88
+
89
+ move(dx, dy) → moves player
90
+
91
+ take_damage(x) → takes damage
92
+
93
+ heal(x) → heals
94
+
95
+ draw(surface) → renders sprite
96
+
97
+ # TileMap
98
+ tilemap = TileMap(32)
99
+ tilemap.add_tile(5, 5, "grass")
100
+ tilemap.save("level.json")
101
+ add_tile(x, y, type)
102
+ remove_tile(x, y)
103
+ draw(surface)
104
+ save(file) / load(file)
105
+
106
+ # GUI System
107
+ btn = Button(20, 20, 120, 40, "Click Me!", lambda: print("yo"))
108
+ gui = GUIManager()
109
+ gui.add(btn)
110
+
111
+
112
+ Use built-in stuff like:
113
+
114
+ Button(x, y, w, h, text, onclick)
115
+
116
+ Label(x, y, text)
117
+
118
+ Toggle(x, y, w, h, text, default=False)
119
+
120
+ Slider(x, y, w, min, max, default)
121
+
122
+ # Gravity
123
+ g = Gravity(0.5)
124
+ g.update(player)
125
+
126
+
127
+ makes objects fall realistically. ez.
128
+
129
+ # FileHelper
130
+ save_json("data.json", {"coins": 99})
131
+ data = load_json("data.json")
132
+
133
+
134
+ Also supports:
135
+
136
+ save_pickle / load_pickle
137
+
138
+ FileDialog("save") (tkinter dialog popup)
139
+
140
+ # DrawHelper
141
+ DrawHelper.text(win.screen, "Hello!", (10,10), (255,255,255), 24)
142
+ DrawHelper.rect(win.screen, (100,0,200), (50,50,100,60))
143
+
144
+
145
+ perfect for ui & quick visuals
146
+
147
+ # Debug Tools
148
+ debug = DebugOverlay()
149
+ debug.toggle() # show or hide FPS
150
+ debug.draw(win.screen, {"hp": 100, "fps": win.clock.get_fps()})
151
+
152
+ # Example Game
153
+ from crystalwindow import *
154
+
155
+ win = Window(800, 600, "My Cool Game")
156
+ player = Player(100, 100)
157
+ gravity = Gravity()
158
+
159
+ def update(win):
160
+ win.fill((25, 25, 40))
161
+ player.update(win.keys)
162
+ gravity.update(player)
163
+ player.draw(win.screen)
164
+
165
+ win.run(update)
166
+
167
+ # Default Logo
168
+
169
+ There’s a lil encoded PNG inside the file called:
170
+
171
+ DEFAULT_LOGO_BASE64
172
+
173
+
174
+ It’s used when no icon is given.
175
+ Set ur own like:
176
+
177
+ Window(800, 600, "My Window", icon="MyIcon.png")
178
+
179
+
180
+ or do whatever you want.. i guess.
181
+
182
+ # Example Integration
183
+ from crystalwindow import Window
184
+
185
+ win = Window(800, 600, "My Window", icon="MyIcon.png")
186
+
187
+ while win.running:
188
+ win.check_events()
189
+ win.fill((10, 10, 20))
190
+ win.run()
191
+ win.quit
192
+
193
+ # Credits
194
+
195
+ Made by: CrystalBallyHereXD
196
+ Framework: CrystalWindow
197
+ Powered by: Pygame
198
+ License: Free to use, modify, and vibe with 💿
@@ -0,0 +1,180 @@
1
+ # CRYSTALWINDOW!!!
2
+
3
+ A tiny but mighty Pygame framework that gives u a full window system, GUI magic, physics, and file power — all packed into one clean lil module.
4
+
5
+ No setup pain. No folder chaos.
6
+ Just import it. Boom. Instant game window. 🎮
7
+
8
+ # Quick Start
9
+ pip install crystalwindow
10
+
11
+
12
+ then make a new .py file:
13
+
14
+ from crystalwindow import Window # imports everything from crystalwindow (in this case its Window)
15
+
16
+ win = Window(800, 600, "Crystal Demo") # setup: Window(width, height, name, icon=MyIcon.ico)
17
+ win.run() # runs the window loop
18
+ win.quit # closes it (for RAM n CPU)
19
+
20
+
21
+ Run it — and boom, instant working window.
22
+ Yes, THAT easy.
23
+
24
+ # Whats Inside
25
+
26
+ Built-in window manager
27
+
28
+ Built-in GUI (buttons, sliders, toggles, labels)
29
+
30
+ Built-in gravity + physics engine
31
+
32
+ Tilemap system (place & save blocks!)
33
+
34
+ Image loader (with default base64 logo)
35
+
36
+ Safe startup (works even inside PyInstaller)
37
+
38
+ No external dependencies (only pygame)
39
+
40
+ Works offline
41
+
42
+ Minimal syntax
43
+
44
+ Full debug overlay
45
+
46
+ # Window System
47
+ from crystalwindow import *
48
+
49
+ win = Window(800, 600, "My Game", icon="MyIcon.png")
50
+
51
+ def loop(win):
52
+ win.fill((10, 10, 30))
53
+ # draw or update stuff here
54
+
55
+ win.run(loop)
56
+
57
+ # Features
58
+ * handles events
59
+ * tracks keys + mouse
60
+ * supports fullscreen
61
+ * safe to close anytime
62
+
63
+ # Player Example
64
+ player = Player(100, 100)
65
+
66
+ def loop(win):
67
+ player.update(win.keys)
68
+ player.draw(win.screen)
69
+
70
+
71
+ move(dx, dy) → moves player
72
+
73
+ take_damage(x) → takes damage
74
+
75
+ heal(x) → heals
76
+
77
+ draw(surface) → renders sprite
78
+
79
+ # TileMap
80
+ tilemap = TileMap(32)
81
+ tilemap.add_tile(5, 5, "grass")
82
+ tilemap.save("level.json")
83
+ add_tile(x, y, type)
84
+ remove_tile(x, y)
85
+ draw(surface)
86
+ save(file) / load(file)
87
+
88
+ # GUI System
89
+ btn = Button(20, 20, 120, 40, "Click Me!", lambda: print("yo"))
90
+ gui = GUIManager()
91
+ gui.add(btn)
92
+
93
+
94
+ Use built-in stuff like:
95
+
96
+ Button(x, y, w, h, text, onclick)
97
+
98
+ Label(x, y, text)
99
+
100
+ Toggle(x, y, w, h, text, default=False)
101
+
102
+ Slider(x, y, w, min, max, default)
103
+
104
+ # Gravity
105
+ g = Gravity(0.5)
106
+ g.update(player)
107
+
108
+
109
+ makes objects fall realistically. ez.
110
+
111
+ # FileHelper
112
+ save_json("data.json", {"coins": 99})
113
+ data = load_json("data.json")
114
+
115
+
116
+ Also supports:
117
+
118
+ save_pickle / load_pickle
119
+
120
+ FileDialog("save") (tkinter dialog popup)
121
+
122
+ # DrawHelper
123
+ DrawHelper.text(win.screen, "Hello!", (10,10), (255,255,255), 24)
124
+ DrawHelper.rect(win.screen, (100,0,200), (50,50,100,60))
125
+
126
+
127
+ perfect for ui & quick visuals
128
+
129
+ # Debug Tools
130
+ debug = DebugOverlay()
131
+ debug.toggle() # show or hide FPS
132
+ debug.draw(win.screen, {"hp": 100, "fps": win.clock.get_fps()})
133
+
134
+ # Example Game
135
+ from crystalwindow import *
136
+
137
+ win = Window(800, 600, "My Cool Game")
138
+ player = Player(100, 100)
139
+ gravity = Gravity()
140
+
141
+ def update(win):
142
+ win.fill((25, 25, 40))
143
+ player.update(win.keys)
144
+ gravity.update(player)
145
+ player.draw(win.screen)
146
+
147
+ win.run(update)
148
+
149
+ # Default Logo
150
+
151
+ There’s a lil encoded PNG inside the file called:
152
+
153
+ DEFAULT_LOGO_BASE64
154
+
155
+
156
+ It’s used when no icon is given.
157
+ Set ur own like:
158
+
159
+ Window(800, 600, "My Window", icon="MyIcon.png")
160
+
161
+
162
+ or do whatever you want.. i guess.
163
+
164
+ # Example Integration
165
+ from crystalwindow import Window
166
+
167
+ win = Window(800, 600, "My Window", icon="MyIcon.png")
168
+
169
+ while win.running:
170
+ win.check_events()
171
+ win.fill((10, 10, 20))
172
+ win.run()
173
+ win.quit
174
+
175
+ # Credits
176
+
177
+ Made by: CrystalBallyHereXD
178
+ Framework: CrystalWindow
179
+ Powered by: Pygame
180
+ License: Free to use, modify, and vibe with 💿
@@ -0,0 +1,198 @@
1
+ Metadata-Version: 2.4
2
+ Name: crystalwindow
3
+ Version: 1.6
4
+ Summary: pygame but remade, easy window/player/tile handling
5
+ Author: CrystalBallyHereXD
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Operating System :: OS Independent
8
+ Requires-Python: >=3.1
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: pygame>=2.3.0
11
+ Dynamic: author
12
+ Dynamic: classifier
13
+ Dynamic: description
14
+ Dynamic: description-content-type
15
+ Dynamic: requires-dist
16
+ Dynamic: requires-python
17
+ Dynamic: summary
18
+
19
+ # CRYSTALWINDOW!!!
20
+
21
+ A tiny but mighty Pygame framework that gives u a full window system, GUI magic, physics, and file power — all packed into one clean lil module.
22
+
23
+ No setup pain. No folder chaos.
24
+ Just import it. Boom. Instant game window. 🎮
25
+
26
+ # Quick Start
27
+ pip install crystalwindow
28
+
29
+
30
+ then make a new .py file:
31
+
32
+ from crystalwindow import Window # imports everything from crystalwindow (in this case its Window)
33
+
34
+ win = Window(800, 600, "Crystal Demo") # setup: Window(width, height, name, icon=MyIcon.ico)
35
+ win.run() # runs the window loop
36
+ win.quit # closes it (for RAM n CPU)
37
+
38
+
39
+ Run it — and boom, instant working window.
40
+ Yes, THAT easy.
41
+
42
+ # Whats Inside
43
+
44
+ Built-in window manager
45
+
46
+ Built-in GUI (buttons, sliders, toggles, labels)
47
+
48
+ Built-in gravity + physics engine
49
+
50
+ Tilemap system (place & save blocks!)
51
+
52
+ Image loader (with default base64 logo)
53
+
54
+ Safe startup (works even inside PyInstaller)
55
+
56
+ No external dependencies (only pygame)
57
+
58
+ Works offline
59
+
60
+ Minimal syntax
61
+
62
+ Full debug overlay
63
+
64
+ # Window System
65
+ from crystalwindow import *
66
+
67
+ win = Window(800, 600, "My Game", icon="MyIcon.png")
68
+
69
+ def loop(win):
70
+ win.fill((10, 10, 30))
71
+ # draw or update stuff here
72
+
73
+ win.run(loop)
74
+
75
+ # Features
76
+ * handles events
77
+ * tracks keys + mouse
78
+ * supports fullscreen
79
+ * safe to close anytime
80
+
81
+ # Player Example
82
+ player = Player(100, 100)
83
+
84
+ def loop(win):
85
+ player.update(win.keys)
86
+ player.draw(win.screen)
87
+
88
+
89
+ move(dx, dy) → moves player
90
+
91
+ take_damage(x) → takes damage
92
+
93
+ heal(x) → heals
94
+
95
+ draw(surface) → renders sprite
96
+
97
+ # TileMap
98
+ tilemap = TileMap(32)
99
+ tilemap.add_tile(5, 5, "grass")
100
+ tilemap.save("level.json")
101
+ add_tile(x, y, type)
102
+ remove_tile(x, y)
103
+ draw(surface)
104
+ save(file) / load(file)
105
+
106
+ # GUI System
107
+ btn = Button(20, 20, 120, 40, "Click Me!", lambda: print("yo"))
108
+ gui = GUIManager()
109
+ gui.add(btn)
110
+
111
+
112
+ Use built-in stuff like:
113
+
114
+ Button(x, y, w, h, text, onclick)
115
+
116
+ Label(x, y, text)
117
+
118
+ Toggle(x, y, w, h, text, default=False)
119
+
120
+ Slider(x, y, w, min, max, default)
121
+
122
+ # Gravity
123
+ g = Gravity(0.5)
124
+ g.update(player)
125
+
126
+
127
+ makes objects fall realistically. ez.
128
+
129
+ # FileHelper
130
+ save_json("data.json", {"coins": 99})
131
+ data = load_json("data.json")
132
+
133
+
134
+ Also supports:
135
+
136
+ save_pickle / load_pickle
137
+
138
+ FileDialog("save") (tkinter dialog popup)
139
+
140
+ # DrawHelper
141
+ DrawHelper.text(win.screen, "Hello!", (10,10), (255,255,255), 24)
142
+ DrawHelper.rect(win.screen, (100,0,200), (50,50,100,60))
143
+
144
+
145
+ perfect for ui & quick visuals
146
+
147
+ # Debug Tools
148
+ debug = DebugOverlay()
149
+ debug.toggle() # show or hide FPS
150
+ debug.draw(win.screen, {"hp": 100, "fps": win.clock.get_fps()})
151
+
152
+ # Example Game
153
+ from crystalwindow import *
154
+
155
+ win = Window(800, 600, "My Cool Game")
156
+ player = Player(100, 100)
157
+ gravity = Gravity()
158
+
159
+ def update(win):
160
+ win.fill((25, 25, 40))
161
+ player.update(win.keys)
162
+ gravity.update(player)
163
+ player.draw(win.screen)
164
+
165
+ win.run(update)
166
+
167
+ # Default Logo
168
+
169
+ There’s a lil encoded PNG inside the file called:
170
+
171
+ DEFAULT_LOGO_BASE64
172
+
173
+
174
+ It’s used when no icon is given.
175
+ Set ur own like:
176
+
177
+ Window(800, 600, "My Window", icon="MyIcon.png")
178
+
179
+
180
+ or do whatever you want.. i guess.
181
+
182
+ # Example Integration
183
+ from crystalwindow import Window
184
+
185
+ win = Window(800, 600, "My Window", icon="MyIcon.png")
186
+
187
+ while win.running:
188
+ win.check_events()
189
+ win.fill((10, 10, 20))
190
+ win.run()
191
+ win.quit
192
+
193
+ # Credits
194
+
195
+ Made by: CrystalBallyHereXD
196
+ Framework: CrystalWindow
197
+ Powered by: Pygame
198
+ License: Free to use, modify, and vibe with 💿
@@ -0,0 +1,9 @@
1
+ MANIFEST.in
2
+ README.md
3
+ setup.py
4
+ crystalwindow.egg-info/PKG-INFO
5
+ crystalwindow.egg-info/SOURCES.txt
6
+ crystalwindow.egg-info/dependency_links.txt
7
+ crystalwindow.egg-info/requires.txt
8
+ crystalwindow.egg-info/top_level.txt
9
+ crystalwindow/Icons/default_icon.png
@@ -2,14 +2,15 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="crystalwindow", # this is the name ppl will pip install
5
- version="1.4.8", # update when u change stuff
6
- packages=find_packages(), # auto-find all ur modules
5
+ version="1.6", # update when u change stuff
6
+ packages=find_packages(include=["CrystalWindow", "CrystalWindow.*"]),
7
+ include_package_data=True,
7
8
  install_requires=["pygame>=2.3.0"], # cuz ur lib uses pygame
8
9
  author="CrystalBallyHereXD",
9
10
  description="pygame but remade, easy window/player/tile handling",
10
11
  long_description=open("README.md").read(),
11
12
  long_description_content_type="text/markdown",
12
- python_requires='>=3.8',
13
+ python_requires='>=3.1',
13
14
  classifiers=[
14
15
  "Programming Language :: Python :: 3",
15
16
  "Operating System :: OS Independent",
@@ -1,19 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: crystalwindow
3
- Version: 1.4.8
4
- Summary: pygame but remade, easy window/player/tile handling
5
- Author: CrystalBallyHereXD
6
- Classifier: Programming Language :: Python :: 3
7
- Classifier: Operating System :: OS Independent
8
- Requires-Python: >=3.8
9
- Description-Content-Type: text/markdown
10
- Requires-Dist: pygame>=2.3.0
11
- Dynamic: author
12
- Dynamic: classifier
13
- Dynamic: description
14
- Dynamic: description-content-type
15
- Dynamic: requires-dist
16
- Dynamic: requires-python
17
- Dynamic: summary
18
-
19
- pygame but easier!. Made by CrystalBallyHereXD!
@@ -1 +0,0 @@
1
- pygame but easier!. Made by CrystalBallyHereXD!