From: Arnaud D. <ar...@gm...> - 2011-09-21 21:06:21
|
Hi all, I have been using CPython for about 10 years and this year I have become involved in a modest way in the development of an application for interactive geometry and algebra called GeoGebra (www.geogebra.org), which is written in Java At the moment, GeoGebra diagrams can be scripted using JavaScript and I am trying to add the ability to use Python as a scripting language. I have a very rough proof of concept prototype which works but the jython.jar is 9.5MB and I won't be using most of the standard library. Is it possible to slim down jython.jar by shedding most of the modules in the standard library? If yes, how difficult is it? This project is my first encounter with jython and I have only been coding in Java since July, so I guess I am quite a neophyte. Thanks, -- Arnaud |
From: Tony L. <tl...@tl...> - 2011-09-21 22:01:41
|
Hi Arnaud, if you're not using the modules in the 'Lib' directory, I've found you can simply delete Lib and Jython works fine. I'm not an expert, so someone on the list might point out a subtlety I've missed. Cheers, Tony. On 21 September 2011 22:06, Arnaud Delobelle <ar...@gm...> wrote: > Hi all, > > I have been using CPython for about 10 years and this year I have > become involved in a modest way in the development of an application > for interactive geometry and algebra called GeoGebra > (www.geogebra.org), which is written in Java > > At the moment, GeoGebra diagrams can be scripted using JavaScript and > I am trying to add the ability to use Python as a scripting language. > I have a very rough proof of concept prototype which works but the > jython.jar is 9.5MB and I won't be using most of the standard library. > > Is it possible to slim down jython.jar by shedding most of the modules > in the standard library? If yes, how difficult is it? This project > is my first encounter with jython and I have only been coding in Java > since July, so I guess I am quite a neophyte. > > Thanks, > > -- > Arnaud > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure contains a > definitive record of customers, application performance, security > threats, fraudulent activity and more. Splunk takes this data and makes > sense of it. Business sense. IT sense. Common sense. > http://p.sf.net/sfu/splunk-d2dcopy1 > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > |
From: Pierre T. <pie...@gm...> - 2011-09-22 01:55:59
|
2011/9/21 Arnaud Delobelle <ar...@gm...> > Is it possible to slim down jython.jar by shedding most of the modules > in the standard library? If yes, how difficult is it? This project > is my first encounter with jython and I have only been coding in Java > since July, so I guess I am quite a neophyte. > > Thanks, > > -- > Arnaud > > I suggest to replace the __import__ to log what is imported so you'll know what are your dependencies. It could be something like that: import __builtin__ # Keep the old importer: old_import = __builtin__.__import__ # New importer function: def log_import(name, globals={}, locals={}, fromlist=[], level=-1): print name print fromlist return old_import(name, globals, locals, fromlist, level) # Replace the importer: __builtin__.__import__ = log_import import sys Of course this is very primitive but I think you get the idea. Running the code at the beginning and it will log all your imports. Pierre Thibault Python Developer/Développeur Python Montréal, QC *pie...@gm...* |
From: Johannes B. <buc...@gm...> - 2011-09-22 11:17:47
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/22/2011 03:55 AM, Pierre Thibault wrote: > 2011/9/21 Arnaud Delobelle <ar...@gm... <mailto:ar...@gm...>> > > Is it possible to slim down jython.jar by shedding most of the modules > in the standard library? If yes, how difficult is it? This project > is my first encounter with jython and I have only been coding in Java > since July, so I guess I am quite a neophyte. > > I suggest to replace the __import__ to log what is imported so you'll > know what are your dependencies. The other approach is to extract the jar and run your application. Then delete all files whose access date wasn't modified (they were not used). In the jython installer, there is also a "bare install" option, which doesn't include the standard libraries. You could create a jar based on that. However, think about why you give your users python. One of the philosophies of python is that the batteries are included (standard libs, docs). Maybe that doesn't apply to your case, and you only want to give users the python syntax. Cheers, Johannes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEARECAAYFAk57GSkACgkQ7X1+MfqVcr0hkwCfW1hA7WmGxuwU7BHXr3Sv0yTT KwAAnjiFI7sMEeX90x0gG7+IREDhfWiP =ntW/ -----END PGP SIGNATURE----- |
From: Arnaud D. <ar...@gm...> - 2011-09-22 20:02:05
|
On 22 September 2011 12:16, Johannes Buchner <buc...@gm...> wrote: > On 09/22/2011 03:55 AM, Pierre Thibault wrote: >> 2011/9/21 Arnaud Delobelle <ar...@gm... <mailto:ar...@gm...>> >> >> Is it possible to slim down jython.jar by shedding most of the modules >> in the standard library? If yes, how difficult is it? This project >> is my first encounter with jython and I have only been coding in Java >> since July, so I guess I am quite a neophyte. >> >> I suggest to replace the __import__ to log what is imported so you'll >> know what are your dependencies. > > The other approach is to extract the jar and run your application. > Then delete all files whose access date wasn't modified (they were not > used). These are both good ideas. Thank you. [...] > However, think about why you give your users python. One of the > philosophies of python is that the batteries are included (standard > libs, docs). Maybe that doesn't apply to your case, and you only want to > give users the python syntax. Yes, this is strictly for scripting interactive geometric diagrams so users will definitely not need the great majority of the standard library. Also, size is an important factor as diagrams are often viewed in a java applet. -- Arnaud |