Benmoran56 Esper Versions Save

An ECS (Entity Component System) for Python

v1.0.0

5 years ago

Finally, version 1.0! I'm pretty happy with the library, and want to give thanks to everyone who has contributed. Also, thanks to all the users who have given feedback.

Esper is now using simple lru_caching internally by default. The cache is currently flushed when adding or deleting Entities or Components from the World, but Component queries are much faster generally. This will likely be improved in a Future version. In addition to caching, Esper now supports passing kwargs to Processors. Continuous Integration testing is now being done for all currently supported Python versions, including 3.7.

v0.9.9

6 years ago

Esper is now a single file! Just take esper.py, and drop it right into your project folder. No need to clutter your project with additional folders that weren't really necessary.

v0.9.8

7 years ago

This release contains a new timer that can be enabled to profile Processor execution time. Simply pass the "timed=True" parameter to the World on instantiation, and a new World.process_times dictionary will be available. This contains the total execution time of each Processor in milliseconds, and can be logged, printed, or displayed on screen as is useful. It's useful to see a quick profile of which processors are using the most cpu time, without fully profiling your game. This release also contains some consolidations and cleanups for the benchmarks.

v0.9.7

7 years ago

In this new point release, Entities are now lazily deleted by default. You can now delete entities even while iterating over components in your processors, without raising "dict size changed during iteration" errors, and avoiding the need to manually track and delete "dead" entities after iteration.

v0.9.6

8 years ago

A minor maintenance release. A new method: World.get_processor has been added.

v0.9.5

8 years ago

There is a new method: World.components_for_entity() which may be useful in some limited situations. There is also other minor documentation changes and cleanups.

v0.9.4

8 years ago

There is a new method: World.has_component() in this release, as well as some minor refactoring a bug fix. The new method returns a boolean (True/False), and is a simple convenience for certain types of systems. In addition, test coverage is better and now covers esper.CachedWorld.

v0.9.2

8 years ago