Простая обёртка pygame для детей
### Blank. Empty window ###
```python
from pioneergame import Window
my_window = Window(1200, 700, 'my black window') # создаём главное окно
while True: # бесконечный цикл игры
my_window.fill('black') # заполнение экрана чёрным
my_window.update(60) # обновление экрана с частотой 60 кадров в секунду
```
#
### Drawing simple objects ###

```python
from pioneergame import Window, Rect, Circle
my_window = Window(1200, 700, 'my black window') # создаём главное окно
# создание синего прямоугольника с шириной 100 и высотой 50
block = Rect(my_window, x=10, y=40, width=100, height=50, color='blue')
# создание оранжевого квадрата размером 60 на 60, который потом будем двигать
moving_square = Rect(my_window, x=100, y=200, width=60, height=60, color='orange')
# создание красного круга с радиусом 20, который тоже будем двигать
moving_circle = Circle(my_window, x=1000, y=50, radius=20, color='red')
# создание серого кольца с радиусом 80 и толщиной стенки 5
bublik = Circle(my_window, x=500, y=350, radius=80, color='grey', thickness=5)
while True: # бесконечный цикл игры
my_window.fill('black') # заполнение экрана чёрным
block.draw() # отрисовка прямоугольника
moving_square.draw() # отрисовка квадрата
moving_circle.draw() # отрисовка круга
bublik.draw()
# если правая сторона квадрата находится левее чем правая граница экрана, то мы двигаем квадрат вправо
if moving_square.right < my_window.right:
moving_square.x += 5 # движение квадрата вправо на 1 пиксель
moving_circle.x -= 1 # движение круга в лево
moving_circle.y += 1 # движение круга вниз
my_window.update(60) # обновление экрана с частотой 60 кадров в секунду
```
#
### Keyboard and text ###

```python
from pioneergame import Window, Label
my_window = Window(1200, 700, 'my black window') # создаём главное окно
# создание текста белого цвета
my_text = Label(my_window, x=300, y=350, text='Нажми стрелочку вправо, влево, вверх или вниз', color='white')
while True: # бесконечный цикл игры
my_window.fill('black') # заполнение экрана чёрным
my_text.draw() # отрисовка текста
if my_window.get_key('left'): # если нажата стрелочка влево
my_text.set_text('была нажата стрелочка влево') # установка нового текста
if my_window.get_key('right'): # если нажата стрелочка вправо
my_text.set_text('была нажата стрелочка вправо')
if my_window.get_key('up'): # если нажата стрелочка вверх
my_text.set_text('была нажата стрелочка вверх')
if my_window.get_key('down'): # если нажата стрелочка вниз
my_text.set_text('была нажата стрелочка вниз')
my_window.update(60) # обновление экрана с частотой 60 кадров в секунду
```
### Fireworks ###

```python
from pioneergame import Window, explode, explosion_update
my_window = Window(1200, 700, 'my black window') # создаём главное окно
while True: # бесконечный цикл игры
my_window.fill('black') # заполнение экрана чёрным
if my_window.get_mouse_button('left'): # если была нажата левая кнопка мыши
explode(my_window, pos=my_window.mouse_position(), size=5, color='orange')
explosion_update() # обработка всех взрывов
my_window.update(60) # обновление экрана с частотой 60 кадров в секунду
```
### Example. DVD screen ###

```python
from pioneergame import Window, Label
window = Window(1024, 768, 'DVD test')
dvd = Label(window, 10, 10, 'DVD', 'grey', font='Impact', size=70, italic=True)
state = Label(window, 10, 10, 'state: IDLE', 'grey', italic=True)
dx, dy = 3, 3
while True:
window.fill('black')
dvd.draw()
state.draw()
dvd.x += dx
dvd.y += dy
if dvd.left < window.left or dvd.right > window.right:
dx *= -1
if dvd.top < window.top or dvd.bottom > window.bottom:
dy *= -1
window.update(80)
```
#
### Ping Pong ###

```python
from pioneergame import Window, Circle, Rect, Label
window = Window(1024, 768)
fps = 80
pad1 = Rect(window, 50, 20, 20, 200, color='grey')
text1 = Label(window, 100, 10, text='0', color='darkgray', size=50)
score1 = 0
pad2 = Rect(window, 954, 20, 20, 200, color='grey')
text2 = Label(window, 900, 10, color='darkgray', size=50)
score2 = 0
ball = Circle(window, 100, 100, radius=10, color='grey')
ball_speed = 3
dx = ball_speed
dy = ball_speed
while True:
window.fill('black')
pad1.draw()
text1.draw()
text1.set_text(score1)
pad2.draw()
text2.draw()
text2.set_text(score2)
ball.draw()
ball.x += dx
ball.y += dy
if ball.bottom > window.bottom:
dy = -dy
if ball.top < window.top:
dy = -dy
if ball.right > window.right:
score1 = score1 + 1
ball.x = 512
ball.y = 344
if ball.left < window.left:
score2 = score2 + 1
ball.x = 512
ball.y = 344
if window.get_key('w') and pad1.top > window.top:
pad1.y -= 5
if window.get_key('s') and pad1.bottom < window.bottom:
pad1.y += 5
if window.get_key('up') and pad2.top > window.top:
pad2.y -= 5
if window.get_key('down') and pad2.bottom < window.bottom:
pad2.y += 5
if ball.colliderect(pad1):
dx = ball_speed
if ball.colliderect(pad2):
dx = -ball_speed
window.update(fps)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/chebur5581/pioneergame",
"name": "pioneergame",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Games Pygame kis Learning pioneergame",
"author": "chebur5581",
"author_email": "chebur5581@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/dd/2e/516574bda139344801ddd8f2956ea771d79453d1c69e492e6a622edf2d2b/pioneergame-0.0.17.tar.gz",
"platform": null,
"description": "\u041f\u0440\u043e\u0441\u0442\u0430\u044f \u043e\u0431\u0451\u0440\u0442\u043a\u0430 pygame \u0434\u043b\u044f \u0434\u0435\u0442\u0435\u0439\r\n\r\n### Blank. Empty window ###\r\n\r\n```python\r\nfrom pioneergame import Window\r\n\r\nmy_window = Window(1200, 700, 'my black window') # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e\r\n\r\nwhile True: # \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0438\u0433\u0440\u044b\r\n my_window.fill('black') # \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0447\u0451\u0440\u043d\u044b\u043c\r\n\r\n my_window.update(60) # \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 60 \u043a\u0430\u0434\u0440\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\r\n```\r\n\r\n#\r\n\r\n### Drawing simple objects ###\r\n\r\n```python\r\nfrom pioneergame import Window, Rect, Circle\r\n\r\nmy_window = Window(1200, 700, 'my black window') # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e\r\n\r\n# \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0438\u043d\u0435\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430 \u0441 \u0448\u0438\u0440\u0438\u043d\u043e\u0439 100 \u0438 \u0432\u044b\u0441\u043e\u0442\u043e\u0439 50\r\nblock = Rect(my_window, x=10, y=40, width=100, height=50, color='blue')\r\n\r\n# \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u043e\u0433\u043e \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 60 \u043d\u0430 60, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u044c\r\nmoving_square = Rect(my_window, x=100, y=200, width=60, height=60, color='orange')\r\n\r\n# \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u0441 \u0440\u0430\u0434\u0438\u0443\u0441\u043e\u043c 20, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u044c\r\nmoving_circle = Circle(my_window, x=1000, y=50, radius=20, color='red')\r\n\r\n# \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u043e\u0433\u043e \u043a\u043e\u043b\u044c\u0446\u0430 \u0441 \u0440\u0430\u0434\u0438\u0443\u0441\u043e\u043c 80 \u0438 \u0442\u043e\u043b\u0449\u0438\u043d\u043e\u0439 \u0441\u0442\u0435\u043d\u043a\u0438 5\r\nbublik = Circle(my_window, x=500, y=350, radius=80, color='grey', thickness=5)\r\n\r\nwhile True: # \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0438\u0433\u0440\u044b\r\n my_window.fill('black') # \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0447\u0451\u0440\u043d\u044b\u043c\r\n\r\n block.draw() # \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430\r\n moving_square.draw() # \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430\r\n moving_circle.draw() # \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u043a\u0440\u0443\u0433\u0430\r\n bublik.draw()\r\n\r\n # \u0435\u0441\u043b\u0438 \u043f\u0440\u0430\u0432\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u0435\u0432\u0435\u0435 \u0447\u0435\u043c \u043f\u0440\u0430\u0432\u0430\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u044d\u043a\u0440\u0430\u043d\u0430, \u0442\u043e \u043c\u044b \u0434\u0432\u0438\u0433\u0430\u0435\u043c \u043a\u0432\u0430\u0434\u0440\u0430\u0442 \u0432\u043f\u0440\u0430\u0432\u043e\r\n if moving_square.right < my_window.right:\r\n moving_square.x += 5 # \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430 \u0432\u043f\u0440\u0430\u0432\u043e \u043d\u0430 1 \u043f\u0438\u043a\u0441\u0435\u043b\u044c\r\n\r\n moving_circle.x -= 1 # \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u0440\u0443\u0433\u0430 \u0432 \u043b\u0435\u0432\u043e\r\n moving_circle.y += 1 # \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u0440\u0443\u0433\u0430 \u0432\u043d\u0438\u0437\r\n\r\n my_window.update(60) # \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 60 \u043a\u0430\u0434\u0440\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\r\n\r\n```\r\n\r\n#\r\n\r\n### Keyboard and text ###\r\n\r\n```python\r\nfrom pioneergame import Window, Label\r\n\r\nmy_window = Window(1200, 700, 'my black window') # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e\r\n\r\n# \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u0430 \u0431\u0435\u043b\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430\r\nmy_text = Label(my_window, x=300, y=350, text='\u041d\u0430\u0436\u043c\u0438 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0443 \u0432\u043f\u0440\u0430\u0432\u043e, \u0432\u043b\u0435\u0432\u043e, \u0432\u0432\u0435\u0440\u0445 \u0438\u043b\u0438 \u0432\u043d\u0438\u0437', color='white')\r\n\r\nwhile True: # \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0438\u0433\u0440\u044b\r\n my_window.fill('black') # \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0447\u0451\u0440\u043d\u044b\u043c\r\n\r\n my_text.draw() # \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430\r\n\r\n if my_window.get_key('left'): # \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u043b\u0435\u0432\u043e\r\n my_text.set_text('\u0431\u044b\u043b\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u043b\u0435\u0432\u043e') # \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430\r\n if my_window.get_key('right'): # \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u043f\u0440\u0430\u0432\u043e\r\n my_text.set_text('\u0431\u044b\u043b\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u043f\u0440\u0430\u0432\u043e')\r\n if my_window.get_key('up'): # \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u0432\u0435\u0440\u0445\r\n my_text.set_text('\u0431\u044b\u043b\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u0432\u0435\u0440\u0445')\r\n if my_window.get_key('down'): # \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u043d\u0438\u0437\r\n my_text.set_text('\u0431\u044b\u043b\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043a\u0430 \u0432\u043d\u0438\u0437')\r\n\r\n my_window.update(60) # \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 60 \u043a\u0430\u0434\u0440\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\r\n```\r\n\r\n### Fireworks ###\r\n\r\n```python\r\nfrom pioneergame import Window, explode, explosion_update\r\n\r\nmy_window = Window(1200, 700, 'my black window') # \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e\r\n\r\nwhile True: # \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0438\u0433\u0440\u044b\r\n my_window.fill('black') # \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0447\u0451\u0440\u043d\u044b\u043c\r\n\r\n if my_window.get_mouse_button('left'): # \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u043b\u0435\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u043c\u044b\u0448\u0438\r\n explode(my_window, pos=my_window.mouse_position(), size=5, color='orange')\r\n\r\n explosion_update() # \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0441\u0435\u0445 \u0432\u0437\u0440\u044b\u0432\u043e\u0432\r\n\r\n my_window.update(60) # \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 60 \u043a\u0430\u0434\u0440\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\r\n```\r\n\r\n### Example. DVD screen ###\r\n\r\n```python\r\nfrom pioneergame import Window, Label\r\n\r\nwindow = Window(1024, 768, 'DVD test')\r\n\r\ndvd = Label(window, 10, 10, 'DVD', 'grey', font='Impact', size=70, italic=True)\r\nstate = Label(window, 10, 10, 'state: IDLE', 'grey', italic=True)\r\n\r\ndx, dy = 3, 3\r\n\r\nwhile True:\r\n window.fill('black')\r\n dvd.draw()\r\n state.draw()\r\n\r\n dvd.x += dx\r\n dvd.y += dy\r\n\r\n if dvd.left < window.left or dvd.right > window.right:\r\n dx *= -1\r\n if dvd.top < window.top or dvd.bottom > window.bottom:\r\n dy *= -1\r\n\r\n window.update(80)\r\n```\r\n\r\n#\r\n\r\n### Ping Pong ###\r\n\r\n\r\n```python\r\nfrom pioneergame import Window, Circle, Rect, Label\r\n\r\nwindow = Window(1024, 768)\r\nfps = 80\r\n\r\npad1 = Rect(window, 50, 20, 20, 200, color='grey')\r\ntext1 = Label(window, 100, 10, text='0', color='darkgray', size=50)\r\nscore1 = 0\r\n\r\npad2 = Rect(window, 954, 20, 20, 200, color='grey')\r\ntext2 = Label(window, 900, 10, color='darkgray', size=50)\r\nscore2 = 0\r\n\r\nball = Circle(window, 100, 100, radius=10, color='grey')\r\nball_speed = 3\r\n\r\ndx = ball_speed\r\ndy = ball_speed\r\n\r\nwhile True:\r\n window.fill('black')\r\n\r\n pad1.draw()\r\n text1.draw()\r\n text1.set_text(score1)\r\n\r\n pad2.draw()\r\n text2.draw()\r\n text2.set_text(score2)\r\n\r\n ball.draw()\r\n\r\n ball.x += dx\r\n ball.y += dy\r\n\r\n if ball.bottom > window.bottom:\r\n dy = -dy\r\n if ball.top < window.top:\r\n dy = -dy\r\n\r\n if ball.right > window.right:\r\n score1 = score1 + 1\r\n ball.x = 512\r\n ball.y = 344\r\n if ball.left < window.left:\r\n score2 = score2 + 1\r\n ball.x = 512\r\n ball.y = 344\r\n\r\n if window.get_key('w') and pad1.top > window.top:\r\n pad1.y -= 5\r\n if window.get_key('s') and pad1.bottom < window.bottom:\r\n pad1.y += 5\r\n\r\n if window.get_key('up') and pad2.top > window.top:\r\n pad2.y -= 5\r\n if window.get_key('down') and pad2.bottom < window.bottom:\r\n pad2.y += 5\r\n\r\n if ball.colliderect(pad1):\r\n dx = ball_speed\r\n if ball.colliderect(pad2):\r\n dx = -ball_speed\r\n\r\n window.update(fps)\r\n```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Simple Pygame wrap for small kids",
"version": "0.0.17",
"project_urls": {
"GitHub": "https://github.com/chebur5581/pioneergame",
"Homepage": "https://github.com/chebur5581/pioneergame"
},
"split_keywords": [
"games",
"pygame",
"kis",
"learning",
"pioneergame"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f4d9fa73a02b45813aeffe9c58ac10c7655edc7235d86417e4e68e401b281a08",
"md5": "5024d30fdc30cde72d16c71785e2b43c",
"sha256": "314c78671e2dd95ee4595250e82fe8dece8ddec3b771c78915adc765a7a22e8b"
},
"downloads": -1,
"filename": "pioneergame-0.0.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5024d30fdc30cde72d16c71785e2b43c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 190891,
"upload_time": "2025-07-30T13:58:49",
"upload_time_iso_8601": "2025-07-30T13:58:49.371615Z",
"url": "https://files.pythonhosted.org/packages/f4/d9/fa73a02b45813aeffe9c58ac10c7655edc7235d86417e4e68e401b281a08/pioneergame-0.0.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dd2e516574bda139344801ddd8f2956ea771d79453d1c69e492e6a622edf2d2b",
"md5": "7471c0777494d10de447980fe7173068",
"sha256": "783ca51a2fd1ee650b085770b33b405894e647431f596b90cfa5ed3944962ac1"
},
"downloads": -1,
"filename": "pioneergame-0.0.17.tar.gz",
"has_sig": false,
"md5_digest": "7471c0777494d10de447980fe7173068",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 191443,
"upload_time": "2025-07-30T13:58:51",
"upload_time_iso_8601": "2025-07-30T13:58:51.513309Z",
"url": "https://files.pythonhosted.org/packages/dd/2e/516574bda139344801ddd8f2956ea771d79453d1c69e492e6a622edf2d2b/pioneergame-0.0.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-30 13:58:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "chebur5581",
"github_project": "pioneergame",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pioneergame"
}