Ppb

Latest version: v3.2.0

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 8

0.9.0rc1

Better Rendering

The biggest feature of note is that we now support Text rendering! As part of supporting that, we did a full revamp on the asset loading pipeline, improving the background loading and processing and allowing assets that depend on other assets (`ChainedAsset`).

We also spend some time fixing the Camera API: You no longer need to calculate your pixel ratios directly! Tell the camera how many game units you want visible in frame and it'll handle the rest. A last minute addition to the feature list is support for opacity and tint on sprites!

Sprites received a long waiting refactor and now we can support both square shaped sprites and rectangle shaped sprites. This means we have ``ppb.sprites.Sprite`` and ``ppb.sprites.RectangleSprite`` as concrete options when building your games. We removed the Sides magic object that supported `Sprite.top.left` and replaced it with a more pythonic `Sprite.top_left` and similar. Our root shape mix-in now is `RectangleShapeMixin`, but our default sprite is still a square and `Sprite.size` still works as expected.

Outside of those things, we spent a lot of effort on improving our documentation: a lot more detail on a bunch of new pages. We also added default sprite behaviors in features which allow you to do basic motion without writing your own handlers.

This release is the feature freeze for v0.9.0, no new features will be accepted and only fixes to features included in this release can be accepted.

New

* Chained Assets (436)
* Fonts and Text assets (443)
* TargetSprite (456, 458)
* RectangleShapeMixin (376)
* Ordinal direction named unit vectors (463)
* Added Hypothesis profiles for local testing. (469)
* Rectangular sprite rendering (466)
* Support for Sprite.opacity and Sprite.tint in Renderer (474)

Changed

* Assets API changed to support better background loading. (432)
* Shape assets now setup in the background (435)
* Camera interface has had an entire overhaul. (439)
* SquareShapeMixin now extended RectangleShapeMixin (376)
* Replaced github actions with Binny (465)
* `sprite_in_viewport` replaced with `sprite_in_view` (467)
* Switched from time.monotonic to time.perf_counter across the library. (431)
* We now treat sphinx warning as errors. This should mean less time with broken docs. (476)

Removed

* Sides interface (376)
* Stale changelog removed from README.md (472)
* DoNotRender flag (477)
* ppb.BaseSprite finally removed! (478)

Fixed

* Asset loading when using REPLs or Jupyter notebooks fixed. (446)

Docs

* Better docs about the core ppb name space, including `run` and `make_engine` (451)
* Text rendering docs (454)
* Specific install instructions for RHEL and derivatives. (From a new contributor!) (455)
* Improved Event docs (459)
* Improved Sprite docs (471)

0.9.0b2

Better Rendering

The biggest feature of note is that we now support Text rendering! As part of supporting that, we did a full revamp on the asset loading pipeline, improving the background loading and processing and allowing assets that depend on other assets (ChainedAsset).

We also spend some time fixing the Camera API: You no longer need to calculate your pixel ratios directly! Tell the camera how many game units you want visible in frame and it'll handle the rest. A last minute addition to the feature list is support for opacity and tint on sprites!

Sprites received a long waiting refactor and now we can support both square shaped sprites and rectangle shaped sprites. This means we have ``ppb.sprites.Sprite`` and ``ppb.sprites.RectangleSprite`` as concrete options when building your games. We removed the Sides magic object that supported `Sprite.top.left` and replaced it with a more pythonic `Sprite.top_left` and similar. Our root shape mix-in now is RectangleShapeMixin, but our default sprite is still a square and `Sprite.size` still works as expected.

Outside of those things, we spent a lot of effort on improving our documentation: a lot more detail on a bunch of new pages. We also added default sprite behaviors in features which allow you to do basic motion without writing your own handlers.

This release is the feature freeze for v0.9.0, no new features will be accepted and only fixes to features included in this release can be accepted.

New

* Chained Assets (436)
* Fonts and Text assets (443)
* TargetSprite (456, 458)
* RectangleShapeMixin (376)
* Ordinal direction named unit vectors (463)
* Added Hypothesis profiles for local testing. (469)
* Rectangular sprite rendering (466)
* Support for Sprite.opacity and Sprite.tint in Renderer (474)

Changed

* Assets API changed to support better background loading. (432)
* Shape assets now setup in the background (435)
* Camera interface has had an entire overhaul. (439)
* SquareShapeMixin now extended RectangleShapeMixin (376)
* Replaced github actions with Binny (465)
* `sprite_in_viewport` replaced with `sprite_in_view` (467)
* Switched from time.monotonic to time.perf_counter across the library. (431)
* We now treat sphinx warning as errors. This should mean less time with broken docs. (476)

Removed

* Sides interface (376)
* Stale changelog removed from README.md (472)
* DoNotRender flag (477)
* ppb.BaseSprite finally removed! (478)

Fixed

* Asset loading when using REPLs or Jupyter notebooks fixed. (446)

Docs

* Better docs about the core ppb name space, including `run` and `make_engine` (451)
* Text rendering docs (454)
* Specific install instructions for RHEL and derivatives. (From a new contributor!) (455)
* Improved Event docs (459)
* Improved Sprite docs (471)

0.9.0b1

Better Rendering

The biggest feature of note is that we now support Text rendering! As part of supporting that, we did a full revamp on the asset loading pipeline, improving the background loading and processing and allowing assets that depend on other assets (ChainedAsset).

We also spend some time fixing the Camera API: You no longer need to calculate your pixel ratios directly! Tell the camera how many game units you want visible in frame and it'll handle the rest. A last minute addition to the feature list is support for opacity and tint on sprites!

Sprites received a long waiting refactor and now we can support both square shaped sprites and rectangle shaped sprites. This means we have ``ppb.sprites.Sprite`` and ``ppb.sprites.RectangleSprite`` as concrete options when building your games. We removed the Sides magic object that supported `Sprite.top.left` and replaced it with a more pythonic `Sprite.top_left` and similar. Our root shape mix-in now is RectangleShapeMixin, but our default sprite is still a square and `Sprite.size` still works as expected.

Outside of those things, we spent a lot of effort on improving our documentation: a lot more detail on a bunch of new pages. We also added default sprite behaviors in features which allow you to do basic motion without writing your own handlers.

This release is the feature freeze for v0.9.0, no new features will be accepted and only fixes to features included in this release can be accepted.

New

* Chained Assets (436)
* Fonts and Text assets (443)
* TargetSprite (456, 458)
* RectangleShapeMixin (376)
* Ordinal direction named unit vectors (463)
* Added Hypothesis profiles for local testing. (469)
* Rectangular sprite rendering (466)
* Support for Sprite.opacity and Sprite.tint in Renderer (474)

Changed

* Assets API changed to support better background loading. (432)
* Shape assets now setup in the background (435)
* Camera interface has had an entire overhaul. (439)
* SquareShapeMixin now extended RectangleShapeMixin (376)
* Replaced github actions with Binny (465)
* `sprite_in_viewport` replaced with `sprite_in_view` (467)
* Switched from time.monotonic to time.perf_counter across the library. (431)
* We now treat sphinx warning as errors. This should mean less time with broken docs. (476)

Removed

* Sides interface (376)
* Stale changelog removed from README.md (472)
* DoNotRender flag (477)
* ppb.BaseSprite finally removed! (478)

Fixed

* Asset loading when using REPLs or Jupyter notebooks fixed. (446)

Docs

* Better docs about the core ppb name space, including `run` and `make_engine` (451)
* Text rendering docs (454)
* Specific install instructions for RHEL and derivatives. (From a new contributor!) (455)
* Improved Event docs (459)
* Improved Sprite docs (471)

0.9.0a1

This is a development release. All APIs subject to change. If you want to help test, you can target the latest alpha release to test new features.

0.8.0

This release does only two things: dramatically optimizes event dispatch and replaces PyGame with PySDL2.

First, the simple one: event dispatch performance was dramatically optimized, because the performance of the previous method was just _bad_.

The big thing is that PursuedPyBear no longer depends on PyGame and uses PySDL2 instead. This was done because PyGame has never supported Python 3.8 in a final release, despite 3.8 being released in October, 2019. We are now using PySDL2 instead. This should require no changes from our uses, although Linux uses will require additional steps to install the SDL libraries (Debian: `libsdl2-2.0-0 libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 libsdl2-gfx-1.0-0`).

Additionally, a pass was made at improving the docs: Double checking the accuracy of existing documentation, adding detailed documentation to `ppb.engine.GameEngine` and adding our first discussion pages. One discussing the design and constraints of the Asset system and another outlining the principles of ppb as a project.

We anticipate this release to have no impact on the vast majority of users, and minimal impact on the rest.

Added:
* Python 3.8 is now supported
* `Asset.free()`: Function that can be called by `__del__()` to release resources held. (387)
* Sounds now supports `.wav`, AIFF, VOC, OGG (Vorbis & Opus), MP3, and FLAC, as well as potentially more depending on the system configuration. (387)
* Documentation pages. (416, 375, 423)

Fixed:
* The initial scene now gets its `SceneStarted` event (rolled in to 387, 6e96280685d1ab2668f900d0c3374ef650380de1)

Changed:
* `BadEventHandlerException` was moved from `ppb.eventlib` to `ppb.errors`. (402)
* Documentation updates (404)
* Various performance improvements. (402, 415)

Removed:
* `ppb.eventlib`, `EventMixin`, and `__event__()`. Everything they used to do has been inlined into the Engine. (402)

Internal:
* The release process was changed to be more automatic with significantly fewer human steps. (380)
* One of the visual tests wasn't working. It was an error with the test, now fixed. (434)

0.8.0rc2

This release does only two things: dramatically optimizes event dispatch and replaces PyGame with PySDL2.

First, the simple one: event dispatch performance was dramatically optimized, because the performance of the previous method was just _bad_.

The big thing is that PursuedPyBear no longer depends on PyGame and uses PySDL2 instead. This was done because PyGame has never supported Python 3.8 in a final release, despite 3.8 being released in October, 2019. We are now using PySDL2 instead. This should require no changes from our uses, although Linux uses will require additional steps to install the SDL libraries (Debian: `libsdl2-2.0-0 libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 libsdl2-gfx-1.0-0`).

Additionally, a pass was made at improving the docs: Double checking the accuracy of existing documentation, adding detailed documentation to ppb.engine.GameEngine and adding our first discussion pages. One discussing the design and constraints of the Asset system and another outlining the principles of ppb as a project.

We anticipate this release to have no impact on the vast majority of users, and minimal impact on the rest.

Added:
* Python 3.8 is now supported
* `Asset.free()`: Function that can be called by `__del__()` to release resources held. (387)
* Sounds now supports `.wav`, AIFF, VOC, OGG/Vorbis, MP3, and FLAC, as well as potentially more depending on the system configuration. (387)
* Documentation pages. (416, 375, 423)

Fixed:
* The initial scene now gets its `SceneStarted` event (rolled in to 387, 6e96280685d1ab2668f900d0c3374ef650380de1)
* One of the visual tests wasn't working. It was an error with the test, now fixed. (434)
* Sound volume controls require integers, we now cast the value you provide to an integer. (427)

Changed:
* `BadEventHandlerException` was moved from `ppb.eventlib` to `ppb.errors`. (402)
* Documentation updates (404)
* Various performance improvements. (402, 415)

Removed:
* `ppb.eventlib`, `EventMixin`, and `__event__()`. Everything they used to do has been inlined into the Engine. (402)

Internal:
* The release process was changed to be more automatic with significantly fewer human steps. (380)

Page 4 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.