diff --git a/MANIFEST.in b/MANIFEST.in index 1606897b484e8ea4af6ffbbd2b844e0af68c6503..b492e5794794b1b6982a33686ef0aa952d0aed6e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ -include README.rst +include README.rst bootstrap-buildout.py buildout.cfg COPYING recursive-include docs *.py *.rst +recursive-include xbob *.sql3 diff --git a/PKG-INFO b/PKG-INFO deleted file mode 100644 index 7a1b97f96806933bc4dcb9c6c6d6cd135f7e290f..0000000000000000000000000000000000000000 --- a/PKG-INFO +++ /dev/null @@ -1,93 +0,0 @@ -Metadata-Version: 1.1 -Name: xbob.db.atvskeystroke -Version: 1.0.0 -Summary: ATNT/ORL Database Access API for Bob -Home-page: http://github.com/bioidiap/xbob.db.atvskeystroke -Author: Marta Gomez-Barrero -Author-email: marta.barrero@uam.es -License: GPLv3 -Description: =================== - ATVS-Keystroke Database - ======================== - - The ATVS-Keystroke database is a database of keystroke. - - The actual raw data for the database should be downloaded from the original - URL. This package only contains the `Bob <http://www.idiap.ch/software/bob/>`_ - accessor methods to use the DB directly from python, with our certified - protocols. - - You would normally not install this package unless you are maintaining it. What - you would do instead is to tie it in at the package you need to **use** it. - There are a few ways to achieve this: - - 1. You can add this package as a requirement at the ``setup.py`` for your own - `satellite package - <https://github.com/idiap/bob/wiki/Virtual-Work-Environments-with-Buildout>`_ - or to your Buildout ``.cfg`` file, if you prefer it that way. With this - method, this package gets automatically downloaded and installed on your - working environment, or - - 2. You can manually download and install this package using commands like - ``easy_install`` or ``pip``. - - The package is available in two different distribution formats: - - 1. You can download it from `PyPI <http://pypi.python.org/pypi>`_, or - - 2. You can download it in its source form from `its git repository - <https://github.com/bioidiap/xbob.db.atvskeystroke>`_. When you download the - version at the git repository, you will need to run a command to recreate - the backend SQLite file required for its operation. This means that the - database raw files must be installed somewhere in this case. With option - ``a`` you can run in `dummy` mode and only download the raw data files for - the database once you are happy with your setup. - - You can mix and match points 1/2 and a/b above based on your requirements. Here - are some examples: - - Modify your setup.py and download from PyPI - =========================================== - - That is the easiest. Edit your ``setup.py`` in your satellite package and add - the following entry in the ``install_requires`` section (note: ``...`` means - `whatever extra stuff you may have in-between`, don't put that on your - script):: - - install_requires=[ - ... - "xbob.db.atvskeystroke", - ], - - Proceed normally with your ``boostrap/buildout`` steps and you should be all - set. That means you can now import the namespace ``xbob.db.atvskeystroke`` into your scripts. - - Modify your buildout.cfg and download from git - ============================================== - - You will need to add a dependence to `mr.developer - <http://pypi.python.org/pypi/mr.developer/>`_ to be able to install from our - git repositories. Your ``buildout.cfg`` file should contain the following - lines:: - - [buildout] - ... - extensions = mr.developer - auto-checkout = * - eggs = bob - ... - xbob.db.atvskeystroke - - [sources] - xbob.db.atnt = git https://github.com/mgbarrero/xbob.db.atvskeystroke.git - ... - -Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3) -Classifier: Natural Language :: English -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence -Classifier: Topic :: Database :: Front-Ends diff --git a/README.rst b/README.rst index 922d9ced8662a78a7ccaa0931d057ecf1f79fff4..985783592687e69b424d2912ca736bebbaa2f265 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ ========================= -ATVS Keystroke Database + ATVS Keystroke Database ========================= This package contains the access API and descriptions for the `ATVS Keystroke @@ -67,5 +67,5 @@ lines:: xbob.db.atvskeystroke [sources] - bob.db.atvskeystroke = git https://github.com/bioidiap/xbob.db.atvskeystroke.git + xbob.db.atvskeystroke = git https://github.com/bioidiap/xbob.db.atvskeystroke.git ... diff --git a/bootstrap.py b/bootstrap-buildout.py similarity index 72% rename from bootstrap.py rename to bootstrap-buildout.py index 2ec152f662355e3288f20f1a80afcdd710cfdea5..a629566735c1c84fbec7173f0f30015b2b432512 100644 --- a/bootstrap.py +++ b/bootstrap-buildout.py @@ -56,6 +56,11 @@ parser.add_option("-c", "--config-file", "file to be used.")) parser.add_option("-f", "--find-links", help=("Specify a URL to search for buildout releases")) +parser.add_option("--allow-site-packages", + action="store_true", default=False, + help=("Let bootstrap.py use existing site packages")) +parser.add_option("--setuptools-version", + help="use a specific setuptools version") options, args = parser.parse_args() @@ -63,45 +68,42 @@ options, args = parser.parse_args() ###################################################################### # load/install setuptools -to_reload = False try: - import pkg_resources - import setuptools + if options.allow_site_packages: + import setuptools + import pkg_resources + from urllib.request import urlopen except ImportError: - ez = {} - - try: - from urllib.request import urlopen - except ImportError: - from urllib2 import urlopen - - # XXX use a more permanent ez_setup.py URL when available. - exec(urlopen('https://bitbucket.org/pypa/setuptools/raw/0.7.2/ez_setup.py' - ).read(), ez) - setup_args = dict(to_dir=tmpeggs, download_delay=0) - ez['use_setuptools'](**setup_args) - - if to_reload: - reload(pkg_resources) - import pkg_resources - # This does not (always?) update the default working set. We will - # do it. - for path in sys.path: - if path not in pkg_resources.working_set.entries: - pkg_resources.working_set.add_entry(path) + from urllib2 import urlopen -###################################################################### -# Try to best guess the version of buildout given setuptools -if options.version is None: - - try: - from distutils.version import LooseVersion - package = pkg_resources.require('setuptools')[0] - v = LooseVersion(package.version) - if v < LooseVersion('0.7'): - options.version = '2.1.1' - except: - pass +ez = {} +exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez) + +if not options.allow_site_packages: + # ez_setup imports site, which adds site packages + # this will remove them from the path to ensure that incompatible versions + # of setuptools are not in the path + import site + # inside a virtualenv, there is no 'getsitepackages'. + # We can't remove these reliably + if hasattr(site, 'getsitepackages'): + for sitepackage_path in site.getsitepackages(): + sys.path[:] = [x for x in sys.path if sitepackage_path not in x] + +setup_args = dict(to_dir=tmpeggs, download_delay=0) + +if options.setuptools_version is not None: + setup_args['version'] = options.setuptools_version + +ez['use_setuptools'](**setup_args) +import setuptools +import pkg_resources + +# This does not (always?) update the default working set. We will +# do it. +for path in sys.path: + if path not in pkg_resources.working_set.entries: + pkg_resources.working_set.add_entry(path) ###################################################################### # Install buildout @@ -132,10 +134,15 @@ if version is None and not options.accept_buildout_test_releases: _final_parts = '*final-', '*final' def _final_version(parsed_version): - for part in parsed_version: - if (part[:1] == '*') and (part not in _final_parts): - return False - return True + try: + return not parsed_version.is_prerelease + except AttributeError: + # Older setuptools + for part in parsed_version: + if (part[:1] == '*') and (part not in _final_parts): + return False + return True + index = setuptools.package_index.PackageIndex( search_path=[setuptools_path]) if find_links: @@ -162,8 +169,7 @@ cmd.append(requirement) import subprocess if subprocess.call(cmd, env=dict(os.environ, PYTHONPATH=setuptools_path)) != 0: raise Exception( - "Failed to execute command:\n%s", - repr(cmd)[1:-1]) + "Failed to execute command:\n%s" % repr(cmd)[1:-1]) ###################################################################### # Import and run buildout diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 861a9f554263efb088d8636c4f17a30696e495ad..0000000000000000000000000000000000000000 --- a/setup.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[egg_info] -tag_build = -tag_date = 0 -tag_svn_revision = 0 - diff --git a/setup.py b/setup.py index 744f5a41805850edf4ec82afb4b4cef412498fd9..95ce73a00d3947e88b8fb6956b9245cd0eaab7fb 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ from setuptools import setup, find_packages setup( name='xbob.db.atvskeystroke', - version='1.0.0', + version='0.0.1', description='ATVS-Keystroke Database Access API for Bob', url='http://github.com/mgbarrero/xbob.db.atvskeystroke', license='GPLv3', @@ -52,14 +52,14 @@ setup( # declare database to bob 'bob.db': [ - 'atnt = xbob.db.atvskeystroke.driver:Interface', + 'atvskeystroke = xbob.db.atvskeystroke.driver:Interface', ], # declare tests to bob 'bob.test': [ - 'atnt = xbob.db.atvskeystroke.test:ATVSKeystrokeDatabaseTest', + 'atvskeystroke = xbob.db.atvskeystroke.test:ATVSKeystrokeDatabaseTest', ], - + }, classifiers = [ diff --git a/version.txt b/version.txt deleted file mode 100644 index 41432f00d9ce57fadd55cc7dd27b391ddf5ca0b9..0000000000000000000000000000000000000000 --- a/version.txt +++ /dev/null @@ -1 +0,0 @@ -1.0.0a0