diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..183e16f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,9 @@
+# FreeBSD Ports Makefile For 'pystat'
+# $Id: Makefile,v 1.100 2010/02/18 00:58:55 tundra Exp $
+
+all: # Just need to create the compiled image
+	@python -OOOO -c"import py_compile;py_compile.compile('pystat.py')"
+
+install:
+	${BSD_INSTALL_SCRIPT} pystat.py   ${PREFIX}/bin
+	${BSD_INSTALL_MAN}    pystat.1.gz ${PREFIX}/man/man1
diff --git a/READ-1ST.txt b/READ-1ST.txt
new file mode 100644
index 0000000..ecb92fc
--- /dev/null
+++ b/READ-1ST.txt
@@ -0,0 +1,2 @@
+$Id: READ-1ST.txt,v 1.100 2010/02/18 00:58:55 tundra Exp $
+
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/WHATSNEW.txt
@@ -0,0 +1 @@
+
diff --git a/makefile b/makefile
new file mode 100644
index 0000000..b37d044
--- /dev/null
+++ b/makefile
@@ -0,0 +1,141 @@
+# Build a release of 'pystat' using 'make'
+# $Id: makefile,v 1.100 2010/02/18 00:58:55 tundra Exp $
+# Requires a modern 'make' like GNU.
+
+
+# Uncomment One Of The Following For Early Releases
+
+#EARLY     = Alpha
+#EARLY     = Beta
+#EARLY     = RC1
+
+#####
+# Definitions Relevant To This Program
+#####
+
+PROGNAME  = pystat
+
+PORTNAME  = ${PROGNAME}
+
+PROGFILES = ${PROGNAME}.py
+
+DOCSOURCES = ${PROGNAME}.rst ${PROGNAME}-license.txt  CHANGELOG.txt Makefile \
+             READ-1ST.txt WHATSNEW.txt setup.py
+
+DOCFILES  = ${PROGNAME}.html ${PROGNAME}.pdf ${PROGNAME}.ps ${PROGNAME}.py.ps \
+            ${PROGNAME}.1.gz
+
+
+#####
+# Nothing Should Need To Change Below This Line
+#####
+
+
+DIR          = ${PORTNAME}-${VERSION}
+HEADER1      = "WHATSNEW For '${PROGNAME}' ${VERSION}    (`date`)"
+HEADER2      = "----------------------------------------------------------------------"
+TARBALL      = ${DIR}.tar.gz
+TMPFILE      = tmpfile
+VERSION      = $(shell rlog -v ${PROGNAME}.py | cut -f 2 -d " ")${EARLY}
+
+
+#####
+# Pattern Rules
+#####
+
+###
+# 'troff' Sources
+###
+
+# %.1.gz: %.1
+#	@gzip $<
+
+# %.1: %.txt
+#	@cp $< $@
+
+# %.txt: %.1
+#	@groff -man -Tascii $< | col -xb >$@
+
+# %.html: %.1
+#	@manserver $< >$@
+
+# %.ps: %.1
+#	@groff -man -Tps $< >$@
+
+###
+# Restructured Text Sources
+###
+
+%.html: %.rst
+	rst2html $< >$@
+
+%.1: %.html
+	w3m -dump $< >$@
+
+%.1.gz: %.1
+	@gzip $<
+
+%.latex: %.rst
+	rst2latex $< >$@
+
+###
+# LaTeX, PostScript, & PDF
+###
+
+%.dvi: %.latex
+	latex $<
+
+%.pdf: %.dvi
+	@dvipdf $< $@
+
+%.ps: %.dvi
+	dvips $< >$@
+
+###
+# Pretty Print Programs & Scripts
+###
+
+%.py.ps: %.py
+	@enscript -Epython -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
+
+%.sh.ps: %
+	@enscript -Esh -fCourier8 -i2 -L77 -C --mark-wrapped-lines=arrow -p$@ $<
+
+
+#####
+# Actual Build Rules
+#####
+
+
+CHANGELOG.txt:
+	@rlog ${PROGNAME}.py >CHANGELOG.txt
+
+WHATSNEW.txt:
+	@co -l $@
+	@printf "%s\n%s\n\n" ${HEADER1} ${HEADER2} | cat - $@ >${TMPFILE}
+	@mv ${TMPFILE} $@
+	@emacs $@
+	@ci -m${HEADER1} $@
+	@co $@
+
+clean:
+	@rm -rf  ${DIR} ${DOCFILES} ${PORTNAME} ${PROGFILES} ${DOCSOURCES} ${TARBALL} ${TMPFILE} \
+             *.1 *.aux *.dvi *.log *.out *.core *~
+
+docs: ${DOCSOURCES} ${DOCFILES} 
+	@chmod 644 ${DOCFILES} ${DOCSOURCES}
+	@chmod 644 *.gz *.txt
+	@flip -u *txt
+
+progs: ${PROGFILES}
+	chmod 755 ${PROGFILES}
+
+release: docs progs
+	@mkdir ${DIR}
+	@for f in `for f in  ${DOCFILES} ${PROGFILES} ${DOCSOURCES};do echo $$f;done | sort`; do mv -v $$f ${DIR};done
+	@tar -czvf ${TARBALL} ${DIR}
+	@rm -rf ${DIR}
+	@mv ${DIR}.tar.gz Releases
+
+version:
+	@echo ${VERSION}
diff --git a/pystat-license.txt b/pystat-license.txt
new file mode 100644
index 0000000..cfd6d28
--- /dev/null
+++ b/pystat-license.txt
@@ -0,0 +1,106 @@
+$Id: pystat-license.txt,v 1.100 2010/02/18 00:58:55 tundra Exp $
+
+In order to use, study, modify, or copy 'pystat', you must read
+and agree to all the licensing terms below.  If you do not agree with
+or do not understand *ANYTHING* you see in this document, you are NOT
+granted a license to use, study, modify, or copy 'pystat'.  By
+using, studying, modifying, or copying 'pystat', you are agreeing
+to all the terms of the 'pystat' LICENSE below in their entirety.
+
+
+                        'pystat' LICENSE AGREEMENT
+
+
+1) DEFINITIONS
+
+Throughout this Agreement, the term 'pystat' is used to mean:
+
+Anything included in the 'pystat' software distribution package
+from TundraWare Inc.  This includes scripts, programs, documentation,
+license text and all other files provided in that original software
+distribution package.
+
+Throughout this Agreement the term "User" is used to mean any person
+who is enagaged in any of the following activities:
+
+   a) Uses any files found in the 'pystat' software distribution
+      in any way.
+
+   b) Reads the 'pystat' documentation.
+
+   c) Reads or studies the 'pystat' program source code or
+      supporting files.
+
+   d) Makes use of any part of the 'pystat' software distribution
+      for any purpose.
+
+   e) Duplicates and/or distributes the 'pystat' software distribution.
+
+
+2) OWNERSHIP
+
+'pystat' Is Copyright (c) 2010 TundraWare Inc. All Rights Reserved.
+
+
+3) TERMS
+
+Permission is hereby granted to the User for the duplication and use
+of 'pystat' so long as ALL the following conditions are met:
+
+    a) There is no license fee for PERSONAL NON-COMMERCIAL use of
+       'pystat'.  This means use by an individual for personal
+       applications only, with no remuneration of any kind, direct or
+       indirect, from the use of 'pystat'.  Voluntary donations
+       from such users are accepted and encouraged.  A donation of
+       $0 US per user is recommended.  Information on how to
+       contribute can be obtained by contacting
+       pystat@tundraware.com.
+
+       Use of 'pystat' in ANY OTHER SITUATION, including
+       for-profit organizations, non-profit organizations,
+       educational institutions, and government organizations,
+       requires payment of a licensing fee.  Contact
+       pystat@tundraware.com for current pricing information.
+
+
+    b) The User of 'pystat' understands and agrees that this is
+       EXPERIMENTAL SOFTWARE which is provided "AS-IS" with no
+       warranties expressed or implied by TundraWare Inc.
+
+    c) The User acknowledges 'pystat' has NOT been tested for:
+
+       i)   Correct operation 
+
+       ii)  Freedom from unintended consequences
+
+       iii) Any operation or condition which might cause damage,
+            compromise, or disruption to the User's or other:
+            hardware, software, networks, or data, or which might
+            cause any breach of system security of such systems,
+            software, and networks.
+
+     d) By using 'pystat' in any way, the User does so at their
+        own risk and agrees to hold TundraWare Inc.  harmless for any
+        damage, direct or indirect, that this software may or does
+        cause to the User's computational environment, including, but
+        not limited to, the User's or others' hardware, software,
+        network, or data.  THE USER FURTHER AGREES TO HOLD TUNDRAWARE
+        INC. HARMLESS FOR ANY ECONOMIC DAMAGE OR ANY OTHER ADVERSE
+        CONSEQUENCE, DIRECT OR INDIRECT, CAUSED BY THE USE OF
+        'pystat'.
+
+     e) If duplicated and/or distributed, no fee beyond reasonable
+        duplication charges may be charged for 'pystat'.  No
+        commercial use of 'pystat' which involves any
+        remuneration beyond these duplication charges is permitted.
+
+     f) Any distributed copies of 'pystat' must include all the
+        originally provided software, documentation, and licensing
+        information in their original distribution format and
+        packaging without any modifications.
+
+By using any part or all of 'pystat', you are agreeing to be
+bound by this license.
+
+IF YOU DO NOT UNDERSTAND, OR CANNOT ABIDE BY ANY OF THESE CONDITIONS,
+DO NOT USE 'pystat'.
diff --git a/pystat.py b/pystat.py
new file mode 100755
index 0000000..f365348
--- /dev/null
+++ b/pystat.py
@@ -0,0 +1,257 @@
+#!/usr/bin/env python
+# pystat.py
+# Copyright (c) 2010 TundraWare Inc.
+# For Updates See:  http://www.tundraware.com/Software/pystat
+
+# Program Information
+
+PROGNAME = "pystat"
+BASENAME = PROGNAME.split(".py")[0]
+PROGENV  = BASENAME.upper()
+RCSID = "$Id: pystat.py,v 1.100 2010/02/18 00:58:55 tundra Exp $"
+VERSION = RCSID.split()[2]
+
+# Copyright Information
+
+CPRT         = "(c)"
+DATE         = "2010"
+OWNER        = "TundraWare Inc."
+RIGHTS       = "All Rights Reserved."
+COPYRIGHT    = "Copyright %s %s, %s  %s" % (CPRT, DATE, OWNER, RIGHTS)
+
+
+PROGVER      = PROGNAME + " " + VERSION + (" - %s" % COPYRIGHT)
+HOMEPAGE     = "http://www.tundraware.com/Software/%s\n" % BASENAME
+
+
+#----------------------------------------------------------#
+#            Variables User Might Change                   #
+#----------------------------------------------------------#
+
+
+
+#------------------- Nothing Below Here Should Need Changing ------------------#
+
+
+#----------------------------------------------------------#
+#                       Imports                            #
+#----------------------------------------------------------#
+
+import getopt
+import os
+import sys
+import tconfpy
+
+
+#----------------------------------------------------------#
+#                 Aliases & Redefinitions                  #
+#----------------------------------------------------------#
+
+
+
+#----------------------------------------------------------#
+#                Constants & Literals                      #
+#----------------------------------------------------------#
+
+
+
+#####
+# Constants
+#####
+
+
+
+#####
+# Literals
+#####
+
+
+
+#----------------------------------------------------------#
+#              Prompts, & Application Strings              #
+#----------------------------------------------------------#
+
+
+#####
+# Debug Messages
+#####
+
+#####
+# Debug Messages
+#####
+
+DEBUGFLAG     =   "-d"
+dDEBUG        =   "DEBUG"
+dPROGENV      =   "$" + PROGENV
+
+#####
+# Error Messages
+#####
+
+eBADARG  =  "Invalid command line: %s!"
+eERROR   =  "ERROR"
+
+
+#####
+# Informational Messages
+#####
+
+
+#####
+# Usage Prompts
+#####
+
+uTable = [PROGVER,
+          HOMEPAGE,
+          "usage:  " + PROGNAME + " [-fhv]",
+          "   where,",
+          "          -f file  configuration file to use",
+          "          -h       print this help information",
+          "          -v       print detailed version information",
+          ]
+
+
+#----------------------------------------------------------#
+#          Global Variables & Data Structures              #
+#----------------------------------------------------------#
+
+CFGFILE = os.path.join(os.getenv("HOME"), "." + PROGNAME)  # conf file
+
+
+#--------------------------- Code Begins Here ---------------------------------#
+
+
+#----------------------------------------------------------#
+#             Object Base Class Definitions                #
+#----------------------------------------------------------#
+
+    
+
+#----------------------------------------------------------#
+#             Supporting Function Definitions              #
+#----------------------------------------------------------#
+
+
+def ColumnPad(list, padchar=" ", padwidth=20):
+
+    retval = ""
+    for l in list:
+        l = str(l)
+        retval += l + ((padwidth - len(l)) * padchar)
+
+    return retval.strip()
+
+# End of 'ColumnPad()'
+
+
+#####
+# Print A Debug Message
+#####
+
+def DebugMsg(msg):
+    PrintStderr(PROGNAME + " " + dDEBUG + ": " + msg)
+
+# End of 'DebugMsg()'
+
+
+#####
+# Dump The State Of The Program
+#####
+
+def DumpState():
+
+    # Dump the command line
+    DebugMsg(ColumnPad(["Command Line", sys.argv]))
+
+    # Names of all the state variables we want dumped
+    state = [
+            ]
+
+    for k in state:
+        DebugMsg(ColumnPad([k, eval(k)]))
+
+# End of 'DumpState()'
+
+
+#####
+# Print An Error Message
+#####
+
+def ErrorMsg(emsg):
+    PrintStderr(PROGNAME + " " + eERROR + ": " + emsg)
+
+# End of 'ErrorMsg()'
+
+
+#####
+# Print To stderr
+#####
+
+def PrintStderr(msg, trailing="\n"):
+    sys.stderr.write(msg + trailing)
+
+# End of 'PrintStderr()'
+
+
+#####
+# Print To stdout
+#####
+
+def PrintStdout(msg, trailing="\n"):
+    sys.stdout.write(msg + trailing)
+
+# End of 'PrintStdout'
+
+
+#####
+# Print Usage Information
+#####
+
+def Usage():
+    for line in uTable:
+        PrintStdout(line)
+
+# End of 'Usage()'
+
+
+#----------------------------------------------------------#
+#                    Program Entry Point                   #
+#----------------------------------------------------------#
+
+# Command line processing - Process any options set in the
+# environment first, and then those given on the command line
+
+OPTIONS = sys.argv[1:]
+envopt = os.getenv(PROGENV)
+if envopt:
+    OPTIONS = envopt.split() + OPTIONS
+
+try:
+    opts, args = getopt.getopt(OPTIONS, '-f:hv')
+except getopt.GetoptError as e:
+    ErrorMsg(eBADARG % e.args[0])
+    sys.exit(1)
+
+for opt, val in opts:
+    if opt == "-f":
+        CFGFILE=val
+    if opt == "-h":
+        Usage()
+        sys.exit(0)
+    if opt == "-v":
+        print RCSID
+        sys.exit(0)
+
+# Process the configuration file
+
+retval = tconfpy.ParseConfig(CFGFILE, CallingProgram="%s %s " % (PROGNAME, VERSION))
+
+# Print any errors or warning generated by the parse
+
+for x in (retval.ErrMsgs, retval.WarnMsgs):
+    for y in x:
+        print y
+
+# If there were any errors, we're done
+if retval.ErrMsgs:
+    sys.exit(0)
diff --git a/pystat.rst b/pystat.rst
new file mode 100644
index 0000000..12c59bd
--- /dev/null
+++ b/pystat.rst
@@ -0,0 +1,63 @@
+NAME
+----
+
+**pystat** - Short Description
+
+SYNOPSIS
+--------
+
+pystat.py [-hv]
+
+DESCRIPTION
+-----------
+
+Long description
+
+OPTIONS
+-------
+
+  -h  Print help information.
+  -v  Print detailed program version information and exit.
+
+OTHER
+-----
+
+You must have a reasonably current version of Python installed.
+
+BUGS AND MISFEATURES
+--------------------
+
+None known as of this release.
+
+COPYRIGHT AND LICENSING
+-----------------------
+
+**pystat** is Copyright (c) 2010 TundraWare Inc.
+
+For terms of use, see the ``pystat-license.txt`` file in the
+program distribution.  If you install **pystat** on a FreeBSD
+system using the 'ports' mechanism, you will also find this file in
+``/usr/local/share/doc/pystat``.
+
+AUTHOR
+------
+
+::
+
+   Tim Daneliuk
+   pystat@tundraware.com
+
+
+DOCUMENT REVISION INFORMATION
+-----------------------------
+
+::
+
+  $Id: pystat.rst,v 1.100 2010/02/18 00:58:55 tundra Exp $
+
+You can find the latest version of this program at:
+
+  http://www.tundraware.com/Software/pystat
+
+
+
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..fa58677
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,6 @@
+# Install pystat as a Python Module
+# Copyright (c) 2010, TundraWare Inc., All Rights Reserved
+# $Id: setup.py,v 1.100 2010/02/18 00:58:55 tundra Exp $
+
+from distutils.core import setup
+setup(name="pystat", py_modules=["pystat"])