PySpeed

From Python
(Difference between revisions)
Jump to: navigation, search
(Reverting to last version not containing links to ijilotefuru.co.cc)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
>= PySpeed - flexible progress bars for python =
+
= PySpeed - flexible progress bars for python =
  
 
This is a temporary wiki for the [https://launchpad.net/pyspeed PySpeed project].
 
This is a temporary wiki for the [https://launchpad.net/pyspeed PySpeed project].
Line 8: Line 8:
 
You are free to use this page for any purpose related to the project.
 
You are free to use this page for any purpose related to the project.
  
[http://pypi.python.org/pypi/PySpeed/ PySpeed] is now available on the [http://pypi.python.org/pypi/PySpeed/ Python Package Index]<br>
+
[http://pypi.python.org/pypi/PySpeed/ PySpeed] is now available on the [http://pypi.python.org/pypi/PySpeed/ Python Package Index]<br>
 
If you have [http://pypi.python.org/pypi/setuptools setuptools] installed, just type
 
If you have [http://pypi.python.org/pypi/setuptools setuptools] installed, just type
  
Line 27: Line 27:
 
Was produced by the following code:
 
Was produced by the following code:
  
&lt;syntaxhighlight line lang=&quot;python&quot;&gt;
+
<syntaxhighlight line lang="python">
 
import speed
 
import speed
  
Line 33: Line 33:
 
     for j in speed.gprogress(xrange(5000000)): pass
 
     for j in speed.gprogress(xrange(5000000)): pass
  
&lt;/syntaxhighlight&gt;
+
</syntaxhighlight>
  
 
== Help required ==
 
== Help required ==
Line 40: Line 40:
 
* Documentation (basic uses is understandable from screenshots, but there are several undocumented features).
 
* Documentation (basic uses is understandable from screenshots, but there are several undocumented features).
 
* Testing on Windows (note that currently the GTK interface is [[#Threading model|not expected]] to work well there).
 
* Testing on Windows (note that currently the GTK interface is [[#Threading model|not expected]] to work well there).
*: (in particular, need to make &lt;code&gt;bprogress&lt;/code&gt; (the Frozen Bubble progress bar) work there :-) )
+
*: (in particular, need to make <code>bprogress</code> (the Frozen Bubble progress bar) work there :-) )
 
* Support other GUI toolkits (add wprogress(), kprogress(), tkprogress() ...)
 
* Support other GUI toolkits (add wprogress(), kprogress(), tkprogress() ...)
  
Line 57: Line 57:
 
=== speedConfig interface ===
 
=== speedConfig interface ===
  
The &lt;code&gt;speedConfig() / speed() / xrange()&lt;/code&gt; interface is untested.
+
The <code>speedConfig() / speed() / xrange()</code> interface is untested.
Known problem: It seems that if you have active textual iteration contexts, you cannot &lt;code&gt;speedConfig(vis='graph')&lt;/code&gt; (and vice versa).
+
Known problem: It seems that if you have active textual iteration contexts, you cannot <code>speedConfig(vis='graph')</code> (and vice versa).
 
This is due to some problems related to the usage of weakref proxies.
 
This is due to some problems related to the usage of weakref proxies.
  
Line 64: Line 64:
  
 
I have some thoughts in this direction, but no time to implement. Contact me for details.
 
I have some thoughts in this direction, but no time to implement. Contact me for details.
 
----
 
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 
----
 
=[http://ijilotefuru.co.cc Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page]=
 
----
 
=[http://ijilotefuru.co.cc CLICK HERE]=
 
----
 
</div>
 

Revision as of 12:30, 18 November 2010

PySpeed - flexible progress bars for python

This is a temporary wiki for the PySpeed project.

It is mainly here because I did not find a proper place to put screenshots :-)

You are free to use this page for any purpose related to the project.

PySpeed is now available on the Python Package Index
If you have setuptools installed, just type

easy_install PySpeed

And type the examples below in an interactive interpreter...

Screenshots

Textual progress bar (in IPython)

Ipython speed.png

Graphical progress bar (nested)

Gtk speed.png

Was produced by the following code:

  1. import speed
  2.  
  3. for i in speed.gprogress(xrange(5)):
  4.     for j in speed.gprogress(xrange(5000000)): pass

Help required

  • Make a nice logo (flying snake? Foot with wings?)
  • Documentation (basic uses is understandable from screenshots, but there are several undocumented features).
  • Testing on Windows (note that currently the GTK interface is not expected to work well there).
    (in particular, need to make bprogress (the Frozen Bubble progress bar) work there :-) )
  • Support other GUI toolkits (add wprogress(), kprogress(), tkprogress() ...)

Known Issues

Threading model

Currently, PySpeed targets usage in interactive interprepters, and in non-GUI scripts.

The GTK interface is threaded, and might not work in programs that use GTK GUI.

AFAIK, it might not work with Windows GTK as well.

Instead of running the GTK mainloop in a separate thread, we should probably explicitly poll the GTK queue at reasonable intervals.

speedConfig interface

The speedConfig() / speed() / xrange() interface is untested. Known problem: It seems that if you have active textual iteration contexts, you cannot speedConfig(vis='graph') (and vice versa). This is due to some problems related to the usage of weakref proxies.

Support for multiple, named, windows

I have some thoughts in this direction, but no time to implement. Contact me for details.

Personal tools