librelist archives

« back to archive

Flask-FeatureFlags 0.1 - simple feature flagging

Flask-FeatureFlags 0.1 - simple feature flagging

From:
Rachel Sanders
Date:
2013-04-27 @ 15:57
We've switched to continuous integration, and I wanted a simple way to hide
unfinished parts of the site until ready for release, aka feature flagging.

So I wrote an extension:

https://github.com/trustrachel/Flask-FeatureFlags

Docs: https://flask_featureflags.readthedocs.org/en/latest/

It's easy to use, easy to extend, and runs everywhere Flask does. You can
also use it for a/b testing or whitelisting, although that isn't the focus.

Feedback welcome.

Thanks!
-Rachel

Re: [flask] Flask-FeatureFlags 0.1 - simple feature flagging

From:
Gabriel Jordão
Date:
2013-04-27 @ 16:18
Great, I was looking for something like this in flask!

I think that a nice feature would be to provide a way of changing
featureflags on the fly, so you don't have to deploy a new version just to
switch a flag; maybe something like https://github.com/disqus/gargoyle;

Anyway, it can be too complicated or out of your needs, but it'd be very
helpful!

Thanks for the work



On Sat, Apr 27, 2013 at 12:57 PM, Rachel Sanders <rachel@trustrachel.com>wrote:

> We've switched to continuous integration, and I wanted a simple way to
> hide unfinished parts of the site until ready for release, aka feature
> flagging.
>
> So I wrote an extension:
>
> https://github.com/trustrachel/Flask-FeatureFlags
>
> Docs: https://flask_featureflags.readthedocs.org/en/latest/
>
> It's easy to use, easy to extend, and runs everywhere Flask does. You can
> also use it for a/b testing or whitelisting, although that isn't the focus.
>
> Feedback welcome.
>
> Thanks!
> -Rachel
>



-- 
*
*
*Gabriel Jordão*

T (71) 3494-3514
C (71) 8780-0519
gabrielpjordao@jusbrasil.com.br
www.jusbrasil.com.br

Re: [flask] Flask-FeatureFlags 0.1 - simple feature flagging

From:
Rachel Sanders
Date:
2013-04-30 @ 22:12
We do exactly the same thing, actually - I wanted to keep this simple and
easy to use, and also  I just couldn't find a generic way that would work
for everybody with all sorts of dbs.

And I librarized it because another team at my company wanted to use it,
and the static config was fine for them. :)


On Sat, Apr 27, 2013 at 9:18 AM, Gabriel Jordão <
gabrielpjordao@jusbrasil.com.br> wrote:

> Great, I was looking for something like this in flask!
>
> I think that a nice feature would be to provide a way of changing
> featureflags on the fly, so you don't have to deploy a new version just to
> switch a flag; maybe something like https://github.com/disqus/gargoyle;
>
> Anyway, it can be too complicated or out of your needs, but it'd be very
> helpful!
>
> Thanks for the work
>
>
>
> On Sat, Apr 27, 2013 at 12:57 PM, Rachel Sanders <rachel@trustrachel.com>wrote:
>
>> We've switched to continuous integration, and I wanted a simple way to
>> hide unfinished parts of the site until ready for release, aka feature
>> flagging.
>>
>> So I wrote an extension:
>>
>> https://github.com/trustrachel/Flask-FeatureFlags
>>
>> Docs: https://flask_featureflags.readthedocs.org/en/latest/
>>
>> It's easy to use, easy to extend, and runs everywhere Flask does. You can
>> also use it for a/b testing or whitelisting, although that isn't the focus.
>>
>> Feedback welcome.
>>
>> Thanks!
>> -Rachel
>>
>
>
>
> --
> *
> *
> *Gabriel Jordão*
>
> T (71) 3494-3514
> C (71) 8780-0519
> gabrielpjordao@jusbrasil.com.br
> www.jusbrasil.com.br
>

Re: [flask] Flask-FeatureFlags 0.1 - simple feature flagging

From:
Alex Ogier
Date:
2013-04-27 @ 16:32
Indeed, that's the problem I often have: I want to allow site
administrators to switch on and off features of the site or run A/B tests
without redeploying. It's possible to do that by creating a table of
settings in a database and flagging on them, but that ends up requiring
another round-trip to the database on every request unless you cache flags
in Python, and if you cache flags it's hard to invalidate them. I'm not
sure there's a great solution.


On Sat, Apr 27, 2013 at 12:18 PM, Gabriel Jordão <
gabrielpjordao@jusbrasil.com.br> wrote:

> Great, I was looking for something like this in flask!
>
> I think that a nice feature would be to provide a way of changing
> featureflags on the fly, so you don't have to deploy a new version just to
> switch a flag; maybe something like https://github.com/disqus/gargoyle;
>
> Anyway, it can be too complicated or out of your needs, but it'd be very
> helpful!
>
> Thanks for the work
>
>
>
> On Sat, Apr 27, 2013 at 12:57 PM, Rachel Sanders <rachel@trustrachel.com>wrote:
>
>> We've switched to continuous integration, and I wanted a simple way to
>> hide unfinished parts of the site until ready for release, aka feature
>> flagging.
>>
>> So I wrote an extension:
>>
>> https://github.com/trustrachel/Flask-FeatureFlags
>>
>> Docs: https://flask_featureflags.readthedocs.org/en/latest/
>>
>> It's easy to use, easy to extend, and runs everywhere Flask does. You can
>> also use it for a/b testing or whitelisting, although that isn't the focus.
>>
>> Feedback welcome.
>>
>> Thanks!
>> -Rachel
>>
>
>
>
> --
> *
> *
> *Gabriel Jordão*
>
> T (71) 3494-3514
> C (71) 8780-0519
> gabrielpjordao@jusbrasil.com.br
> www.jusbrasil.com.br
>

Re: [flask] Flask-FeatureFlags 0.1 - simple feature flagging

From:
dorian i
Date:
2013-04-27 @ 19:11
Can't you cache them for some minutes?


On Sat, Apr 27, 2013 at 6:32 PM, Alex Ogier <alex.ogier@gmail.com> wrote:

> Indeed, that's the problem I often have: I want to allow site
> administrators to switch on and off features of the site or run A/B tests
> without redeploying. It's possible to do that by creating a table of
> settings in a database and flagging on them, but that ends up requiring
> another round-trip to the database on every request unless you cache flags
> in Python, and if you cache flags it's hard to invalidate them. I'm not
> sure there's a great solution.
>
>
> On Sat, Apr 27, 2013 at 12:18 PM, Gabriel Jordão <
> gabrielpjordao@jusbrasil.com.br> wrote:
>
>> Great, I was looking for something like this in flask!
>>
>> I think that a nice feature would be to provide a way of changing
>> featureflags on the fly, so you don't have to deploy a new version just to
>> switch a flag; maybe something like https://github.com/disqus/gargoyle;
>>
>> Anyway, it can be too complicated or out of your needs, but it'd be very
>> helpful!
>>
>> Thanks for the work
>>
>>
>>
>> On Sat, Apr 27, 2013 at 12:57 PM, Rachel Sanders <rachel@trustrachel.com>wrote:
>>
>>> We've switched to continuous integration, and I wanted a simple way to
>>> hide unfinished parts of the site until ready for release, aka feature
>>> flagging.
>>>
>>> So I wrote an extension:
>>>
>>> https://github.com/trustrachel/Flask-FeatureFlags
>>>
>>> Docs: https://flask_featureflags.readthedocs.org/en/latest/
>>>
>>> It's easy to use, easy to extend, and runs everywhere Flask does. You
>>> can also use it for a/b testing or whitelisting, although that isn't the
>>> focus.
>>>
>>> Feedback welcome.
>>>
>>> Thanks!
>>> -Rachel
>>>
>>
>>
>>
>> --
>> *
>> *
>> *Gabriel Jordão*
>>
>> T (71) 3494-3514
>> C (71) 8780-0519
>> gabrielpjordao@jusbrasil.com.br
>> www.jusbrasil.com.br
>>
>
>

Re: [flask] Flask-FeatureFlags 0.1 - simple feature flagging

From:
Steven Kryskalla
Date:
2013-04-27 @ 16:27
On Sat, Apr 27, 2013 at 9:18 AM, Gabriel Jordão
<gabrielpjordao@jusbrasil.com.br> wrote:
> I think that a nice feature would be to provide a way of changing
> featureflags on the fly, so you don't have to deploy a new version just to
> switch a flag; maybe something like https://github.com/disqus/gargoyle;

It looks like you can build that yourself using the "add_handler"
method. You could add a handler to read from a config file, a
database, etc.. I think that's the right approach with flask, since
there's no ORM you can depend on everyone using (gargoyle depends on
the django ORM).