Skip to main content

A fast 2D sprite engine using OpenGL

Project description

Rabbyt is a sprite library for Python with game development in mind. It has two goals:

  1. Be fast, without sacrificing ease of use.

  2. Be easy to use, without sacrificing speed.

For a quick rundown on the current features see the website.

You can find the reference documentation here.

Changelog

Version 0.7.6

  • Added pyglet_load_texture for using pyglet instead of pygame. (Which one to use is autodetected.)

  • Added Sprite.texture property, which accepts pyglet textures as well as filenames.

  • Assigning a 12-tuple to Sprite.tex_shape is now converted from the format used by pyglet’s tex_coords texture attribute.

  • Added Quad class, to make Sprite.shape and Sprite.tex_shape nicer.

  • Added a workaround to make setuptools work with Pyrex 0.9.6.3.

  • Added collide_single() function for finding collisions between a group and a single object.

  • Fixed a bug where the time arguments in lerp were converted to ints.

  • Removed depricated physics module.

  • Various other bugfixes.

Version 0.7.5

  • New (alpha) Array classes.

  • Fixed a segmentation fault due to weakrefs. (Sprite instances are no longer weakrefable.)

  • Fixed sine interpolation being cosine interpolation :-P

  • Added an example showing different interpolators.

  • Added a flags keyword argument to init_display()

Version 0.7

  • License changed to MIT.

  • Added add_time() function.

  • Time is stored internally as float instead of int. This allows for optionally using seconds instead of milliseconds.

  • Added exponential, cosine, and sine interpolation.

  • Documented rabbyt.anims quite a bit better.

  • Forced Pyrex version 0.9.5 or greater, to prevent segfaults when using weakrefs. (It still can be compiled without pyrex.)

  • Added more hacks for building on MacOS. Hopefully it’ll all go smooth now.

  • Deprecated the Basic1 and Basic2 physics classes.

  • HTML documentation is now included in the source distribution.

  • Added missing documentation for VertexArray.texture_id.

Version 0.6

  • Sprites can be scaled independently on their x and y axes.

  • Added left, right, top, and bottom properties to Sprite.

  • Fixed bug with some sprites being drawn upside-down when rotated.

  • Fixed c, pyx, and pxd files being installed.

  • Added a small function for integrating with the chipmunk/pymunk physics lib.

Version 0.0.5

  • c source files are included, so Pyrex is not needed for building.

  • Renamed the DV* classes to Anim*. (This is mostly internal and shouldn’t affect anyone.)

  • MANY fixes and improvements to font rendering. (As in, it’s actually useful now!)

  • Lots of docstrings added and improved.

  • pygame_load_texture() now takes filter and mipmap arguments, which are passed on to load_texture().

Version 0.0.4

  • Fixed compiling on MS Windows.

  • Added some simple helpers for physics simulation.

  • Moved all non-rendering code out of Sprite and into BaseSprite.

  • Added font rendering support.

  • Using color data in VertexArray rendering is now optional.

  • VertexArray can now optionally bind a texture before rendering.

  • Fixed a bug with VertexArray barfing when not given all the data for a vertex, instead of using defaults.

  • Fixed a segfault when trying to load a texture before initializing the OpenGL context.

  • Switched DVProxy and DVPyFunc to not cache by default. (Premature optimization is the root of all evil.)

  • All examples now respond to window events nicely.

Version 0.0.3

  • Added DVProxy and DVPyFunc classes. (Assigning a function to a sprite property creates a DVPyFunc transparently.)

  • Added basic arithmetic operations for DV classes.

  • Added Sprite.attrgetter() for super fast property access.

  • Changed rabbyt.collisions.rdc() to not return groups with only one object.

  • Added a number of introductory examples, showing the basic features.

Version 0.0.2

  • Added vertex array rendering.

  • Added collision detection.

  • Lots of docstrings added/improved.

  • Added rgb property to Sprite.

Version 0.0.1

  • Initial release!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Rabbyt-0.7.6.tar.gz (157.5 kB view details)

Uploaded Source

Built Distributions

Rabbyt-0.7.6.win32-py2.5.exe (183.8 kB view details)

Uploaded Source

Rabbyt-0.7.6-py2.5-win32.egg (133.1 kB view details)

Uploaded Source

Rabbyt-0.7.6-py2.5-linux-i686.egg (337.9 kB view details)

Uploaded Source

Rabbyt-0.7.6-py2.4-linux-i686.egg (336.3 kB view details)

Uploaded Source

File details

Details for the file Rabbyt-0.7.6.tar.gz.

File metadata

  • Download URL: Rabbyt-0.7.6.tar.gz
  • Upload date:
  • Size: 157.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Rabbyt-0.7.6.tar.gz
Algorithm Hash digest
SHA256 629a77d1d2605c513576e006549e5674cc74b31c5a6bf1e635ee359664e80d32
MD5 2e119bda1884996999c5caa641d21974
BLAKE2b-256 39c17a22662d8f14592fef231b836b8f69070028a562ff9d683dc07c9f4df77f

See more details on using hashes here.

File details

Details for the file Rabbyt-0.7.6.win32-py2.5.exe.

File metadata

File hashes

Hashes for Rabbyt-0.7.6.win32-py2.5.exe
Algorithm Hash digest
SHA256 911ee7bb1bd9b3cb3ed12d31d5814994a5afe83cb92dfc0d7e62026b40944048
MD5 db98b874a4ef440602fabc8b014ec44a
BLAKE2b-256 f66bfc29e91203c0bd0d762c0d8ced950f3609b77fb3dbfc34aa3887433e5a1f

See more details on using hashes here.

File details

Details for the file Rabbyt-0.7.6-py2.5-win32.egg.

File metadata

File hashes

Hashes for Rabbyt-0.7.6-py2.5-win32.egg
Algorithm Hash digest
SHA256 ab7bef4cf705e25398c6f545ac31f8ee136367786365642faa0ff75b5f728b88
MD5 830ca02e67f5683ad9eae386b436a5e9
BLAKE2b-256 222545e752cd52e78e8df2be73e35d2e5c4ff2e580e663aa61aface1c40e634b

See more details on using hashes here.

File details

Details for the file Rabbyt-0.7.6-py2.5-linux-i686.egg.

File metadata

File hashes

Hashes for Rabbyt-0.7.6-py2.5-linux-i686.egg
Algorithm Hash digest
SHA256 22d7abc9cabb3edc384c08c13c06bd4fe9d9e027784d7a27c2e35a78a4e9ea4a
MD5 8a4d7e83b97a2796a1a1f48df17003e2
BLAKE2b-256 97f9d1d0fa17f6df3833ff12e7e9cec34eb240b5b4a8d2a5df82a6ed3d048f01

See more details on using hashes here.

File details

Details for the file Rabbyt-0.7.6-py2.4-linux-i686.egg.

File metadata

File hashes

Hashes for Rabbyt-0.7.6-py2.4-linux-i686.egg
Algorithm Hash digest
SHA256 721f6cdd8f81a87a4f830cefb6e03faf11a00f42525f564ccfb051c431978320
MD5 649b35dda1701bb03ae50811176f3352
BLAKE2b-256 542884b4f3932268dff5a5715ae22bcf01b5e83152279fab9bb655a7fa47f33b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page