# Python Registry -*- sh -*-
# This default registry sets many common options to their default values
# All of these settings could be erased with no change in behavior
#
# Definitive descriptions of supported keys and values is in the javadoc 
# for org.python.core.RegistryKey
#

# This is how Jim sets his path on his Windows development machine
#python.path=.;c:\\Jython\\Lib;d:\\Python-1.5.2\\Lib
# This is how Barry sets his path on his Unix development machine
#python.path = /home/bwarsaw/projects/python/Lib
# This is how Finn  sets his path on his windows development machine
#python.path = d:\\python20\\lib

# Set the directory to use for caches (currently just package information)
#   This directory should be writable by the user. If this is an absolute path it is used as given,
#   otherwise it is interpreted relative to the current working directory (at initialisation).
#python.cachedir = .jython_cache

# Setting this property to true disables the package scan for the cachedir.
# Please be aware that disabling this will break importing * from java packages
#python.cachedir.skip = false

# Properties to check for initializing and updating the package cache
# Values shown here are those hard-coded in Jython's cache manager.

#   Treat JARs on the classpath and (up to Java 8) in the JRE as a source of Python packages.
#python.packages.paths = java.class.path, sun.boot.class.path   # up to Java 8
#python.packages.paths = java.class.path                        # from Java 9
#   Treat installed optional (Java) packages as source of Python packages (before Java 9)
#python.packages.directories = java.ext.dirs    # up to Java 8
#python.packages.directories                    # undefined from Java 9


# DEPRECATED way to set the verbosity of messages output by Jython. If
# specified, "python.verbose" will set logging level for "org.python" when
# the runtime is initialised. It is better to use java.util.logging
# preferences (and the -v option) which work from the start of execution.
#python.verbose = message

# Jython ships with a JLine console (http://jline.sourceforge.net/) out of the
# box. This is selected by default in the Jython command-line application
# (org.python.util.jython) if you do not define python.console to be another
# class on the command line. Alternatively, you could set python.console here,
# but be aware that this will also affect the console in applications that
# embed a PythonInterpreter, or use Jython as a JSR-223 script engine.
#python.console=org.python.util.JLineConsole
# To activate  the featureless Jython console explicitly, choose:
#python.console=org.python.core.PlainConsole
# You may also set this to the name of a different console class in
# your classpath that extends PlainConsole. Note that
# org.python.util.ReadlineConsole has been removed in 2.7.

# Setting this to a valid (Java) codec name will cause the console to use a
# different encoding when reading commands from the console.
#python.console.encoding = cp850

# Setting this to false will allow Jython to provide access to
# non-public fields, methods, and constructors of Java objects.
python.security.respectJavaAccessibility = true

# Setting this to true will force Jython will use the first module
# found on sys.path where java File.isFile() returns true.
# Setting this to true has no effect on unix-type filesystems. 
# On Windows/HPS+ systems, setting it to true will enable Jython-2.0 
# behaviour.
python.options.caseok = false

# Setting this non-empty will drop the interpreter into an interactive session at the end of
# execution, like adding the -i flag (roughly) or setting the environment variable PYTHONINSPECT
# during execution.
#python.inspect = true

# Setting this to a file name will cause that file to be run at the start of each interactive
# session (but not when dropping in with the -i flag in after a script has run).
#python.startup = jython-startup.py

# Use this registry entry to control the list of builtin modules; you
# can add, remove, or override builtin modules.  The value for this
# registry key is a comma separated list of module entries, each entry 
# of which has the following allowable forms:
#
# name
#     The module name is `name' and the class name is
#     org.python.modules.name
#
# name:class
#     The module name is `name' and the class name is `class' where
#     class must be a fully qualified Java class name
#
# name:null
#     The module `name' is removed from the list of builtin modules
#
# A good example would be to use a jni version of os for more
# functionality by having an entry such as os:com.foo.jni.os
#python.modules.builtin = whatever

# This registry entry controls the behaviour of the SRE_STATE code point cache.
# For the complete set of values that can be set here see:
#   http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/cache/CacheBuilderSpec.html
# Typically you will want to set weakKeys so as to perform object identity
# comparisons rather than using equals(). Using weakKeys also enables entries
# to be removed when the underlying key is garbage collected.
#
# Values that could be useful to tweak are:
# - concurrencyLevel: this is a hint to the cache as to the level of partitioning to
#   use for the intenal map and affects the number of concurrent *write* operations
# - expireAfterAccess: constrains the size of the cache and the order
#   in which cache entries are evicted. The current value is chosen somewhat
#   arbitrarily so tweak as required.
# - maximumWeight: weighting is based on the length of the int[] returned from
#   PyString.toCodePoints(). As such this setting contrains the amount of memory
#   that the cache will consume. The current value is 10MB.
#python.sre.cachespec = weakKeys,concurrencyLevel=4,maximumWeight=2621440,expireAfterAccess=30s
