Future of web2py

4,261 views
Skip to first unread message

Andrea Fae'

unread,
May 27, 2017, 3:11:02 AM5/27/17
to web2py-users
Hello guys,
I'd like to know if there will be future of web2py? Any information about it?
Thanks

António Ramos

unread,
May 27, 2017, 7:00:54 PM5/27/17
to web...@googlegroups.com
The future is not available at this time.. so please enjoy the present.
We may no even exist in the future so why ask for web2py future before our selves future. ?

I need to sleep... and dream ... web3py .. web3py ...





--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Relsi Maron

unread,
May 27, 2017, 8:32:01 PM5/27/17
to web2py-users

Hi Andrea,

Yes, there will be a future for web2py!

Web2py will remain being what it is. :)

A new version, with support for Python 3, is about to come. Even though Massimo is developing a new framework, Web2py will continue to exist - with the same purpose for which it was created: to teach development.

Cheers.

Ron Chatterjee

unread,
May 28, 2017, 12:00:57 PM5/28/17
to web2py-users
How different web3py will be as opposed to web2py? Big learning curve or very similar? Can someone upload a w2p file and convert into w3p with few changes?

Oasis Agano

unread,
May 28, 2017, 12:47:49 PM5/28/17
to web2py-users

Is the new framework web3py if so when is the official launch?

Massimo Di Pierro

unread,
May 29, 2017, 7:29:20 PM5/29/17
to web2py-users
My plan is this....

It is based on bottle + gevent + gunicorn + rethinkdb + pydal + vue.js + 
some code ported from web2py (templates, helpers, validators, internationalization, scheduler)

Unlike web2py it uses modules not execfile and this makes it 10x faster (this part is done) and code it no longer interpreted at every request. Only on change.

Routes are declared using decorators like in bottle and flask.

It will use rethinkdb for storing errors, sessions, and anything user defined. This allows to scale horizontally. Nothing gets stored on the file system any more. Ever. Unless you choose to use sqlite for your app.

No more forms and grids generated server side. Possible and will probably backport SQLFrom and Gid but will discourage it. The default client will be in vue.js. The forms and grids will be generated client-side based on self-documenting APIs. This work must be done. It is not terribly hard just pedantic.

It has a redesigned admin. Not necessarily better but leaner. This part is also done although it may need restyling.

I am ditching a lot of the web2py auth logic. Nobody really uses groups and permissions and the way it is done may not be the best way for everybody. Instead I will default to auth0 integration.

From a developer prospective the code will look very similar and I will be able to recycle 90% of the documentation.

The problems are that web2py grew a bit bloated and typical programming patterns have shifted from postbacks to single page apps with form submission via API. Also web2py does not provide enough tools for scaling since uses filesystem by default. The new version will do less then current web2py but will remedy those issues and make it easier to make responsive and scalable apps.

I am conflicted. I could use help to get this done quicker but I do not want to post something that is half done people are unhappy with. What I would like may not be what everybody likes but I am mostly building this in a way that would work well for myself and share in the hope it is useful to others. BSD license.

If you are willing to help before the code is made public feel free to contact me personally.

Massimo

Karoly Kantor

unread,
May 30, 2017, 6:38:23 AM5/30/17
to web...@googlegroups.com
Hello Massimo,

Overall, what do your plans exactly mean for people with an existing app on web2py? Is this a brand new and different framework or is there an upgrade path?

Thanks.

Marlysson Silva

unread,
May 30, 2017, 12:40:45 PM5/30/17
to web2py-users
Could you put this thoughts about web2py's future in some place to community? In issues , documentation , topic discussion ..

So the community would know what have to do and could suggest more enhancements ..

Because the people stay waiting by some programmers to develop some features of framework..  and showing to others programmers and discussing, they could help.


Em terça-feira, 30 de maio de 2017 07:38:23 UTC-3, Karoly Kantor escreveu:
Hello Massimo, May I have two questions on this?

1. You say current web2py interprets code on every request. What does this mean on Google App Engine? (Every time I deploy, GAE seems to compile...)

2. Overall, what do your plans exactly mean for people with an existing app on web2py? Is this a brand new and different framework or is there an upgrade path?

Thanks.

Ron Chatterjee

unread,
May 30, 2017, 8:11:49 PM5/30/17
to web2py-users
Massimo, Do you see its better to do incremental changes to web2py that leads us to web3py at some point than to a completely new framework which may be lot of work and it will take monumental effort to fix all the bugs it may have.Just some thoughts...

Dave S

unread,
May 30, 2017, 9:08:10 PM5/30/17
to web2py-users


On Tuesday, May 30, 2017 at 5:11:49 PM UTC-7, Ron Chatterjee wrote:
Massimo, Do you see its better to do incremental changes to web2py that leads us to web3py at some point than to a completely new framework which may be lot of work and it will take monumental effort to fix all the bugs it may have.Just some thoughts...
 


Isn't he doing a parallel effort (with a few helpers)?  Much python3 work has found it's way into web2py, and some of that has been used for web3py, and conversely some of the web3py work has been backported.

From what I've seen, it's not EXCLUSIVE-OR.

/dps

António Ramos

unread,
May 31, 2017, 5:51:54 AM5/31/17
to web...@googlegroups.com
To Massimo... 
maybe we can have something like this in future web2py versions...



Marlysson Silva

unread,
May 31, 2017, 12:07:38 PM5/31/17
to web2py-users
What do you think about weppy?
It is based in web2py and have some thoughts interests

Oasis Agano

unread,
May 31, 2017, 3:21:40 PM5/31/17
to web2py-users

But web2py is still maintained right? or we start buying flask books

Pierre

unread,
May 31, 2017, 5:46:52 PM5/31/17
to web2py-users
weppy
the web framework for humans



sounds good ?


frigolux
the refrigerator for polar bears

Marlysson Silva

unread,
Jun 2, 2017, 2:52:29 PM6/2/17
to web2py-users
o.O

eric cuver

unread,
Jun 2, 2017, 3:10:21 PM6/2/17
to web2py-users
lol

Dave S

unread,
Jun 2, 2017, 4:30:36 PM6/2/17
to web2py-users


On Wednesday, May 31, 2017 at 2:51:54 AM UTC-7, Ramos wrote:
To Massimo... 
maybe we can have something like this in future web2py versions...


Is this particularly different from stupid.css, already include in the applications/examples in 2.14.6?

/dps
 

2017-05-31 2:08 GMT+01:00 Dave S <snide...@gmail.com>:


On Tuesday, May 30, 2017 at 5:11:49 PM UTC-7, Ron Chatterjee wrote:
Massimo, Do you see its better to do incremental changes to web2py that leads us to web3py at some point than to a completely new framework which may be lot of work and it will take monumental effort to fix all the bugs it may have.Just some thoughts...
 


Isn't he doing a parallel effort (with a few helpers)?  Much python3 work has found it's way into web2py, and some of that has been used for web3py, and conversely some of the web3py work has been backported.

From what I've seen, it's not EXCLUSIVE-OR.

/dps

--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to web2py+un...@googlegroups.com.

Massimo Di Pierro

unread,
Jun 2, 2017, 4:59:12 PM6/2/17
to web2py-users
OK course it is still maintained.... why do you ask?

Ron Chatterjee

unread,
Jun 2, 2017, 7:49:12 PM6/2/17
to web2py-users
apologies for ignorance on this topic but can this be a temporary fix to see how much benefits web2py will have prior to go with full web3py features?


https://docs.python.org/2/library/2to3.html

Muhammad Hashim Malik

unread,
Jun 4, 2017, 6:46:17 AM6/4/17
to web2py-users
Respected Massimo


You base idea of web3py is fantastic. Please share your web3py work. At least release its beta version, so that people play with it , be get acquaintance with it and positive feedback may be available so that direction of the web3py project may be in right direction. People like me are frustrated waiting web3py release. Please release it as soon as possible.

Truly,
Malik Muhammad Hashim

João Gulineli

unread,
Jun 7, 2017, 10:49:00 PM6/7/17
to web...@googlegroups.com
+1

Livre de vírus. www.avast.com.


João Henrique Gulineli Fachini;
Cel: 18 - 8107 8499




--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscribe@googlegroups.com.

tesser...@gmail.com

unread,
Jun 7, 2017, 11:16:38 PM6/7/17
to web2py-users
According to github, there were semi-regular releases going back to 2013, then they stopped about a year ago, so I guess it's only natural for people to wonder about the status of the project. Personally, I'm wondering if the project will continue to build production releases in the future. I see that master still gets some love, so maybe master is now stable for production and I missed it?

Anyhow, thank you for all your work on this framework. I admire the project itself and I think the community speaks for its integrity. I read your post earlier in this thread on your plans for web3py, and I thought I would say that as a web2py user, I loved how it gave me a current version of a few nice libraries and flattened web development into a single Python layer. Basically it gave me a mostly pre-built good-enough web interface and let me get on with the business of developing services for users.

Your web3py post concedes that the days of the flat development stack are over, and I agree it's unavoidable to use some of the newer JS components and move a lot of the work to the browser. I haven't checked out the stack you've listed in your reply yet, but I'll very likely end up using whatever you put together because I want to keep using helpers, validators and the DAL. I look forward to the day the lineup is stable enough for release, and thanks again for your past work on web2py.

Ron Chatterjee

unread,
Jun 8, 2017, 10:14:19 AM6/8/17
to web2py-users
Can we have something intermediate to help with the speed meanwhile? I am guessing speed will be the only motivation to consider in going from pathon 2 to python 3.

Anthony

unread,
Jun 8, 2017, 10:50:34 AM6/8/17
to web2py-users
On Thursday, June 8, 2017 at 10:14:19 AM UTC-4, Ron Chatterjee wrote:
Can we have something intermediate to help with the speed meanwhile?  I am guessing speed will be the only motivation to consider in going from pathon 2 to python 3.

Not sure what you mean. Are you talking about Python 2 vs. 3, or web2py vs. web3py? The coming release of web2py will support Python 3, but there won't be much difference in speed (no new architecture within the framework, so any speed difference will be due solely to general speed differences between Python 2 and 3). On the other hand, web3py will have a new architecture that will make it faster than web2py. I don't think there is any feasible intermediate option between the two.

Anthony

Ron Chatterjee

unread,
Jun 9, 2017, 3:39:43 PM6/9/17
to web2py-users
Rather than 3rd party packages available, I believe one of the most important criteria for any framework is the speed. How web3py compare to django, flask or other framework in terms of speed?

Anthony

unread,
Jun 9, 2017, 3:51:15 PM6/9/17
to web2py-users

On Friday, June 9, 2017 at 3:39:43 PM UTC-4, Ron Chatterjee wrote:
Rather than 3rd party packages available, I believe one of the most important criteria for any framework is the speed. How web3py compare to django, flask or other framework in terms of speed?

You said, "I am guessing speed will be the only motivation to consider in going from pathon 2 to python 3." How does that relate to third party packages and web3py vs. Django/Flask?

Anthony

Ron Chatterjee

unread,
Jun 9, 2017, 9:30:08 PM6/9/17
to web2py-users
No I am saying how fast web3py will be comparing django or flask?

Ron Chatterjee

unread,
Jun 10, 2017, 3:44:36 PM6/10/17
to web2py-users
I guess this is something massimo is proposing but this is already in use. Am I correct?

Massimo Di Pierro

unread,
Jun 11, 2017, 4:14:38 AM6/11/17
to web2py-users
Speed depends on what the app does. Which template you use, which db, etc. In general the bottle neck of any app is the database.

That said most people like to benchmark on simple hello world apps without sessions and templates. In this case web2py does not do well. web3py will do as fast as Flask, faster than Django.

Brendan Barnwell

unread,
Jun 11, 2017, 6:41:37 PM6/11/17
to web2py-users
On Wednesday, June 7, 2017 at 8:16:38 PM UTC-7, tesser...@gmail.com wrote:
According to github, there were semi-regular releases going back to 2013, then they stopped about a year ago, so I guess it's only natural for people to wonder about the status of the project. Personally, I'm wondering if the project will continue to build production releases in the future. I see that master still gets some love, so maybe master is now stable for production and I missed it?

Anyhow, thank you for all your work on this framework. I admire the project itself and I think the community speaks for its integrity. I read your post earlier in this thread on your plans for web3py, and I thought I would say that as a web2py user, I loved how it gave me a current version of a few nice libraries and flattened web development into a single Python layer. Basically it gave me a mostly pre-built good-enough web interface and let me get on with the business of developing services for users.


I agree with this as well.  I haven't been using web2py too long, but one of the things I really like about it is how self-contained it is.  Many of the other frameworks involve layers of dependencies on all sorts of things that make it quite onerous to begin.  web2py shines in that regard.
 
Your web3py post concedes that the days of the flat development stack are over, and I agree it's unavoidable to use some of the newer JS components and move a lot of the work to the browser. I haven't checked out the stack you've listed in your reply yet, but I'll very likely end up using whatever you put together because I want to keep using helpers, validators and the DAL. I look forward to the day the lineup is stable enough for release, and thanks again for your past work on web2py.


I think it would be unfortunate for the "flat stack" to disappear entirely.  Hopefully a compromise can be reached in which web2py ships (or at least can ship) with a bundle of tested-and-verified-to-work-together dependencies allowing simple installation.

Just to add my own perspective on the web3py play Massimo outlined: in my experience, the main weaknesses in web2py are the "magicness" of the import/namespace model, and the lack of comprehensive client/server communication tools.  By the first I mean many of the things I've asked about (and been graciously helped with) over the past several months.  The way that web2py manipulates import paths, executes code per request, and populates namespaces automatically (e.g., making names defined in model code available in controllers) makes many things convenient.  However, the magic underlying this is not fully exposed, meaning that code reuse can become difficult if you stray outside the predefined magic boundaries.  It's difficult, for instance, to create modules that factor out db-centric code, because the db object (typically defined in a model file) won't be available; this forces you to reimplement the wheel to some extent by taking the db-creation code out of a plain model file and put it in a function --- which then breaks things like the db-admin tool.  Obviously these are complex issues, but in the end I think it would be ideal to find a way that makes simple things smooth without making more complex code interdependencies quite so painful.  (Importing rather than executing code may help in this regard.)

The second weakness is client/server communication.  The web2py view template model is great, so telling the client what you want to serve is easy.  The problem comes when you want more or less continuous back-and-forth communication between client and server.  Most of web2py's client/server communication model is based on forms, which require the entire page to be reloaded.  While I'm not super gung-ho for "single-page apps", I do think that it's essential to facilitate "incremental" or "modular" communication between individual page elements and the server.  A clear example is validation.  Web2py has an elaborate validation mechanism which is quite powerful, but the need to submit an actual form makes it rather ponderous for situations where you want a "form" as just part of a page.  For instance, if you have a login form as a small box in the corner of a content page, you really want stuff like email validation to happen without a page reload.  It still needs to talk to the server, but it should be doing it with per-item AJAX.  I do think, though, that this is something that could be added to the existing web2py without requiring a wholesale rewrite; it basically amounts to adding more full-featured client-side tools, with linkups to the server, so that instead of using SQLFORM or whatever you can just have a series of <INPUT> elements in a view along with a {{=submitAjax}} or something that causes them to do their thing independent of the rest of the page.  The "components" model seems to be something along these lines but from what I see it is still a good deal less comprehensive than the whole form/validator mechanism available to "real" forms.

I've become quite a fan of web2py in the last year or two that I've been using it and hope to see it continue forward!

Muhammad Hashim Malik

unread,
Jun 11, 2017, 8:22:54 PM6/11/17
to web...@googlegroups.com
​Dear Massimo ​

The posts in this thread are showing desperate frustration for release of Web3Py. Please do it now.

People like what web2py is and expect the same from web3py. The only expected difference is shift from Python2 to Python3. Its ok, as a mastermind of Web2Py/Web3Py, whatever changes you deem necessary in Web3Py. Those changes would be acceptable to the community. 

Malik M. Hashim



--
You received this message because you are subscribed to a topic in the Google Groups "web2py-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/web2py/89a846kPeGA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to web2py+unsubscribe@googlegroups.com.

Anthony

unread,
Jun 11, 2017, 10:17:43 PM6/11/17
to web2py-users
It's difficult, for instance, to create modules that factor out db-centric code, because the db object (typically defined in a model file) won't be available; this forces you to reimplement the wheel to some extent by taking the db-creation code out of a plain model file and put it in a function --- which then breaks things like the db-admin tool.

You can create the db object in a model and then pass it to functions defined in a module. This is how Auth works, and you will notice all the Auth tables are accessible via appadmin.

Obviously these are complex issues, but in the end I think it would be ideal to find a way that makes simple things smooth without making more complex code interdependencies quite so painful.  (Importing rather than executing code may help in this regard.)

I believe that is indeed the plan for web3py.
 
I do think, though, that this is something that could be added to the existing web2py without requiring a wholesale rewrite; it basically amounts to adding more full-featured client-side tools, with linkups to the server, so that instead of using SQLFORM or whatever you can just have a series of <INPUT> elements in a view along with a {{=submitAjax}} or something that causes them to do their thing independent of the rest of the page.  The "components" model seems to be something along these lines but from what I see it is still a good deal less comprehensive than the whole form/validator mechanism available to "real" forms.

You can put anything that would go on a full page (including any form) in an Ajax component. Forms in components are submitted via Ajax (they are no less "real" than forms loaded in full pages), and only the component itself refreshes upon submission. It is not quite clear what else you are looking for.

Anthony

Anthony

unread,
Jun 11, 2017, 10:22:03 PM6/11/17
to web2py-users
The posts in this thread are showing desperate frustration for release of Web3Py. Please do it now.

People like what web2py is and expect the same from web3py. The only expected difference is shift from Python2 to Python3.

Just to be clear, web2py 2.15.1 will be released in the next few days and will support Python 3. It is still web2py, just with Python 3 support and a number of other updates and fixes. web3py will be a completely new framework (also supporting Python 3), quite different from web2py. It is not close to ready for release.

Anthony

Karoly Kantor

unread,
Jun 12, 2017, 3:39:58 AM6/12/17
to web2py-users


For people to feel they have an understanding on the web2py roadmap and trust in in its future, i think it would be important to get clear answers to the following questions:

1. When "web3py" is released, what will happen to web2py? Will it come to an end of life, or will the two frameworks continue to be maintained parallel?

2. What will be the relationship between web2py and web3py? I would guess that contributors' efforts will shift to web3py, so what happens to existing web2py based applications? Will there be an upgrade path with reasonable effort, of will those apps be stuck with an old framework from which contributor effort has shifted away?

Oasis Agano

unread,
Jun 12, 2017, 7:58:13 AM6/12/17
to web2py-users
If possible can we also have this in either web2py 2.15 or web3py or both:
  1. Better applications Unit testing(Not the framework test) methods and enough documentation
  2. Better Oauth2 support
  3. Better token based authentication for apis
  4. Support of GET and POST requests on login like flask does.

Thank you for your time.

kr,

Oasis

Anthony

unread,
Jun 12, 2017, 8:34:10 AM6/12/17
to web2py-users
  1. Better token based authentication for apis
web2py Auth supports JWT tokens.
  1. Support of GET and POST requests on login like flask does.
What does this mean?

Anthony

Richard Vézina

unread,
Jun 12, 2017, 9:54:13 AM6/12/17
to web2py-users
Please stop making unjustify pressure to the release of web3py... I greatly prefer that Massimo's take as much as he need time to design it new framework. It will prevent design flaws that would other than that be leaved in and make things more difficult to maintain in the future and require major refactoring or backward compatibility issue. I think it would be more constructive to share our idea and our expectation, as it will help Massimo make a better system design.

This answer express my own voice and not represent any of the web2py core team but just me.

But Malik you keep coming back with pressure for sometimes and I don't find this press constructive. You could rather share your expectations from the new framework, I think Massimo has share his thought many time about web3py, and base on these informations I am sure we can provide constructive feedback...

Thanks

Richard

You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscribe@googlegroups.com.

Richard Vézina

unread,
Jun 12, 2017, 10:04:00 AM6/12/17
to web2py-users
Karoly,

1) Massimo had already mention that web2py will be supported by the core team. You should know that core team much more involve in the maintenance and enhancement of web2py lately than Massimo is. I am rely confident in the maintenance of web2py for a fading out period if web3py will get traction. If web3py don't get traction, I am pretty sure that web2py will still continue to have a large user base and good core team to at least keep thing working.

2) Only Massimo can answer that, but I am confident that it will consider this aspect, clear and easy path to transition from w2p to w3p... So there should be a simple way to refactor your app to migrate it to web3py. But web3py will brake backward compatibility, so you have to expect to have major refactoring to do what exactly will be known when the time comes.

Richard