plaster 0.3 and plaster_pastedeploy 0.1

55 views
Skip to first unread message

Michael Merickel

unread,
Mar 28, 2017, 12:45:09 AM3/28/17
to Pylons
Hey folks,

I'm happy to announce plaster and plaster_pastedeploy. Plaster is a new library that operates as an agnostic wrapper around arbitrary configuration loaders. It can be used by any application and ships with no opinion on actual file format or source but rather offers a standard way to find configuration loaders via the config_uri, usually supplied on the command-line.

Alongside plaster is the first binding, plaster_pastedeploy, which can load the PasteDeploy format. This is the INI file format used by Pyramid. Some example config_uris that can be loaded by plaster_pastedeploy:

development.ini
development.ini#main
development.ini?http_port=8080#main
ini+pastedeploy://development.ini?http_port=8080#main
egg:MyApp

This is an early release to show people what's going on and hopefully get some feedback. Pyramid 1.9 is slated to depend on plaster and you will be expected to install the appropriate binding for your application (likely plaster_pastedeploy) when you upgrade.

I look forward to seeing what other bindings may appear for other file formats such as yaml, json, toml or even something that loads settings from redis?? Hopefully this will make it simpler for applications to use the same config file formats for your own command-line scripts as well as pserve.

Generalizing Pyramid's command-line scripts to work with other file formats has been one of the most commonly requested features over the years and I hope that plaster is the path forward. This library would not exist without the help of several people that I wanted to mention here:

- Hunter Senft-Grupp (https://github.com/huntcsg) who got this project started at the Pycon 2016 sprints.

- Rose Davidson (https://github.com/inklesspen) for much of the original design for plaster which is heavily influenced by her own library, montague. She has also done a lot of work reviewing and testing versions of plaster.

- John Anderson (https://github.com/sontek) for constantly complaining about the lack of support for alternate file formats.

Thanks!

- Michael

Jonathan Vanasco

unread,
Apr 19, 2017, 12:56:42 PM4/19/17
to pylons-discuss
this looks pretty great.  have you spoken with the maintainers of uwsgi / gunicorn / etc about plaster support yet?

Michael Merickel

unread,
Apr 19, 2017, 1:40:13 PM4/19/17
to Pylons
On Wed, Apr 19, 2017 at 11:56 AM, Jonathan Vanasco <jona...@findmeon.com> wrote:
this looks pretty great.  have you spoken with the maintainers of uwsgi / gunicorn / etc about plaster support yet?

Thanks - I have not. I imagine they would depend on plaster instead of pastedeploy and then advise people to install the appropriate binding for whatever wsgi config format they are using... Such as plaster_pastedeploy to keep things working as they were before.

Some other tools that might benefit from plaster support would be alembic - at least in my own workflow. :-)

Jonathan Vanasco

unread,
Apr 19, 2017, 2:00:08 PM4/19/17
to pylons-discuss


On Wednesday, April 19, 2017 at 1:40:13 PM UTC-4, Michael Merickel wrote:

Thanks - I have not. I imagine they would depend on plaster instead of pastedeploy and then advise people to install the appropriate binding for whatever wsgi config format they are using... Such as plaster_pastedeploy to keep things working as they were before. 
Some other tools that might benefit from plaster support would be alembic - at least in my own workflow. :-)
 

 Yep.  uWSGI, for example, supports a large number of config file formats.  integrating against plaster would drop their needs down to supporting one.  As user of Pyramid though, I'm stuck on `.ini` files because it's the only consistent thing our deployment options support.  (even though I hate them)

imho, Plaster is an absolutely killer idea and package for platform/framework developers.  I think there's a very good shot a couple of other framework/server developers will be open to supporting or even fully migrating onto it.
 

Randall Leeds

unread,
Apr 24, 2017, 5:00:05 PM4/24/17
to pylons-discuss
I am one of the active maintainers of Gunicorn. I've worked a lot with Pyramid and reviewed or written many of the changes to Gunicorn's support for Paster over the last couple years. I wanted to chime in mostly to say that I'm following along, but I haven't had a chance to figure out exactly whether Plaster makes sense for Gunicorn yet.

I've opened an issue here: https://github.com/benoitc/gunicorn/issues/1506
Reply all
Reply to author
Forward
0 new messages