DMelt:General/Useful Utilities

Limitted access. First login to DataMelt if you are a full DataMelt member. Then login to HandWiki as a user.

Useful utilities

If you use specific language with DataMelt, such as Jython, you can use the full set of Python commands. However, DataMelt has a number of useful utilities implemented in Java which can be rather handy and can be called from Java, Jython, Groovy and JRuby using exactly the same options.

To make our example short, we will use Jython coding to access these Java tools.

You can download a file from the web using the class  jhplot.Web. Here is an example:

http='http://datamelt.org/examples/data/'
print Web.get(http+"mnist.zip")

The same class allows to use external jar files from URL. You can use this method:

print Web.load("url to a jar file")

It does the following: It downloads a jar file from the given URL, save it to the directory "lib/user" inside the installation path of DataMelt, and load this jar file so you can imidiately start using it. Here is an example:

# This example shows how to download a jar library,

from jhplot import Web

url="http://central.maven.org/maven2/it/unimi/dsi/fastutil/8.2.2/fastutil-8.2.2.jar"

from it.unimi.dsi.fastutil.longs import Long2IntAVLTreeMap
m =Long2IntAVLTreeMap()
# Now we can easily modify and access its content
m.put(1, 5)
m.put(2, 6)
m.put(3, 7)
m.put(1000000000L, 10)
print m

It does the following: It downloads Fastutil java library from [1], load dynamically to the Java class path (at runtime), and executes a class from this library.

Zipping and unziping files

You can unzip file in the current foulder (or any directory) using  jhplot.IO

print IO.unzip("mnist.zip")

The print command prints the status of the download. You can remove "print", and the command will unzip the file quietly.

There is a similar class  tig.Zip whoch can zip and unzip files.

Working with files

There is another useful class  tig.Files which can do some file manipulations. The Java class  jhplot.utils.FileList can list all files in all sub-directories of a given directory. The output is an array with file names.

Showing colors and fonts

The Java class  jhplot.utils.ShowColors shows a dialog with available colors.

Similarly, you can look at available fonts in your system using  jhplot.utils.ShowFonts