From 6f8c36023969b06727839a4ed86b3832dac0ad46 Mon Sep 17 00:00:00 2001 From: Catherine Devlin Date: Wed, 20 Mar 2013 12:55:52 -0400 Subject: [PATCH] Skeleton as created by modern-package-template --- HACKING.txt | 19 ++ MANIFEST.in | 2 + NEWS.txt | 23 ++ README.rst | 23 ++ bootstrap.py | 113 +++++++ buildout.cfg | 13 + ipython-sql.wpr | 13 + ipython-sql.wpu | 643 +++++++++++++++++++++++++++++++++++++ setup.py | 38 +++ src/ipythonsql/__init__.py | 4 + 10 files changed, 891 insertions(+) create mode 100644 HACKING.txt create mode 100644 MANIFEST.in create mode 100644 NEWS.txt create mode 100644 README.rst create mode 100644 bootstrap.py create mode 100644 buildout.cfg create mode 100644 ipython-sql.wpr create mode 100644 ipython-sql.wpu create mode 100644 setup.py create mode 100644 src/ipythonsql/__init__.py diff --git a/HACKING.txt b/HACKING.txt new file mode 100644 index 0000000..5a16441 --- /dev/null +++ b/HACKING.txt @@ -0,0 +1,19 @@ +Development setup +================= + +To create a buildout, + + $ python bootstrap.py + $ bin/buildout + +Release HOWTO +============= + +To make a release, + + 1) Update release date/version in NEWS.txt and setup.py + 2) Run 'python setup.py sdist' + 3) Test the generated source distribution in dist/ + 4) Upload to PyPI: 'python setup.py sdist register upload' + 5) Increase version in setup.py (for next release) + diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..1e7e568 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include README.rst +include NEWS.txt diff --git a/NEWS.txt b/NEWS.txt new file mode 100644 index 0000000..fc2f53e --- /dev/null +++ b/NEWS.txt @@ -0,0 +1,23 @@ +.. This is your project NEWS file which will contain the release notes. +.. Example: http://www.python.org/download/releases/2.6/NEWS.txt +.. The content of this file, along with README.rst, will appear in your +.. project's PyPI page. + +News +==== + +0.2a1 +----- + +*Release date: UNRELEASED* + +* Example news entry for the in-development version + + +0.1 +--- + +*Release date: 15-Mar-2010* + +* Example news entry for a released version + diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..53b946c --- /dev/null +++ b/README.rst @@ -0,0 +1,23 @@ +This file requires editing +========================== + +Note to the author: Please add something informative to this README *before* +releasing your software, as `a little documentation goes a long way`_. Both +README.rst (this file) and NEWS.txt (release notes) will be included in your +package metadata which gets displayed in the PyPI page for your project. + +You can take a look at the README.txt of other projects, such as repoze.bfg +(http://bfg.repoze.org/trac/browser/trunk/README.txt) for some ideas. + +.. _`a little documentation goes a long way`: http://www.martinaspeli.net/articles/a-little-documentation-goes-a-long-way + +Credits +------- + +- `Distribute`_ +- `Buildout`_ +- `modern-package-template`_ + +.. _Buildout: http://www.buildout.org/ +.. _Distribute: http://pypi.python.org/pypi/distribute +.. _`modern-package-template`: http://pypi.python.org/pypi/modern-package-template diff --git a/bootstrap.py b/bootstrap.py new file mode 100644 index 0000000..63aebb9 --- /dev/null +++ b/bootstrap.py @@ -0,0 +1,113 @@ +############################################################################## +# +# Copyright (c) 2006 Zope Corporation and Contributors. +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# +############################################################################## +"""Bootstrap a buildout-based project + +Simply run this script in a directory containing a buildout.cfg. +The script accepts buildout command-line options, so you can +use the -c option to specify an alternate configuration file. + +$Id: bootstrap.py 102545 2009-08-06 14:49:47Z chrisw $ +""" + +import os, shutil, sys, tempfile, urllib2 +from optparse import OptionParser + +tmpeggs = tempfile.mkdtemp() + +is_jython = sys.platform.startswith('java') + +# parsing arguments +parser = OptionParser() +parser.add_option("-v", "--version", dest="version", + help="use a specific zc.buildout version") +parser.add_option("-d", "--distribute", + action="store_true", dest="distribute", default=True, + help="Use Disribute rather than Setuptools.") + +options, args = parser.parse_args() + +if options.version is not None: + VERSION = '==%s' % options.version +else: + VERSION = '' + +USE_DISTRIBUTE = options.distribute +args = args + ['bootstrap'] + +to_reload = False +try: + import pkg_resources + if not hasattr(pkg_resources, '_distribute'): + to_reload = True + raise ImportError +except ImportError: + ez = {} + if USE_DISTRIBUTE: + exec urllib2.urlopen('http://python-distribute.org/distribute_setup.py' + ).read() in ez + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0, no_fake=True) + else: + exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' + ).read() in ez + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) + + if to_reload: + reload(pkg_resources) + else: + import pkg_resources + +if sys.platform == 'win32': + def quote(c): + if ' ' in c: + return '"%s"' % c # work around spawn lamosity on windows + else: + return c +else: + def quote (c): + return c + +cmd = 'from setuptools.command.easy_install import main; main()' +ws = pkg_resources.working_set + +if USE_DISTRIBUTE: + requirement = 'distribute' +else: + requirement = 'setuptools' + +if is_jython: + import subprocess + + assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', + quote(tmpeggs), 'zc.buildout' + VERSION], + env=dict(os.environ, + PYTHONPATH= + ws.find(pkg_resources.Requirement.parse(requirement)).location + ), + ).wait() == 0 + +else: + assert os.spawnle( + os.P_WAIT, sys.executable, quote (sys.executable), + '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout' + VERSION, + dict(os.environ, + PYTHONPATH= + ws.find(pkg_resources.Requirement.parse(requirement)).location + ), + ) == 0 + +ws.add_entry(tmpeggs) +ws.require('zc.buildout' + VERSION) +import zc.buildout.buildout +zc.buildout.buildout.main(args) +shutil.rmtree(tmpeggs) diff --git a/buildout.cfg b/buildout.cfg new file mode 100644 index 0000000..4f7b8bf --- /dev/null +++ b/buildout.cfg @@ -0,0 +1,13 @@ +[buildout] +parts = python scripts +develop = . +eggs = ipython-sql + +[python] +recipe = zc.recipe.egg +interpreter = python +eggs = ${buildout:eggs} + +[scripts] +recipe = zc.recipe.egg:scripts +eggs = ${buildout:eggs} diff --git a/ipython-sql.wpr b/ipython-sql.wpr new file mode 100644 index 0000000..6b928e4 --- /dev/null +++ b/ipython-sql.wpr @@ -0,0 +1,13 @@ +#!wing +#!version=4.0 +################################################################## +# Wing IDE project file # +################################################################## +[project attributes] +proj.directory-list = [{'dirloc': loc('.'), + 'excludes': (), + 'filter': '*', + 'include_hidden': False, + 'recursive': True, + 'watch_for_changes': True}] +proj.file-type = 'shared' diff --git a/ipython-sql.wpu b/ipython-sql.wpu new file mode 100644 index 0000000..5b3c0ce --- /dev/null +++ b/ipython-sql.wpu @@ -0,0 +1,643 @@ +#!wing +#!version=4.0 +################################################################## +# Wing IDE project file : User-specific branch # +################################################################## +[user attributes] +guimgr.overall-gui-state = {'windowing-policy': 'combined-window', + 'windows': [{'name': 'pl1wewRCfZASfmghIM3JwuU1ss'\ + 'ZVfe0h', + 'size-state': '', + 'type': 'dock', + 'view': {'area': 'tall', + 'constraint': None, + 'current_pages': [0, + 2], + 'full-screen': False, + 'notebook_display': 'normal', + 'notebook_percent': 0.24701670644391405, + 'override_title': None, + 'pagelist': [('debug-stack', + 'tall', + 1, + {'codeline-mode': 'below'}), + ('indent', + 'tall', + 2, + {}), + ('project', + 'tall', + 0, + {'tree-state': {'file-sort-method': 'by name', + 'list-files-first': False, + 'tree-states': {'deep': {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': (0,)}}, + 'tree-style': 'deep'}}), + ('snippets', + 'tall', + 0, + {'tree-states': {'__all__': [], + u'c': [], + u'django': [], + u'html': [], + u'py': []}}), + ('source-assistant', + 'tall', + 2, + {'docstring-during-complete': False, + 'wrap-lines': True}), + ('browser', + 'tall', + 0, + {'all_tree_states': {loc('../../Dropbox/pillars2/pillars_gdsii_2.py'): {''\ + 'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../../Dropbox/pillars2/pillars_gdsii_2.py'), + 'air_index')]}, + loc('../../Dropbox/wof/trough_trial_1.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../../Dropbox/wof/trough_trial_1.py'), + 'boundary_cell')]}, + loc('../../itninja/database/migrate/checks/generate_urlmatches.sql'): {''\ + 'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../itninja/www.itninja.com/app/config/config_dev.yml'): {'co'\ + 'lumn-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../itninja/www.itninja.com/app/config/config_production.yml'): {''\ + 'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../itninja/www.itninja.com/app/config/config_staging.yml'): {''\ + 'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../itninja/www.itninja.com/app/config/elastica.yml'): {'colu'\ + 'mn-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../itninja/www.itninja.com/ops/scripts/development/deploy.sh'): {''\ + 'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../org/mpwfw/disk/ColorWall/ascii8x8.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('function def', + loc('../../org/mpwfw/disk/ColorWall/ascii8x8.py'), + 'draw_chr')]}, + loc('../../org/mpwfw/disk/ColorWall/effects.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../../org/mpwfw/disk/ColorWall/effects.py'), + 'colors')]}, + loc('../../org/mpwfw/disk/ColorWall/more_effects.py'): {'column-widt'\ + 'hs': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('function def', + loc('../../org/mpwfw/disk/ColorWall/more_effects.py'), + 'Checkerboards')]}, + loc('../../org/mpwfw/disk/ColorWall/run.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../../org/mpwfw/disk/ColorWall/run.py'), + 'args')]}, + loc('../../org/mpwfw/ipy/tester.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('function def', + loc('../../org/mpwfw/ipy/tester.py'), + 'test')]}, + loc('../../org/mpwfw/ipy/tst.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('function def', + loc('../../org/mpwfw/ipy/tst.py'), + 'f')]}, + loc('../cmd2/NEWS.txt'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../cmd2/cmd2.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('class def', + loc('../cmd2/cmd2.py'), + 'Borg')]}, + loc('../cmd2/patch.diff'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../cmd2/setup.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../cmd2/setup.py'), + 'install_requires')]}, + loc('../cpython/Lib/doctest.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [[('generic attribute', + loc('../cpython/Lib/doctest.py'), + 'TestResults')]], + 'top-node': [('generic attribute', + loc('../cpython/Lib/doctest.py'), + 'BLANKLINE_MARKER')]}, + loc('../ipython_doctester/doctester.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../ipython_doctester/ipython_doctester.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../ipython_doctester/ipython_doctester.py'), + 'docent_url')]}, + loc('../ipython_doctester/tst.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('function def', + loc('../ipython_doctester/tst.py'), + 'hi')]}, + loc('../pillars/pillars-gds.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [[('function def', + loc('../pillars/pillars-gds.py'), + 'hexagon')]], + 'top-node': [('function def', + loc('../pillars/pillars-gds.py'), + 'hexagon')]}, + loc('../weirdocircles/sdxf.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../weirdocircles/sdxf.py'), + 'ALIGNED')]}, + loc('../weirdocircles/weirdocircles.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../weirdocircles/weirdocircles.py'), + 'd')]}, + loc('../../rdw/nightly/nightly.ipy'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('function def', + loc('../../rdw/nightly/nightly.ipy'), + 'append_inserts_only')]}, + loc('../../rdw/nightly/nightly.sh'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + loc('../../rdw/nightly/no_ddl.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../../rdw/nightly/no_ddl.py'), + 'pattern')]}, + loc('../../rdw/nightly/refresh_data.sh'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': None}, + u'By Module': {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [None], + 'top-node': None}, + loc('../../../../usr/lib/python2.7/doctest.py'): {'column-widths': [1.0], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': [('generic attribute', + loc('../../../../usr/lib/python2.7/doctest.py'), + 'BLANKLINE_MARKER')]}}, + 'browse_mode': u'Current Module', + 'follow-selection': False, + 'sort_mode': 'Alphabetically', + 'visibility_options': {u'Derived Classes': False, + u'Imported': False, + u'Modules': True}})], + 'primary_view_state': {'area': 'wide', + 'constraint': None, + 'current_pages': [2], + 'notebook_display': 'normal', + 'notebook_percent': 0.38515546639919762, + 'override_title': None, + 'pagelist': [('bookmarks', + 'wide', + 1, + {}), + ('debug-breakpoints', + 'wide', + 0, + {'tree-state': []}), + ('debug-io', + 'wide', + 1, + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 0, + 'sel-line-start': 0, + 'selection_end': 0, + 'selection_start': 0}), + ('debug-probe', + 'wide', + 2, + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'history': {None: ['uld'], + u'file:/home/catherine/Dropbox/pillars2/pillars_gdsii_2.py': [''\ + 'self.matrix\n', + 'dir(self_matrix)\n', + 'dir(self.matrix)\n', + '( (self.n0 * (2 - (self.rho/self.matrix.big_r_um) ** 2)**0.5\n '\ + ' - air_index) * self.matrix.lattice_constant_um ** 2'\ + ')\n\n', + '(self.rho/self.matrix.big_r_um) ** 2\n', + '(2 - (self.rho/self.matrix.big_r_um) ** 2)**0.5\n', + 'self.rho\n', + 'self.xindex\n', + 'self.yindex\n', + 'self.matrix.big_r_um\n', + 'self.matrix.x_max_um\n'], + u'file:/home/catherine/itninja/database/improve/nltk_data/process.py': [''\ + 'result\n'], + u'file:/home/catherine/itninja/database/improve/pos_corpus_auto.py': [''\ + 'print line\n', + 'word\n', + 'replacement\n', + 'line\n'], + u'file:/home/catherine/org/mpwfw/ipy/tst.py': [''\ + 'bool(tests)\n', + 'len(tests)\n', + 'tests[0]\n', + 'test\n', + 'dir(test)\n', + 'test.examples\n', + 'func\n', + 'func.__name__\n', + 'self.lines.splitlines()\n', + 'self.lines\n', + 'dir(self.lines)\n', + 'raw_txt\n', + 'print raw_txt\n', + 'self.called\n'], + u'file:/home/catherine/proj/ipython_doctester/doctester.py': [''\ + 'txt\n', + 'print txt\n', + 'str(captured)\n', + 'print captured\n', + 'captured\n'], + u'file:/home/catherine/proj/ipython_doctester/tst.py': [''\ + 'test.globs\n', + 't.globs\n', + 't\n']}, + 'sel-line': 0, + 'sel-line-start': 0, + 'selection_end': 0, + 'selection_start': 0}), + ('debug-exceptions', + 'wide', + 0, + {}), + ('versioncontrol.git', + 'wide', + 0, + {}), + ('messages', + 'wide', + 2, + {'current-domain': 0}), + ('debug-modules', + 'wide', + 1, + {}), + ('os-command', + 'wide', + 1, + {'last-percent': 0.80000000000000004, + 'toolbox-percent': 1.0, + 'toolbox-tree-sel': ''}), + ('python-shell', + 'wide', + 2, + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'history': {}, + 'sel-line': 3, + 'sel-line-start': 130, + 'selection_end': 130, + 'selection_start': 130}), + ('interactive-search', + 'wide', + 0, + {'fScope': {'fFileSetName': u'All Source Files', + 'fLocation': None, + 'fRecursive': True, + 'fType': 'project-files'}, + 'fSearchSpec': {'fEndPos': None, + 'fIncludeLinenos': True, + 'fInterpretBackslashes': False, + 'fMatchCase': False, + 'fOmitBinary': True, + 'fRegexFlags': 46, + 'fReplaceText': '', + 'fReverse': False, + 'fSearchText': u'.new', + 'fStartPos': 0, + 'fStyle': 'text', + 'fWholeWords': False, + 'fWrap': True}, + 'fUIOptions': {'fAutoBackground': True, + 'fFilePrefix': 'short-file', + 'fFindAfterReplace': True, + 'fInSelection': False, + 'fIncremental': True, + 'fReplaceOnDisk': False, + 'fShowFirstMatch': False, + 'fShowLineno': True, + 'fShowReplaceWidgets': False}, + 'replace-entry-expanded': False, + 'search-entry-expanded': False}), + ('batch-search', + 'wide', + 0, + {'fScope': {'fFileSetName': u'All Source Files', + 'fLocation': None, + 'fRecursive': True, + 'fType': 'current-file'}, + 'fSearchSpec': {'fEndPos': None, + 'fIncludeLinenos': True, + 'fInterpretBackslashes': False, + 'fMatchCase': False, + 'fOmitBinary': True, + 'fRegexFlags': 46, + 'fReplaceText': u'called', + 'fReverse': False, + 'fSearchText': u'centers', + 'fStartPos': 0, + 'fStyle': 'regex', + 'fWholeWords': False, + 'fWrap': True}, + 'fUIOptions': {'fAutoBackground': True, + 'fFilePrefix': 'short-file', + 'fFindAfterReplace': True, + 'fInSelection': False, + 'fIncremental': True, + 'fReplaceOnDisk': False, + 'fShowFirstMatch': False, + 'fShowLineno': True, + 'fShowReplaceWidgets': False}, + 'replace-entry-expanded': False, + 'search-entry-expanded': False}), + ('debug-data', + 'wide', + 0, + {}), + ('testing', + 'wide', + 0, + {'added-files': [], + 'filter': '', + 'recent-filters': None, + 'sort-order': 'alpha'}), + ('debug-watch', + 'wide', + 1, + {'node-states': [], + 'tree-state': {'column-widths': [0.38426349496797807, + 0.61573650503202193], + 'expanded-nodes': [], + 'selected-nodes': [], + 'top-node': (0,)}})], + 'primary_view_state': {'editor_states': {'bookmarks': ([(loc('../../org/mpwfw/disk/ColorWall/more_effects.py'), + {'attrib-starts': [('HueTest', + 5)], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 6, + 'sel-line-start': 89, + 'selection_end': 108, + 'selection_start': 108}, + 1357500862.775403), + (loc('../../org/mpwfw/disk/ColorWall/ascii8x8.py'), + {'attrib-starts': [('draw_chr', + 3)], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 8, + 'sel-line-start': 276, + 'selection_end': 297, + 'selection_start': 297}, + 1357500942.570195), + (loc('../../org/mpwfw/disk/ColorWall/run.py'), + {'attrib-starts': [], + 'first-line': 30, + 'folded-linenos': [], + 'sel-line': 41, + 'sel-line-start': 1402, + 'selection_end': 1402, + 'selection_start': 1402}, + 1357513089.4406741), + [loc('../../org/mpwfw/disk/ColorWall/run.py'), + {'attrib-starts': [], + 'first-line': 30, + 'folded-linenos': [], + 'sel-line': 42, + 'sel-line-start': 1437, + 'selection_end': 1437, + 'selection_start': 1437}, + 1357513098.9413929], + (loc('../ipython_doctester/ipython_doctester.py'), + {'attrib-starts': [], + 'first-line': 19, + 'folded-linenos': [], + 'sel-line': 26, + 'sel-line-start': 696, + 'selection_end': 724, + 'selection_start': 724}, + 1358988102.8065691), + [loc('../ipython_doctester/ipython_doctester.py'), + {'attrib-starts': [], + 'first-line': 19, + 'folded-linenos': [], + 'sel-line': 26, + 'sel-line-start': 696, + 'selection_end': 724, + 'selection_start': 724}, + 1358988140.2782991], + [loc('../../Dropbox/wof/trough_trial_1.py'), + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 0, + 'sel-line-start': 0, + 'selection_end': 0, + 'selection_start': 0}, + 1361932471.719409], + (loc('../cmd2/setup.py'), + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 16, + 'sel-line-start': 350, + 'selection_end': 369, + 'selection_start': 369}, + 1363624279.736201), + (loc('../cmd2/cmd2.py'), + {'attrib-starts': [], + 'first-line': 38, + 'folded-linenos': [], + 'sel-line': 44, + 'sel-line-start': 1397, + 'selection_end': 1418, + 'selection_start': 1418}, + 1363624868.1423759), + (loc('../cmd2/NEWS.txt'), + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 16, + 'sel-line-start': 206, + 'selection_end': 313, + 'selection_start': 313}, + 1363624892.6995621), + [loc('../cmd2/patch.diff'), + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 0, + 'sel-line-start': 0, + 'selection_end': 0, + 'selection_start': 0}, + 1363626234.046001], + (loc('../cmd2/NEWS.txt'), + {'attrib-starts': [], + 'first-line': 6, + 'folded-linenos': [], + 'sel-line': 23, + 'sel-line-start': 361, + 'selection_end': 422, + 'selection_start': 422}, + 1363626438.5112541), + (loc('../cmd2/cmd2.py'), + {'attrib-starts': [], + 'first-line': 38, + 'folded-linenos': [], + 'sel-line': 44, + 'sel-line-start': 1397, + 'selection_end': 1419, + 'selection_start': 1419}, + 1363626536.912807), + (loc('../cmd2/setup.py'), + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 16, + 'sel-line-start': 350, + 'selection_end': 370, + 'selection_start': 370}, + 1363626634.4066069), + (loc('../cmd2/NEWS.txt'), + {'attrib-starts': [], + 'first-line': 6, + 'folded-linenos': [], + 'sel-line': 17, + 'sel-line-start': 315, + 'selection_end': 315, + 'selection_start': 315}, + 1363626642.45193), + (loc('../cmd2/cmd2.py'), + {'attrib-starts': [('OptionParser', + 63)], + 'first-line': 57, + 'folded-linenos': [], + 'sel-line': 63, + 'sel-line-start': 1993, + 'selection_end': 2014, + 'selection_start': 2014}, + 1363626703.169502), + (loc('../cmd2/NEWS.txt'), + {'attrib-starts': [], + 'first-line': 6, + 'folded-linenos': [], + 'sel-line': 17, + 'sel-line-start': 315, + 'selection_end': 315, + 'selection_start': 315}, + 1363626708.783695), + (loc('../cmd2/cmd2.py'), + {'attrib-starts': [('Cmd', + 360)], + 'first-line': 408, + 'folded-linenos': [], + 'sel-line': 422, + 'sel-line-start': 16390, + 'selection_end': 16465, + 'selection_start': 16465}, + 1363626722.170908), + [loc('../cmd2/cmd2.py'), + {'attrib-starts': [('Cmd', + 360)], + 'first-line': 408, + 'folded-linenos': [], + 'sel-line': 422, + 'sel-line-start': 16390, + 'selection_end': 16465, + 'selection_start': 16465}, + 1363626726.742609], + [loc('README.md'), + {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 0, + 'sel-line-start': 0, + 'selection_end': 0, + 'selection_start': 0}, + 1363797735.5672629]], + 19), + 'current-loc': loc('README.md'), + 'editor-states': {loc('README.md'): {'attrib-starts': [], + 'first-line': 0, + 'folded-linenos': [], + 'sel-line': 0, + 'sel-line-start': 0, + 'selection_end': 0, + 'selection_start': 0}}, + 'has-focus': True, + 'locked': False}, + 'open_files': [u'README.md']}, + 'saved_notebook_display': None, + 'split_percents': {}, + 'splits': 1, + 'tab_location': 'top', + 'user_data': {}}, + 'saved_notebook_display': None, + 'split_percents': {0: 0.5}, + 'splits': 2, + 'tab_location': 'left', + 'user_data': {}}, + 'window-alloc': (1694, + 57, + 1431, + 764)}]} +guimgr.recent-documents = [loc('README.md')] +search.search-history = [u'centers', + u'licensing'] diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..1456586 --- /dev/null +++ b/setup.py @@ -0,0 +1,38 @@ +from setuptools import setup, find_packages +import sys, os + +here = os.path.abspath(os.path.dirname(__file__)) +README = open(os.path.join(here, 'README.rst')).read() +NEWS = open(os.path.join(here, 'NEWS.txt')).read() + + +version = '0.1' + +install_requires = [ + # List your project dependencies here. + # For more details, see: + # http://packages.python.org/distribute/setuptools.html#declaring-dependencies +] + + +setup(name='ipython-sql', + version=version, + description="RDBMS access via IPython", + long_description=README + '\n\n' + NEWS, + classifiers=[ + # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers + ], + keywords='database ipython postgresql mysql', + author='Catherine Devlin', + author_email='catherine.devlin@gmail.com', + url='pypi.python.org/pypi/ipython-sql', + license='MIT', + packages=find_packages('src'), + package_dir = {'': 'src'},include_package_data=True, + zip_safe=False, + install_requires=install_requires, + entry_points={ + 'console_scripts': + ['ipython-sql=ipythonsql:main'] + } +) diff --git a/src/ipythonsql/__init__.py b/src/ipythonsql/__init__.py new file mode 100644 index 0000000..24044b7 --- /dev/null +++ b/src/ipythonsql/__init__.py @@ -0,0 +1,4 @@ +# Example package with a console entry point + +def main(): + print "Hello World"