It's definitely a deal breaker for me, since that's one of pyglet's strong points. I'll have to think about this a bit more. At the least, I'll make a standalone loader module that returns Animations, and drop it into the contrib folder.
On Friday, February 3, 2017 at 5:00:43 AM UTC+9, Kale Kundert wrote: > > Yeah, if you want pyglet to work without setuptools then what I'm > suggesting > isn't really an option. > > It is worth pointing out that even if pyglet had to be installed with > setuptools, you could still use virtualenv to have a separate checkout of > pyglet > for each project. But that adds boilerplate and probably isn't what you > want > for your projects. > > -Kale > > On 02/02/2017 12:05 AM, Benjamin Moran wrote: > > Thank you for the explaination Kale, I didn't fully understand what you > meant > > before. > > > > I'm not terribly familar with setuptools to be honest. My main concern > is that > > pyglet remains able to be run by dropping it's folder into a project, > and not be > > reliant on setup.py being run for installation. That's a pretty big > strength, > > and how I personally use pyglet in my projects. > > > > Other than that, I wonder what other codecs this could be useful for > down the road. > > > > > > On Wednesday, February 1, 2017 at 3:13:34 PM UTC+9, Kale Kundert wrote: > > > > What I was thinking was something like this: > > > > First, advertise a "pyglet.codecs" entry point in setup.py. List > all the > > codecs > > that are currently included with pyglet as entry points. This is > nice because > > first-party and third-party codecs will be handled in the same way: > > > > def setup( > > ... > > entry_points = { > > 'pyglet.codecs': [ > > 'png = pyglet.image.codecs.png', > > ... > > ] > > } > > ... > > ) > > > > Then, replace pyglet.image.codecs.add_default_image_codecs() with > something > > like > > this: > > > > def add_default_image_codecs(): > > from pkg_resources import iter_entry_points > > for entry_point in iter_entry_points(group='pyglet.codecs'): > > codec = entry_point.load() > > add_encoders(codec) > > add_decoders(codec) > > > > Now third-party modules can define custom codecs just by adding > entry-points to > > their own setup.py files: > > > > # Let's say this is the 'pyglet_aseprite_plugin' package... > > def setup( > > ... > > entry_points = { > > 'pyglet.codecs': [ > > 'aseprite = pyglet_aseprite_plugin', > > ... > > ] > > } > > ... > > ) > > > > All a hypothetical user has to do is: > > > > $ pip install pyglet_aseprite_plugin > > > > When add_default_image_codecs() is called, setuptools/pkg_resources > will > > tell it > > about every 'pyglet.codecs' entry point installed on that system, no > matter > > which package they come from. So first-party and third-party codecs > will get > > loaded in the same way. This wouldn't be a very big change to > pyglet all told, > > but it would be nice for plugin developers. > > > > The documentation for this stuff was annoyingly hard to find, so > here are some > > links if you want more information: > > > > > http://setuptools.readthedocs.io/en/latest/setuptools.html#dynamic-discovery-of-services-and-plugins > > > < > http://setuptools.readthedocs.io/en/latest/setuptools.html#dynamic-discovery-of-services-and-plugins> > > > > > > > > > http://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points > > < > http://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points> > > > > > I don't have any particular interest in aseprite, but I might be > able to make a > > pull request for the plugin architecture over the weekend if there's > > interest in it. > > > > -Kale > > > > On 01/31/2017 05:20 AM, Benjamin Moran wrote: > > > I'm not quite sure how it could work. The decoders/encoders are > actually > > part of > > > the pyglet.image module. The pyglet.image.base basically scans in > all > > available > > > units from pyglet.image.codecs, depending on the platform. The > > pyglet.resource > > > module simply loads in whatever images the pyglet.image module > supports. > > > > > > So, to make this work, you would need to have something like > > > "pyglet.image.add_decoder", and then make sure you add your > decoders > > module in > > > before doing any pyglet.resource.reindex() calls. This all seems a > little > > > awkward to me, with the way things currently work. > > > > > > Maybe the image module could automatically check and load > applicable modules > > > from pyglet/image/codecs, without first having to define them in > > > pyglet.image.base. This would mean developers could just copy in > the > > appropriate > > > module to this directory in their codebase, This wouldn't really > work for > > > projects that install pyglet from pip, however. > > > > > > > > > On Tuesday, January 31, 2017 at 7:05:21 PM UTC+9, DXsmiley wrote: > > > > > > This sounds too niche to warrant including in pyglet itself. > > > > > > I think that Kale's point is interesting. Allowing third-party > modules to > > > add additional decoders to pyglet.resource could be useful. > > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "pyglet-users" group. > > > To unsubscribe from this group and stop receiving emails from it, > send an > > email > > > to pyglet-users...@googlegroups.com <javascript:> > > > To post to this group, send email to pyglet...@googlegroups.com > <javascript:> > > > <mailto:pyglet...@googlegroups.com <javascript:>>. > > > Visit this group at https://groups.google.com/group/pyglet-users > > <https://groups.google.com/group/pyglet-users>. > > > For more options, visit https://groups.google.com/d/optout > > <https://groups.google.com/d/optout>. > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "pyglet-users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email > > to pyglet-users...@googlegroups.com <javascript:> > > <mailto:pyglet-users+unsubscr...@googlegroups.com <javascript:>>. > > To post to this group, send email to pyglet...@googlegroups.com > <javascript:> > > <mailto:pyglet...@googlegroups.com <javascript:>>. > > Visit this group at https://groups.google.com/group/pyglet-users. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.