Skip to content

PoufDB - implementation of CouchDB/PouchDB server in Python

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.txt
Notifications You must be signed in to change notification settings

ablaternae/py-pouffe

Repository files navigation

PoufDB (alpha version)

Hits Last commit Lines of code Code style: black GitHub Downloads License


Замечание по именованию: pouf (aka pouffe) это пуф, он же пуфик, в буквальном переводе означает набивное, мягкое, или "надутое" кресло. Библиотека PoufDB версии 0.2 основана на исходном коде ChairDB версии 0.1.


Установка и запуск

> git clone --depth=1 https://github.com/ablaternae/py-pouffe .
> pip install --upgrade .
> poufdb --help
Usage: poufdb [OPTIONS] COMMAND [ARGS]...

Options:
  -r, --start                     Server run
  -d, --data-dir PATH             Data directory, default `%current_dir%/_data`
  --host TEXT                     Host, default `127.0.59.84`
  --port INTEGER                  Port, default `5984`
  -v, --version                   Show the version and exit
  -h, --help                      Show this message and exit

документация

различия и особенности

  • В ревизиях документов _rev PouchDB использует md5 от таймстампа, CouchDB -- комбинацию из названия и рандомной строки, PouchDB по-умолчанию использует tripcode, а при отсутствии -- десять символов хеша документа; надо добавить специальную настройку
  • Почти везде в url применяются завершающие слеши, в отличие от CouchDB
  • Хранилище возвращает json-документ всегда со всеми полями, включая служебные
  • Приоритетными названиями параметров и переменных считаются имена с подчёркиваниями (dbname -> db_name)

todolist & history

  • сделать примеры с генерацией данных
  • три варианта документации API: классы (методы, иерархия), управляющие константы, вспомогательная information_schema
  • возможность шифрования данных (через архивацию, или шифром?)
  • большой апгрейд: пользователи, система прав и ролей
  • добавить режим админа
  • добавить в настройки выбор хеша
  • список документов
  • v0.3 автосоздание моделей документов из class BaseModel(pw.Model), базовая модель находится в Storage.Engine
  • в работе v0.3.1 информация о таблицах базы данных
  • Dockerfile
  • v0.3.0 базы данных: список, создание, удаление
  • разработка приостановлена для решения архитектурного вопроса; bump version 0.3
  • v0.2.6 engines, aka storage backends
  • v0.2.5 class InformationSchema(ModuleType) универсальный конфиг import information_schema
  • консольные команды
  • древняя история

код буквально сейчас находится в разработке, все замечания и предложения шлите пул-реквестами

License

poufdb распространяется по лицензии Apache 2, которая, возможно, будет изменена для коммерческого использования. Использование в академических целях (для обучения) бесплатное.