@@ -0,0 +1,864 @@
+from asyncio_mongo import filter as qf%0A%0Afrom wdim.util import pack%0Afrom wdim.client import fields%0Afrom wdim.client.storable import Storable%0Afrom wdim.client.collection import Collection%0A%0A%0Aclass Namespace(Storable):%0A%0A    _id = fields.ObjectIdField()%0A    namespace = fields.StringField(unique=True)%0A%0A    @classmethod%0A    async def get_by_namespace(cls, name):%0A        return await cls.find_one(%7B'namespace': name%7D)%0A%0A    async def get_collection(self, collection_name):%0A        assert self._id, 'Namespace must be saved before use'%0A%0A        return await Collection.find_one(%7B%0A            'namespace': self._id,%0A            'collection': collection_name%0A        %7D)%0A%0A    async def create_collection(self, collection_name):%0A        assert self._id, 'Namespace must be saved before use'%0A%0A        return await Collection.create(collection=collection_name, namespace=self)%0A

Implement namespace