debian/0000755000000000000000000000000011571307235007172 5ustar debian/changelog0000644000000000000000000000370311571300533011041 0ustar pyevolve (0.6~rc1+svn398+dfsg-2) unstable; urgency=low [ Jakub Wilk ] * Symlink jquery.js into the correct directory. Closes: #627359 [ Christian Kastner ] * debian/svn-get-orig.sh: - Added this script which creates an upstream tarball from an SVN revision * debian/rules: - Re-added get-orig-source target (via svn-get-orig.sh above) [ Yaroslav Halchenko ] * debian/control: - Added DM-Upload-Allowed -- Christian Kastner Wed, 01 Jun 2011 02:01:23 +0200 pyevolve (0.6~rc1+svn398+dfsg-1) unstable; urgency=low * Upstream: - Fast-forwarded one commit (to HEAD) so that the DFSG suffix can be changed to from .dfsg to +dfsg, thereby resolving a lintian warning. * debian/control: - Bumped Standards-Version to 3.9.2 (changes required) * debian/copyright: - Include the full text of the BSD-3-clause license - Refreshed DEP5-format to r173 - Added Disclaimer for the modifications made during DFSG-cleaning * debian/dfsg.remove - Added dfsg.remove, which contains a list of file patterns used during the DFSG-cleaning process * debian/rules: - Removed broken get-orig-source target. It will be re-implemented in the next upload using a generic helper script, which is currently under development * debian/watch: - Rewrote versionmangle logic. Release qualifiers (eg: "beta") are now uversionmangle; tags such as +dfsg continue to be dversionmangled * debian/README: - Split into package-specific READMEs for python-pyevolve and python-pyevolve-doc -- Christian Kastner Thu, 07 Apr 2011 23:32:38 +0200 pyevolve (0.6~rc1+svn397.dfsg-1) unstable; urgency=low * Initial release (Closes: #580924) * debian/patches: - 0001-Use-documentation-template-from-0.5 - 0002-Fix-broken-example-12 * Upload sponsored by Yaroslav Halchenko -- Christian Kastner Wed, 26 May 2010 22:32:46 +0200 debian/compat0000644000000000000000000000000211571300533010362 0ustar 7 debian/control0000644000000000000000000000371211571300533010572 0ustar Source: pyevolve Section: python Priority: optional Maintainer: Christian Kastner DM-Upload-Allowed: yes Build-Depends: debhelper (>= 7.4.3), python-all (>= 2.5), python-support (>= 0.90), python-setuptools, python-sphinx, python-matplotlib (>= 0.98.5), python-tk, python-numpy, python-pydot Standards-Version: 3.9.2 Homepage: http://pyevolve.sourceforge.net Vcs-Git: git://scm.kvr.at/git/pkg-pyevolve.git Vcs-Browser: http://scm.kvr.at/git/?p=pkg-pyevolve.git;a=summary Package: python-pyevolve Architecture: all Depends: ${python:Depends}, ${misc:Depends} Recommends: python-pyevolve-doc, python-matplotlib (>= 0.98.5), python-tk, python-numpy, python-pydot Suggests: python-visual, python-mysqldb Description: Complete genetic algorithm framework Pyevolve was developed to be a complete genetic algorithm framework written in pure Python. It provides an easy-to-use API, implementing the most common features of GA, including various selectors and scaling schemes. It is also easily extendable, allowing users to create new representations and genetic operators. Various methods of interactive and non-interactive visualization are supported. . This package contains the Python modules. Package: python-pyevolve-doc Section: doc Architecture: all Depends: ${misc:Depends} Recommends: python-pyevolve, libjs-jquery Description: Documentation for the Pyevolve genetic algorithm framework Pyevolve was developed to be a complete genetic algorithm framework written in pure Python. It provides an easy-to-use API, implementing the most common features of GA, including various selectors and scaling schemes. It is also easily extendable, allowing users to create new representations and genetic operators. Various methods of interactive and non-interactive visualization are supported. . This package contains the documentation for Pyevolve in HTML form, and some examples. debian/copyright0000644000000000000000000001130611571300533011120 0ustar Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=173 Upstream-Name: Pyevolve Upstream-Contact: Christian S. Perone Source: http://pyevolve.sourceforge.net Disclaimer: For DFSG purposes, some files have been removed from the upstream source, either because the licensing terms were unknown or too complicated. All of these files belonged exclusively to the sphinx template introduced in version 0.6 of Pyevolve. The sphinx template from version 0.5 is used here instead. . The file debian/dfsg.remove contains the list of shell wildcard patterns that were used to remove the files. Files: * Copyright: 2007-2010, Christian S. Perone License: Derived from Python-CNRI The Pyevolve license is based on the Python-CNRI license, which is GPL compatible license. See http://www.python.org/psf/license. . 1. This LICENSE AGREEMENT is between Christian S. Perone ("CSP"), and the Individual or Organization ("Licensee") accessing and otherwise using Pyevolve software in source or binary form and its associated documentation. . 2. Subject to the terms and conditions of this License Agreement, CSP hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Pyevolve 0.6 alone or in any derivative version, provided, however, that CSP's License Agreement and CSP's notice of copyright, i.e., "Copyright (c) 2007-2010 Christian S. Perone; All Rights Reserved" are retained in Pyevolve 0.6 alone or in any derivative version prepared by Licensee. . 3. In the event Licensee prepares a derivative work that is based on or incorporates Pyevolve 0.6 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Pyevolve 0.6. . 4. CSP is making Pyevolve 0.6 available to Licensee on an "AS IS" basis. CSP MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CSP MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF Pyevolve 0.6 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. . 5. CSP SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF Pyevolve 0.6 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING Pyevolve 0.6, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. . 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. . 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CSP and Licensee. This License Agreement does not grant permission to use CSP trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. . 8. By copying, installing or otherwise using Pyevolve 0.6, Licensee agrees to be bound by the terms and conditions of this License Agreement. Files: debian/* Copyright: 2010-2011, Christian Kastner License: BSD-3-clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . 3. Neither name of copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. debian/dfsg.remove0000644000000000000000000000062211571300533011326 0ustar docs/source/sphinx06_code_patch.py docs/source/.static/bottom.png docs/source/.static/*_icon.png docs/source/.static/fg.menu.* docs/source/.static/hover.png docs/source/.static/index_slide*.jpg docs/source/.static/jquery*.js docs/source/.static/nivo* docs/source/.static/theme docs/source/.static/tip_images docs/source/.static/tip_images docs/source/imgs/Thumbs.db docs/source/imgs/original/Thumbs.db debian/patches/0000755000000000000000000000000011571300533010613 5ustar debian/patches/0001-Use-documentation-template-from-0.5.patch0000644000000000000000000001770511571300533020701 0ustar From: Christian Kastner Date: Thu, 20 May 2010 21:14:01 +0200 Subject: [PATCH] Use documentation template from 0.5 The documentation template for 0.6 makes heavy use of Javascript, especially in menus. The template from 0.5 will generate a simpler form which should work fine with any viewer capable of rendering HTML. Upstream has confirmed that this approach is OK. Forwarded: no Last-Update: 2010-05-20 --- docs/source/.static/default_patch.css | 54 +------------ docs/source/.templates/layout.html | 144 ++++----------------------------- docs/source/conf.py | 1 + 3 files changed, 19 insertions(+), 180 deletions(-) diff --git a/docs/source/.static/default_patch.css b/docs/source/.static/default_patch.css index c199470..1e36cfb 100644 --- a/docs/source/.static/default_patch.css +++ b/docs/source/.static/default_patch.css @@ -5,63 +5,16 @@ body { font-family: sans-serif; font-size: 100%; - background-color: #11303D; + background-color: #11303d; color: #000; margin: 0; padding: 0; } -.ttip { - border-bottom: 1px dotted #BBBBBB; - color: #A64E15; - font-style: italic; - cursor: help; -} - -.tip { - font-size: 75%; - width: 212px; - padding-top: 30px; - display: none; - position: absolute; - background: transparent url(tip_images/tipTop.png) no-repeat top; -} - -.tipMid {background: transparent url(tip_images/tipMid.png) repeat-y; padding: 0 25px 20px 25px;} -.tipBtm {background: transparent url(tip_images/tipBtm.png) no-repeat bottom; height: 32px;} - /* :::: LAYOUT :::: */ -#contents { width:750px; font-family:Georgia, Times, serif; /* font-size:15px; */} -#contents ul { /*list-style: none; */} -#contents ul li { } -#contents ul li a { display:block; text-decoration:none; line-height:30px; - border-bottom-style:solid; border-bottom-width:1px; border-bottom-color:#CCCCCC; padding-left:5px; cursor:pointer; } -#contents ul li a:hover { color:#FFFFFF; background-image:url(hover.png); background-repeat:repeat-x; } -#contents ul li a strong { margin-right:5px; } - -#extraDiv2 { - background-image: url(bottom.png); - background-repeat: no-repeat; - background-position: right; - height: 60px; - width: 100%; - position: fixed; - bottom: 0px; - z-index: 5; -} - div.document { - background-color: #005C8A; /*#155146;*/ -} - -.inheritance { - border-style: hidden; -} - -.graphviz { - border-style: hidden; - text-align: center; + background-color: #1c4e63; } div.documentwrapper { @@ -95,7 +48,6 @@ div.clearer { div.footer { color: #fff; - background-color: #363636; width: 100%; padding: 9px 0 9px 0; text-align: center; @@ -108,7 +60,7 @@ div.footer a { } div.related { - background-color: #000000 /*#133f52*/; + background-color: #133f52; color: #fff; width: 100%; line-height: 30px; diff --git a/docs/source/.templates/layout.html b/docs/source/.templates/layout.html index 6880aef..fae9bec 100644 --- a/docs/source/.templates/layout.html +++ b/docs/source/.templates/layout.html @@ -1,129 +1,15 @@ -{% extends "!layout.html" %} - -{% block extrahead %} -{{ super() }} - - - - - - - - - - - - - - - - - - - - - -{% endblock %} - -{% block sidebarlogo %} -

- - - - - - - - - - - - -

-
-{% endblock %} - -{% block footer %} -{{ super() }} -
-{% endblock %} - -{% block rootrellink %} -{{ super() }} -
  • - -
  • - -{% endblock %} \ No newline at end of file +{% extends "!layout.html" %} + +{% block extrahead %} +{% endblock %} + +{% block sidebarlogo %} +{% endblock %} + +{% block document %} +{{ super() }} +{% endblock %} + +{% block sidebarsearch %} +{{ super() }} +{% endblock %} diff --git a/docs/source/conf.py b/docs/source/conf.py index 5c552b4..17b5062 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -160,6 +160,7 @@ html_static_path = ['.static'] # If true, the reST sources are included in the HTML build as _sources/. #html_copy_source = True +html_copy_source = False # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the -- debian/patches/0002-Fix-broken-example-12.patch0000644000000000000000000000277411571300533016102 0ustar From: Christian Kastner Date: Mon, 28 Jun 2010 15:17:11 +0200 Subject: [PATCH] Fix broken example 12 Psyco is not available on 64-bit systems, so we transfer a hard import requirement to a soft one. Also, the example attempts to use a directory which does not exist. Forwarded: yes Last-Update: 2010-06-28 --- examples/pyevolve_ex12_tsp.py | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/examples/pyevolve_ex12_tsp.py b/examples/pyevolve_ex12_tsp.py index 385bf46..2a4c5b8 100644 --- a/examples/pyevolve_ex12_tsp.py +++ b/examples/pyevolve_ex12_tsp.py @@ -5,9 +5,11 @@ from pyevolve import Crossovers from pyevolve import Consts import sys, random +import os random.seed(1024) from math import sqrt + PIL_SUPPORT = None try: @@ -104,6 +106,13 @@ def main_run(): genome.crossover.set(Crossovers.G1DListCrossoverEdge) genome.initializator.set(G1DListTSPInitializator) + if not os.path.isdir("tspimg"): + try: + os.mkdir("tspimg") + except: + print "Could not create directory tspimg" + return + # 3662.69 ga = GSimpleGA.GSimpleGA(genome) ga.setGenerations(200000) @@ -115,8 +124,13 @@ def main_run(): # This is to make a video ga.stepCallback.set(evolve_callback) # 21666.49 - import psyco - psyco.full() + + # Don't fail on 64-bit + try: + import psyco + psyco.full() + except ImportError: + pass ga.evolve(freq_stats=500) best = ga.bestIndividual() -- debian/patches/series0000644000000000000000000000012011571300533012021 0ustar 0001-Use-documentation-template-from-0.5.patch 0002-Fix-broken-example-12.patch debian/python-pyevolve-doc.README.Debian0000644000000000000000000000055611571300533015165 0ustar README for Pyevolve examples ---------------------------- To run the following examples, you must be in a directory for which you have write permission, eg: $ cd /tmp $ python /usr/shar/doc/python-pyevolve-doc/examples/pyevolve_ex1_simply.py This will store data in an sqlite database 'pyevolve.db'. You can then create various graphs with pyevolve-graph(1). debian/python-pyevolve-doc.doc-base0000644000000000000000000000053011571300533014514 0ustar Document: python-pyevolve-doc Title: Debian Pyevolve Manual Author: Christian S. Perone Abstract: This manual contains the API and usage documentation for the Pyevolve genetic algorithm framework. Section: Programming Format: HTML Index: /usr/share/doc/python-pyevolve-doc/html/index.html Files: /usr/share/doc/python-pyevolve-doc/html/*.html debian/python-pyevolve-doc.docs0000644000000000000000000000001211571300533013762 0ustar docs/html debian/python-pyevolve-doc.examples0000644000000000000000000000001611571300533014654 0ustar examples/*.py debian/python-pyevolve-doc.links0000644000000000000000000000013711571300533014162 0ustar usr/share/javascript/jquery/jquery.js usr/share/doc/python-pyevolve-doc/html/_static/jquery.js debian/python-pyevolve.README.Debian0000644000000000000000000000062711571300533014421 0ustar Pyevolve for Debian ------------------- NOTE: In Pyevolve 0.6, Interactive Mode is disabled by default on Linux systems. See the documentation for information on how to use Interactive Mode. For a good overview of Pyevolve's features and capabilities, see ACM SIGEVOlution Volume 4 Issue 1, available at http://www.sigevolution.org. -- Christian Kastner Sun, 27 Jun 2010 19:40:37 +0200 debian/python-pyevolve.manpages0000644000000000000000000000002611571300533014067 0ustar docs/pyevolve-graph.1 debian/pyversions0000644000000000000000000000000511571300533011323 0ustar 2.5- debian/rules0000755000000000000000000000313211571300533010243 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # For svn-orig-source.sh PKGDIR = $(dir $(firstword $(MAKEFILE_LIST))) UPNAME = $(shell dpkg-parsechangelog -l$(PKGDIR)/changelog | \ sed -nre 's,^Source:\s+(.*),\1,p') UPVER = $(shell dpkg-parsechangelog -l$(PKGDIR)/changelog | \ sed -nre 's,^Version:\s+(.*)\+svn([0-9]+)\+dfsg-.*,\1,p') SVNREV = $(shell dpkg-parsechangelog -l$(PKGDIR)/changelog | \ sed -nre 's,^Version:\s+(.*)\+svn([0-9]+)\+dfsg-.*,\2,p') SVNURL = https://pyevolve.svn.sourceforge.net/svnroot/pyevolve/trunk/ export UPNAME UPVER SVNURL SVNREV %: dh $@ # Override needed for docs and egg-info override_dh_auto_clean: dh_auto_clean rm -rf Pyevolve.egg-info rm -rf docs/html # Override needed for building documentation; jquery link override_dh_auto_build: dh_auto_build cd docs && sphinx-build -E -a -b html ./source ./html rm -rf docs/html/.buildinfo rm -rf docs/html/.doctrees rm -rf docs/html/_sources rm -f docs/html/objects.inv rm -f docs/html/_static/jquery.js # Override needed for multiple binary package; # script must be renamed, line endings converted to Unix override_dh_auto_install: dh_auto_install --destdir=debian/python-pyevolve tr -d '\r' < debian/python-pyevolve/usr/bin/pyevolve_graph.py \ > debian/python-pyevolve/usr/bin/pyevolve-graph rm -f debian/python-pyevolve/usr/bin/pyevolve_graph.py # Don't compress sphinx's javascript and Python example files override_dh_compress: dh_compress -X.js -X.py get-orig-source: sh $(PKGDIR)/svn-orig-source.sh debian/source/0000755000000000000000000000000011571300533010464 5ustar debian/source/format0000644000000000000000000000001411571300533011672 0ustar 3.0 (quilt) debian/svn-orig-source.sh0000755000000000000000000000174211571300533012571 0ustar #!/bin/sh set -e # Usage: set the following ENVVARs # UPNAME upstream source name # UPVER upstream version # SVNURL URL to svn repo # SVNREV svn revision workdir=`pwd` cleanfile=`dirname $0`/dfsg.remove if ! which svn >/dev/null then echo "Error: subversion must be installed for this to work" >&2 exit 1 fi for reqvar in UPNAME UPVER SVNURL SVNREV do if [ -z "`eval echo '$'$reqvar`" ] then echo "Error: \$$reqvar is not set" >&2 exit 1 fi done tmpdir=`mktemp -d` cd $tmpdir if ! svn export -q -r $SVNREV $SVNURL $UPNAME-$UPVER.orig then rm -rf $tmpdir exit 1 fi # Clean up a bit while read rmpattern do rm -rf $UPNAME-$UPVER.orig/$rmpattern done < $cleanfile if ! GZIP="-9" tar --owner=root --group=root --mode=a+rX \ -czf orig.tar.gz $UPNAME-$UPVER.orig then rm -rf $tmpdir exit 1 else mv orig.tar.gz $workdir/${UPNAME}_${UPVER}+svn${SVNREV}.orig.tar.gz fi rm -rf $tmpdir debian/watch0000644000000000000000000000022311571300533010212 0ustar version=3 opts=\ uversionmangle=s/([.0-9]+)(\D+)/$1~$2/,\ dversionmangle=s/\+svn\d+//;s/\+dfsg$// \ http://sf.net/pyevolve/Pyevolve-(.+)\.tar\.gz