"""
A collection of popular datasets for deep learning
==================================================

dbcollection is a library for downloading/parsing/managing datasets via simple methods.
It was built from the ground up to be cross-platform (Windows, Linux, MacOS) and
cross-language (Python, Lua, Matlab, etc.). This is achieved by using the popular HDF5
file format to store (meta)data of manually parsed datasets and the power of Python for
scripting. By doing so, this library can target any platform that supports Python and
any language that has bindings for HDF5.

This package allows to easily manage and load datasets by using HDF5 files to store
metadata. By storing all the necessary metadata to disk, managing either big or small
datasets equally impacts the system's resources usage in the same way.
Also, once a dataset is setup, it is setup forever! This means users can reuse any
previously set dataset as many times as needed without having to set it each time they
are used. This allows users to focus on more important tasks and speed up prototyping
without having to incurr in spending time managing datasets or creating/modyfing
scripts to load/fetch data from disk.

Main features
-------------

Here are some of key features dbcollection provides:

- Simple API to load/download/setup/manage datasets.
- Simple API to fetch data from a dataset.
- Store and pull data from disk or from memory, you choose!
- Datasets only need to be set/processed once, so next time you use it it will load instantly!
- Cross-platform (Windows, Linux, MacOs).
- Cross-language (Python, Lua/Torch7, Matlab).
- Easily extensible to other languages that support HDF5 files format.
- Concurrent/parallel data access thanks to HDF5.
- Contains a diverse (and growing!) list of popular datasets for machine-, deep-learning tasks
  (object detection, action recognition, human pose estimation, etc.)

"""


import pkg_resources

# API methods
from dbcollection.core.api.download import download
from dbcollection.core.api.process import process
from dbcollection.core.api.load import load
from dbcollection.core.api.add import add
from dbcollection.core.api.remove import remove
from dbcollection.core.api.config_cache import config_cache
from dbcollection.core.api.query import query
from dbcollection.core.api.info import info_cache, info_datasets
from dbcollection.core.api.list_datasets import fetch_list_datasets

# load the cache file
from dbcollection.core.cache import CacheManager
cache = CacheManager()

# package version
__version__ = pkg_resources.get_distribution('dbcollection').version

# load information about the available datasets for download
available_datasets_list = fetch_list_datasets()

@@ -100,16 +100,18 @@
 ======%0A%0A
+**
 dbcollec
@@ -114,16 +114,18 @@
 llection
+**
  is a li
@@ -250,29 +250,41 @@
 rm (
+**
 Windows
-, Linux, 
+**, **Linux**, **
 MacOS
+**
 ) an
@@ -305,27 +305,39 @@
 ge (
+**
 Python
-, Lua, 
+**, **Lua**, **
 Matlab
+**
 , et
@@ -379,20 +379,24 @@
 popular 
+%60%60
 HDF5
+%60%60
 %0Afile fo
@@ -597,20 +597,24 @@
 ngs for 
+%60%60
 HDF5
+%60%60
 .%0A%0AThis 
@@ -672,20 +672,24 @@
 y using 
+%60%60
 HDF5
+%60%60
  files t
@@ -795,23 +795,46 @@
 ets 
-equally
+has an equal or very similar
  impact
-s
+ on
  the
@@ -855,31 +855,14 @@
 urce
-s
  usage
- in the same way
 .%0AAl
@@ -1038,21 +1038,34 @@
 re used.
- This
+%0A%0A**dbcollection**
  allows 
@@ -1107,33 +1107,74 @@
 sks 
-and speed up prototyping%0A
+like prototyping new models%0Aor testing them in different datasets 
 with
@@ -1196,12 +1196,20 @@
 ncur
-r in
+ the loss of
  spe
@@ -1219,33 +1219,33 @@
 ng time managing
- 
+%0A
 datasets or crea
@@ -1257,17 +1257,17 @@
 modyfing
-%0A
+ 
 scripts 
@@ -1285,25 +1285,92 @@
 ch data 
-from disk
+by taking advantage%0Aof the work of the community that shared these resources
 .%0A%0AMain 
@@ -1720,29 +1720,41 @@
 rm (
+**
 Windows
-, Linux, 
+**, **Linux**, **
 MacOs
+**
 ).%0A-
@@ -1774,16 +1774,22 @@
 ge (
+**
 Python
-, 
+**, **
 Lua/
@@ -1798,16 +1798,22 @@
 rch7
-, 
+**, **
 Matlab
+**
 ).%0A-
@@ -1863,20 +1863,24 @@
 support 
+%60%60
 HDF5
+%60%60
  files f
@@ -1930,20 +1930,24 @@
 anks to 
+%60%60
 HDF5
+%60%60
 .%0A- Cont
@@ -2038,16 +2038,17 @@
 asks%0A  (
+*
 object d
@@ -2055,18 +2055,20 @@
 etection
+*
 , 
+*
 action r
@@ -2077,18 +2077,20 @@
 ognition
+*
 , 
+*
 human po
@@ -2102,16 +2102,17 @@
 timation
+*
 , etc.)%0A

Update main module docstring