From dd46aec60c2f4e1b8d6d9c8638188c52017d7722 Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Sun, 19 Jan 2014 15:24:52 +0100
Subject: [PATCH] Created xbob.db.base package, with stripped-out API

---
 buildout.cfg                                    |  2 ++
 setup.py                                        | 17 +++++------------
 xbob/db/__init__.py                             | 14 ++------------
 xbob/db/base/__init__.py                        | 12 ++++++++++++
 xbob/db/{ => base}/driver.py                    |  0
 xbob/db/{ => base}/example/__init__.py          |  0
 xbob/db/{ => base}/example/iris_backprop.py     |  0
 xbob/db/{ => base}/example/iris_lda.py          |  0
 xbob/db/{ => base}/example/iris_rprop.py        |  0
 xbob/db/{ => base}/iris/__init__.py             |  0
 xbob/db/{ => base}/iris/driver.py               |  0
 xbob/db/{ => base}/iris/iris.data               |  0
 xbob/db/{ => base}/iris/iris.names              |  0
 xbob/db/{ => base}/manage.py                    |  0
 xbob/db/{ => base}/script/__init__.py           |  0
 xbob/db/{ => base}/script/dbmanage.py           |  0
 xbob/db/{ => base}/sqlalchemy_migration.py      |  0
 xbob/db/{ => base}/test/__init__.py             |  0
 .../{ => base}/test/data/fl/dev/for_models.lst  |  0
 .../{ => base}/test/data/fl/dev/for_scores.lst  |  0
 .../{ => base}/test/data/fl/dev/for_tnorm.lst   |  0
 .../{ => base}/test/data/fl/dev/for_znorm.lst   |  0
 .../{ => base}/test/data/fl/eval/for_models.lst |  0
 .../{ => base}/test/data/fl/eval/for_scores.lst |  0
 .../{ => base}/test/data/fl/eval/for_tnorm.lst  |  0
 .../{ => base}/test/data/fl/eval/for_znorm.lst  |  0
 .../test/data/fl/norm/train_world.lst           |  0
 xbob/db/{ => base}/test/test_examples.py        |  0
 xbob/db/{ => base}/test/test_scripts.py         |  0
 xbob/db/{ => base}/utils.py                     |  0
 30 files changed, 21 insertions(+), 24 deletions(-)
 create mode 100644 xbob/db/base/__init__.py
 rename xbob/db/{ => base}/driver.py (100%)
 rename xbob/db/{ => base}/example/__init__.py (100%)
 rename xbob/db/{ => base}/example/iris_backprop.py (100%)
 rename xbob/db/{ => base}/example/iris_lda.py (100%)
 rename xbob/db/{ => base}/example/iris_rprop.py (100%)
 rename xbob/db/{ => base}/iris/__init__.py (100%)
 rename xbob/db/{ => base}/iris/driver.py (100%)
 rename xbob/db/{ => base}/iris/iris.data (100%)
 rename xbob/db/{ => base}/iris/iris.names (100%)
 rename xbob/db/{ => base}/manage.py (100%)
 rename xbob/db/{ => base}/script/__init__.py (100%)
 rename xbob/db/{ => base}/script/dbmanage.py (100%)
 rename xbob/db/{ => base}/sqlalchemy_migration.py (100%)
 rename xbob/db/{ => base}/test/__init__.py (100%)
 rename xbob/db/{ => base}/test/data/fl/dev/for_models.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/dev/for_scores.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/dev/for_tnorm.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/dev/for_znorm.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/eval/for_models.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/eval/for_scores.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/eval/for_tnorm.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/eval/for_znorm.lst (100%)
 rename xbob/db/{ => base}/test/data/fl/norm/train_world.lst (100%)
 rename xbob/db/{ => base}/test/test_examples.py (100%)
 rename xbob/db/{ => base}/test/test_scripts.py (100%)
 rename xbob/db/{ => base}/utils.py (100%)

diff --git a/buildout.cfg b/buildout.cfg
index a1050a4..2f67b48 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -10,6 +10,8 @@ develop = .
 extensions = mr.developer
 auto-checkout = *
 prefixes = /Users/andre/work/bob/b/dbg
+verbose = true
+debug = true
 
 [sources]
 xbob.buildout = git git@github.com:bioidiap/xbob.buildout
diff --git a/setup.py b/setup.py
index 2a017bd..770a52e 100644
--- a/setup.py
+++ b/setup.py
@@ -9,10 +9,10 @@ version = '2.0.0a0'
 
 setup(
 
-    name='xbob.db',
+    name='xbob.db.base',
     version=version,
-    description='Bindings for bob.db',
-    url='http://github.com/anjos/xbob.db',
+    description='Database Bindings API',
+    url='http://github.com/anjos/xbob.db.base',
     license='BSD',
     author='Andre Anjos',
     author_email='andre.anjos@idiap.ch',
@@ -24,23 +24,16 @@ setup(
 
     install_requires=[
       'setuptools',
-      'xbob.io',
-      'xbob.measure',
-      'xbob.machine',
-      'xbob.trainer',
     ],
 
     namespace_packages=[
       "xbob",
+      "xbob.db",
       ],
 
     entry_points={
       'console_scripts': [
-        'xbob_dbmanage.py = xbob.db.script.dbmanage:main',
-        ],
-
-      'xbob.db': [
-        'iris = xbob.db.iris.driver:Interface',
+        'xbob_dbmanage.py = xbob.db.base.script.dbmanage:main',
         ],
 
       },
diff --git a/xbob/db/__init__.py b/xbob/db/__init__.py
index c9cbddf..60381ea 100644
--- a/xbob/db/__init__.py
+++ b/xbob/db/__init__.py
@@ -1,12 +1,2 @@
-#!/usr/bin/env python
-# Andre Anjos <andre.anjos@idiap.ch>
-# Thu 23 Jun 20:22:28 2011 CEST
-# vim: set fileencoding=utf-8 :
-
-"""The db package contains simplified APIs to access data for various databases
-that can be used in Biometry, Machine Learning or Pattern Classification."""
-
-from . import utils, driver, iris
-
-__all__ = [k for k in dir() if not k.startswith('_')]
-if 'k' in locals(): del k
+#see http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+__import__('pkg_resources').declare_namespace(__name__)
diff --git a/xbob/db/base/__init__.py b/xbob/db/base/__init__.py
new file mode 100644
index 0000000..c9cbddf
--- /dev/null
+++ b/xbob/db/base/__init__.py
@@ -0,0 +1,12 @@
+#!/usr/bin/env python
+# Andre Anjos <andre.anjos@idiap.ch>
+# Thu 23 Jun 20:22:28 2011 CEST
+# vim: set fileencoding=utf-8 :
+
+"""The db package contains simplified APIs to access data for various databases
+that can be used in Biometry, Machine Learning or Pattern Classification."""
+
+from . import utils, driver, iris
+
+__all__ = [k for k in dir() if not k.startswith('_')]
+if 'k' in locals(): del k
diff --git a/xbob/db/driver.py b/xbob/db/base/driver.py
similarity index 100%
rename from xbob/db/driver.py
rename to xbob/db/base/driver.py
diff --git a/xbob/db/example/__init__.py b/xbob/db/base/example/__init__.py
similarity index 100%
rename from xbob/db/example/__init__.py
rename to xbob/db/base/example/__init__.py
diff --git a/xbob/db/example/iris_backprop.py b/xbob/db/base/example/iris_backprop.py
similarity index 100%
rename from xbob/db/example/iris_backprop.py
rename to xbob/db/base/example/iris_backprop.py
diff --git a/xbob/db/example/iris_lda.py b/xbob/db/base/example/iris_lda.py
similarity index 100%
rename from xbob/db/example/iris_lda.py
rename to xbob/db/base/example/iris_lda.py
diff --git a/xbob/db/example/iris_rprop.py b/xbob/db/base/example/iris_rprop.py
similarity index 100%
rename from xbob/db/example/iris_rprop.py
rename to xbob/db/base/example/iris_rprop.py
diff --git a/xbob/db/iris/__init__.py b/xbob/db/base/iris/__init__.py
similarity index 100%
rename from xbob/db/iris/__init__.py
rename to xbob/db/base/iris/__init__.py
diff --git a/xbob/db/iris/driver.py b/xbob/db/base/iris/driver.py
similarity index 100%
rename from xbob/db/iris/driver.py
rename to xbob/db/base/iris/driver.py
diff --git a/xbob/db/iris/iris.data b/xbob/db/base/iris/iris.data
similarity index 100%
rename from xbob/db/iris/iris.data
rename to xbob/db/base/iris/iris.data
diff --git a/xbob/db/iris/iris.names b/xbob/db/base/iris/iris.names
similarity index 100%
rename from xbob/db/iris/iris.names
rename to xbob/db/base/iris/iris.names
diff --git a/xbob/db/manage.py b/xbob/db/base/manage.py
similarity index 100%
rename from xbob/db/manage.py
rename to xbob/db/base/manage.py
diff --git a/xbob/db/script/__init__.py b/xbob/db/base/script/__init__.py
similarity index 100%
rename from xbob/db/script/__init__.py
rename to xbob/db/base/script/__init__.py
diff --git a/xbob/db/script/dbmanage.py b/xbob/db/base/script/dbmanage.py
similarity index 100%
rename from xbob/db/script/dbmanage.py
rename to xbob/db/base/script/dbmanage.py
diff --git a/xbob/db/sqlalchemy_migration.py b/xbob/db/base/sqlalchemy_migration.py
similarity index 100%
rename from xbob/db/sqlalchemy_migration.py
rename to xbob/db/base/sqlalchemy_migration.py
diff --git a/xbob/db/test/__init__.py b/xbob/db/base/test/__init__.py
similarity index 100%
rename from xbob/db/test/__init__.py
rename to xbob/db/base/test/__init__.py
diff --git a/xbob/db/test/data/fl/dev/for_models.lst b/xbob/db/base/test/data/fl/dev/for_models.lst
similarity index 100%
rename from xbob/db/test/data/fl/dev/for_models.lst
rename to xbob/db/base/test/data/fl/dev/for_models.lst
diff --git a/xbob/db/test/data/fl/dev/for_scores.lst b/xbob/db/base/test/data/fl/dev/for_scores.lst
similarity index 100%
rename from xbob/db/test/data/fl/dev/for_scores.lst
rename to xbob/db/base/test/data/fl/dev/for_scores.lst
diff --git a/xbob/db/test/data/fl/dev/for_tnorm.lst b/xbob/db/base/test/data/fl/dev/for_tnorm.lst
similarity index 100%
rename from xbob/db/test/data/fl/dev/for_tnorm.lst
rename to xbob/db/base/test/data/fl/dev/for_tnorm.lst
diff --git a/xbob/db/test/data/fl/dev/for_znorm.lst b/xbob/db/base/test/data/fl/dev/for_znorm.lst
similarity index 100%
rename from xbob/db/test/data/fl/dev/for_znorm.lst
rename to xbob/db/base/test/data/fl/dev/for_znorm.lst
diff --git a/xbob/db/test/data/fl/eval/for_models.lst b/xbob/db/base/test/data/fl/eval/for_models.lst
similarity index 100%
rename from xbob/db/test/data/fl/eval/for_models.lst
rename to xbob/db/base/test/data/fl/eval/for_models.lst
diff --git a/xbob/db/test/data/fl/eval/for_scores.lst b/xbob/db/base/test/data/fl/eval/for_scores.lst
similarity index 100%
rename from xbob/db/test/data/fl/eval/for_scores.lst
rename to xbob/db/base/test/data/fl/eval/for_scores.lst
diff --git a/xbob/db/test/data/fl/eval/for_tnorm.lst b/xbob/db/base/test/data/fl/eval/for_tnorm.lst
similarity index 100%
rename from xbob/db/test/data/fl/eval/for_tnorm.lst
rename to xbob/db/base/test/data/fl/eval/for_tnorm.lst
diff --git a/xbob/db/test/data/fl/eval/for_znorm.lst b/xbob/db/base/test/data/fl/eval/for_znorm.lst
similarity index 100%
rename from xbob/db/test/data/fl/eval/for_znorm.lst
rename to xbob/db/base/test/data/fl/eval/for_znorm.lst
diff --git a/xbob/db/test/data/fl/norm/train_world.lst b/xbob/db/base/test/data/fl/norm/train_world.lst
similarity index 100%
rename from xbob/db/test/data/fl/norm/train_world.lst
rename to xbob/db/base/test/data/fl/norm/train_world.lst
diff --git a/xbob/db/test/test_examples.py b/xbob/db/base/test/test_examples.py
similarity index 100%
rename from xbob/db/test/test_examples.py
rename to xbob/db/base/test/test_examples.py
diff --git a/xbob/db/test/test_scripts.py b/xbob/db/base/test/test_scripts.py
similarity index 100%
rename from xbob/db/test/test_scripts.py
rename to xbob/db/base/test/test_scripts.py
diff --git a/xbob/db/utils.py b/xbob/db/base/utils.py
similarity index 100%
rename from xbob/db/utils.py
rename to xbob/db/base/utils.py
-- 
GitLab