Re: clearing out old cache/session files from beaker
Actually on another note: http://pylonshq.com/docs/en/0.9.7/sessions/ - suggests that the default backend is dbm, when the beaker code sets the default to be file if a data_dir is specified. Does pylons override this somewhere, or are the docs out of date? from the doc: == type Accepts: string Default: dbm Type of storage used for the session, current types are “dbm”, “file”, “memcached”, “database”, and “memory”. The storage uses the Container API that is also used by the cache system. Cheers, Damian On Dec 5, 5:04 pm, Damian damiandimm...@gmail.com wrote: Hey Jonathan, Thanks for that - I seem to have had my brain switched off - the sessions are not (nessecarily) stored as bdb, i just realised that what I am using is the default backend for beaker sessions in pylons. So, I don't actually know if it's file or dbm (which I think/thought uses bdb?). If it's file based, deleting is safe, if its bdb I'll have to do some other magic. Ok, so I went and checked the beaker code: In Session's __init__: if not type: if data_dir: self.type = 'file' else: self.type = 'memory' else: self.type = type so this probably means I am using file based as I have a data_dir defined and don't explicitly specify a type, therefore deleting should be ok... Sorry for the confusion and thanks for all the responses, much appreciated! Damian On Dec 4, 10:34 pm, Jonathan Vanasco jonat...@findmeon.com wrote: sorry, clears out old bdb entries. not files. within bdb clear out the entries -- do not delete files in the fs. -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Logging with multiple applications in one .ini file
Hello all, I am currently configuring a second application in parallel to my currently running application the .ini file. So far, everything is running quite good, the application is running without a problem. But I can't seem to get logging for the second application up and running. I have added a keys entry in the [loggers] section, and added a logger_ section for the second application, setting it to DEBUG level (as we are developing here). But when I do loging.getLogger(__name__) in one of the controllers, I only get a logger with sets WARNING level, so my normal log.debug and log.info statements are not going to the log file. Is there any magic I have to add to make this work? Oh, and this is still Pylons 0.9.6.2, so it might be something which is already fixed in a newer version, but unfortunately, we currently see no way to get the complete app migrated to a newer version of Pylons, so we are stuck with that one. Any help will be greatly appreciated! Best regards, Jens -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
slow import
Hi, I've been looking into performance bottlenecks in my pylons app and I noticed that importing the pylons module itself takes 150 msec. It might seem pedantic to be worried about 150 msec, but it seems like an unnecessary startup cost. Have you guys considered ways of making pylons modules faster to import? Thanks, Andres -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: slow import
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 6 Dec 2009, at 16:07, andres wrote: it seems like an unnecessary startup cost A purely personal perspective: I don't wish to appear discouraging but Pylons is not yet at 1.0 and I wouldn't want to see the dev team pressured to make optimizations which might later prove to be premature. You're effectively asking people to devote effort and I suspect that would be better received if you could perhaps marshal some more detailed support for your argument that 150msec startup cost seems unnecessary, even slow? If you have specific suggestions, I'm sure that Ben and the team would welcome proposals accompanied by code and tests. Cheers, Graham http://www.linkedin.com/in/ghiggins -BEGIN PGP SIGNATURE- iEYEARECAAYFAksb4kcACgkQOsmLt1Nhivy/iACdGLXnkntW8eTrmXO5HOFqVORe VZIAoOi1Jcl7myJt9xbEw7/czwlc1ywRiQCVAgUBSxviR1nrWVZ7aXD1AQIfcQP+ PsQPVPruGTgrLFo+DDLzJ9UH7Rv+2+n8LmmNnJw+F4UDcqGpcZzFcaNLA+2E5mUX e/SXeJDhgNwUzzlE1mlfopVUnC8X/Et+5wjQskh1r9lnBC4AJ8y57MiyU8cQhvtW 0+FYaNp+D5OztB3pUw4HAmPzPgf5j+LJoA5N17d7YJY= =c0uH -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
AttributeError: No configuration has been registered for this process or thread After QuickWiki Installl
Hi I installed Pylons with Mac Ports. I was able to create and run helloworld. However after installed the QuickWiki demo from the Pylons website (using easy install) I now get this error when I try to run helloworld (or any other app I try to create). Any ideas? $ paster serve --reload development.ini Starting subprocess with file monitor Traceback (most recent call last): File /Library/Frameworks/Python.framework/Versions/2.6/bin/paster, line 8, in module load_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster') () File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/ command.py, line 84, in run invoke(command, command_name, options, args[1:]) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/ command.py, line 123, in invoke exit_code = runner.run(args) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/ command.py, line 218, in run result = self.command() File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/ serve.py, line 276, in command relative_to=base, global_conf=vars) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/ serve.py, line 313, in loadapp **kw) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/ loadwsgi.py, line 204, in loadapp return loadobj(APP, uri, name=name, **kw) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/ loadwsgi.py, line 225, in loadobj return context.create() File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/ loadwsgi.py, line 625, in create return self.object_type.invoke(self) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/ loadwsgi.py, line 110, in invoke return fix_call(context.object, context.global_conf, **context.local_conf) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/util/ fixtypeerror.py, line 57, in fix_call val = callable(*args, **kw) File /Developer/Python/Pylons/helloworld/helloworld/config/ middleware.py, line 37, in make_app config = load_environment(global_conf, app_conf) File /Developer/Python/Pylons/helloworld/helloworld/config/ environment.py, line 26, in load_environment config.init_app(global_conf, app_conf, package='helloworld', paths=paths) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/ configuration.py, line 295, in init_app conf.update(self.pop('environment_load', {})) File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/ configuration.py, line 134, in __getattr__ conf_dict = self.current_conf() File /Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/config.py, line 76, in _current_obj No configuration has been registered for this process AttributeError: No configuration has been registered for this process or thread -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Accessing dev server instance
Hi When I run: paster serve --reload development.ini I am able to view the site through 127.0.0.1:5000/myapp (on Ubuntu server) however I cannot access this site from another machine on my network (ie 192.168.1.5:5000/myapp). How do I configure Pylons/Paster to allow external access to the Pylons app? Thanks Ben -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Securing your applications with ESAPI
Don’t write your own security controls! Reinventing the wheel when it comes to developing security controls for every web application or web service leads to wasted time and massive security holes. The OWASP Enterprise Security APIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Python(ESAPI) Toolkits help software developers guard against security‐related design and implementation flaws. The same group of people that wrote the OWASP Top Tenhttp://www.owasp.org/index.php/Top_10_2007now bring you ESAPIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API, the Enterprise Security API, and I've ported it to Python. ESAPIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Pythonprovides numerous application-level controls that are desperately needed in today's web applications. ESAPI provides... - Strong encoding/decoding/canonicalization to prevent XSS and interpreter attacks - Flexible authentication and access control - Object reference maps to hide server-side objects and references from the user - Secure session management utilities - Strong input validation using whitelists - Easy-to-use encryption framework for symmetric-key and public-key cryptography - Secure PRNG with helper methods - Flexible and powerful security logging - Intrusion detection - block attackers before they find a weak point! ESAPIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Pythonis pure Python and is not tied to any framework. It only takes a few minutes to set up and you can use as much or as little of it as you would like - there is no lock-in. The goal of the ESAPI project is to get strong, easy-to-use security controls in the hands of web developers so that they can focus on what they do best: creating brilliant websites. This project has two main ways in which it can be used. First, application developers can pick it up and use the controls inside to secure their applications. Second, framework developers can look at it and incorporate the design and functionality of the security controls into the framework itself. ESAPI is released under the BSD license, so you can do pretty much anything you want with it. If having a secure Pylons application is important to you, I hope you take a look at ESAPI: OWASP wiki: http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Python Google code: http://code.google.com/p/owasp-esapi-python/ Questions, comments, and criticisms are all welcome. Thank you. -- Craig Younkins Website/Blog http://cyounkins.blogspot.com/ -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Accessing dev server instance
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 6 Dec 2009, at 09:27, shocks wrote: Hi When I run: paster serve --reload development.ini I am able to view the site through 127.0.0.1:5000/myapp (on Ubuntu server) however I cannot access this site from another machine on my network (ie 192.168.1.5:5000/myapp). How do I configure Pylons/Paster to allow external access to the Pylons app? Ah-ha, an easy one. Pylons defaults to a safe configuration and only serves on localhost, hence it is unreachable from other machines. To make your Pylons app reachable by other machines, change the host settting in the development.ini configuration file from host = 127.0.0.1 to host = 192.168.1.5 (as given above) or whatever specific IP address you wish to use, or even '0.0.0.0. There's more detailed information available in the Pylons book, handily available online: http://pylonsbook.com/en/1.1/exploring-pylons.html#a-word-about-ip-addresses-hosts-and-security HTH. Cheers, Graham http://www.linkedin.com/in/ghiggins -BEGIN PGP SIGNATURE- iEYEARECAAYFAksb7hsACgkQOsmLt1NhivwOdACePVQ+hLSdyXpSK4SWQNWtCkxs SlkAnRNv2meMOyOfKgDDOh4xKxzfEsCTiQCVAgUBSxvuG1nrWVZ7aXD1AQKpNAQA xbF+a3+7bA73N+pt8WQ1Iex5mTdz9IaDquhUyz5t4ZWxqlB3yma0zHqc7Kg6XkOk id3rbp+H66BjvQI7pSBrBYYiT9RGQr5YLpEUhtsWlTUQcRMeapLrU/gHhV4Fg9E0 PkPKtMz3l3TP38POrhh0DfpRiB5/Bw2x8PRh4kHiS2U= =XiCm -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?
the request cycle is not getting confused. Ha! O.k. I think it's pretty clear who is confused. :) Graham, your 'spurious_example()' bit really helped the lights go on. Of course it's obvious to me now (return self.foo() instead of call self.foo()) but sometimes you need to 'talk' it out to see the errors of your ways. Appreciate the discussion, almost feel like there could be a 'Friday Foibles' column (*ing yrs truly!). Hope people don't mind the blather but I really enjoy and learn and am indebted to 'the list'. Fwiw, this is a login process, but the more general pattern at play here, as I see it, is foo() having to get a foreign key for a primary table in bar(), and having to (o.k., I'll say it) redirect from bar() to foo() if the foreign key is not present. nxt up - my own web framework! (joke ;) -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 6 Dec 2009, at 18:40, jnowl wrote: Graham, your 'spurious_example()' bit really helped the lights go on. Heh, thought it might. I've been there before, got a whole wardrobe full of T-shirts :-) Glad I could help. Cheers, Graham http://www.linkedin.com/in/ghiggins -BEGIN PGP SIGNATURE- iEYEARECAAYFAksb/xsACgkQOsmLt1NhivwmsACeI8umYfCFEicQ/4oFghY+8+kO QUcAn3nCZysRixQ0tA20bTaLUsWIdwT4iQCVAgUBSxv/G1nrWVZ7aXD1AQLQYAQA kvh+yiIMUDWr7x7Bb++8Ah4nbHncp0RXdPoFlfRxjomBI8nRKgSW2FtVPdL7Hlv8 jGFRr73VBHRRkI+1nnhSp/KqoLxfodfo408/hTWSfMBkVKA9L5RA5bgeh7l6hod5 IBAams7kZahROkGJ7P49uhrvhI13CUVCV+1G/+GQYts= =QtrQ -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: slow import
On Dec 7, 3:07 am, andres and...@octopart.com wrote: Hi, I've been looking into performance bottlenecks in my pylons app and I noticed that importing the pylons module itself takes 150 msec. It might seem pedantic to be worried about 150 msec, but it seems like an unnecessary startup cost. Have you guys considered ways of making pylons modules faster to import? Certain modules in Python standard library themselves are slow to import. Thus, not necessarily a Pylons issue. Start out by seeing how long it takes to import 'cgi' module to begin with and you may see what I mean. import time def func(): ... a = time.time() ... import cgi ... print time.time() -a ... func() 0.0814950466156 So, that is 80ms alone on my couple of year old iMac. Graham -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: clearing out old cache/session files from beaker
to be honest... a while back, i set my sessions to be flat-file based, just because I didn't want to deal with the stuff you're going through ;) i had sessions in postgres at one time, but i don't think they were beaker based. it was a tie-in to some mod_perl legacy apps. for them i did this paradigm: session_write to memcached , if there is any data-change other than accessinfo, wrte to postgres too session_read from memcached, failover to postgres, failover to new session a cronjob would clear out old session stuff from both . it was really fast , because the timestamp column was just 1 line. i don't recall how the bdb / dbm stuff works. you may have to inspeact/loop sessions. but it should still be lightning fast. -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?
On Dec 6, 1:40 pm, jnowl john_now...@carleton.ca wrote: Ha! O.k. I think it's pretty clear who is confused. :) ha! just to reiterate on mike's point above, please don't take any of my curt responses as being insensitive, mean or condescending. i just meant for you to read up on that stuff yourself -- since that's really going to be the best/only way to learn. -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: slow import
On Sun, Dec 6, 2009 at 1:41 PM, Graham Dumpleton graham.dumple...@gmail.com wrote: On Dec 7, 3:07 am, andres and...@octopart.com wrote: Hi, I've been looking into performance bottlenecks in my pylons app and I noticed that importing the pylons module itself takes 150 msec. It might seem pedantic to be worried about 150 msec, but it seems like an unnecessary startup cost. Have you guys considered ways of making pylons modules faster to import? Certain modules in Python standard library themselves are slow to import. Thus, not necessarily a Pylons issue. Start out by seeing how long it takes to import 'cgi' module to begin with and you may see what I mean. import time def func(): ... a = time.time() ... import cgi ... print time.time() -a ... func() 0.0814950466156 So, that is 80ms alone on my couple of year old iMac. My guess is this is probably not a huge issue for most pylons apps, but I did happen to be looking at mercurial's source code today for something unrelated and found this: http://selenic.com/repo/hg-stable/file/2770d03ae49f/mercurial/demandimport.py Neat little hack. Graham -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en. -- Thanks, Noah -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?
This issue seems to hinge on what is a request, and when is a new response created. I hadn't realized these were in doubt. But in case it's helpful to anybody... A request comes in, and Pylons creates a global 'request' and 'response', and routes to the action. (These are global variables, but through the magic of StackedObjectProxy, they are local to the current request, thread, and application.) Normally the action method returns a string, and Pylons plugs it into the global response and sends it to the browser. 'render()' fills a template and returns a string, so this is still the normal case. The action can also change the response's status or headers; e.g., ``response.status = 401``. The action can also create its own Response object and return it, in which case it supercedes the global response object. When an action method calls another action method, it's still the same request, and the global 'request' and 'response' objects are the same. The second method can return a string, change the status or headers, or return a new Response object, as it wishes. The original action must pass the result of the second action through by returning it, or it will be lost. If you don't explicitly return a value, the default value is None as with all functions, and an empty page will be sent to the browser. Thus, there's no such thing in Pylons of transfering to another request -- or there is, depending on how you define a request. But in the code executed, what matters is the string returned by the original action and the final setting of the headers -- no matter which functions were called to produce this state. Calling 'redirect()' raises an HTTPRedirection that bypasses some of this processing, and the net result is that the 'response' status is changed and a Location: header added, so a redirect is sent to the browser. Alfredo Deza and I are updating the Pylons Execution Analysis. It's a bit inconsistent now because it's partway between Pylons 0.9.6 and Pylons 0.10, so don't trust it too closely, but the draft might give a bird's eye view of what's going on: http://bitbucket.org/sluggo/pylons-execution/src/tip/execution.rst -- Mike Orr sluggos...@gmail.com -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: Logging with multiple applications in one .ini file
Hi Jens, But I can't seem to get logging for the second application up and running. I have added a keys entry in the [loggers] section, and added a logger_ section for the second application, setting it to DEBUG level (as we are developing here). But when I do loging.getLogger(__name__) in one of the controllers, I only get a logger with sets WARNING level, so my normal log.debug and log.info statements are not going to the log file. It would probably be helpful if you pasted your logger sections. I know that I have personally had a lot of trouble getting multiple apps to work smoothly from a single config file. A few things I remember: - Some of the paster commands (e.g. shell ?) didn't work. - Unit tests seemed to always only use a single app -- whichever app was initialized first, I think. - There was other weirdness when I introduced concepts like pipeline and filter, which compounded these problems. Eventually, I moved to a model where I had different .ini files for each app which then pulled from a defaults.ini that had sections for each app. A little confusing when developing, but proved a lot simpler for deployment. Anyway, my suspicion is that since (IIRC) the logging config file is passed directly to logging.config.fileConfig() method, you cannot have different logging sections for your two different applications. Cheers, Hans -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
Re: slow import
On Sun, Dec 6, 2009 at 8:56 AM, Graham Higgins gjhigg...@gmail.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 6 Dec 2009, at 16:07, andres wrote: it seems like an unnecessary startup cost A purely personal perspective: I don't wish to appear discouraging but Pylons is not yet at 1.0 and I wouldn't want to see the dev team pressured to make optimizations which might later prove to be premature. Actually, a solution is already built in. More than half the Pylons code and Routes code is backward compatibility for deprecated features, and will be jettisoned in 1.0. The plan is to release 0.10 and 1.0 simultaneously, with 0.10 containing the compatibility code and 1.0 not. (Possibly 1.0 might not be ready by 0.10, but last I heard it was going to be.) Of course, much of the Pylons code is in the dependencies, which we don't have direct control over. But a quick summary of my package directories shows Pylons at 632 KB (excluding the docs directory), and the largest dependency being Paste at 3.6 MB. Python does have a significant amount of overhead loading the standard libraries at startup. This has been noted a few times over the years, but there's nothing we can do about it. But the Python developers are moving from a feature phase to an optimization phase, so this may be addressed in the next year or two. -- Mike Orr sluggos...@gmail.com -- You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-disc...@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.