lesana is a python3 library to organize collections of various kinds. It is designed to have a data storage / serialization format that is friendly to git and other VCSs, but decent performances.
To reach this aim it uses yaml as its serialization format, which is easy to store in a VCS, share between people and syncronize between different computers, but it also keeps an index of this data in a local xapian database in order to allow for fast searches.
lesana supports collections of any kind, as long as their entries can
be described with a mostly flat dictionary of fields of the types
described in the documentation file
Some example collection schemas are provided, but one big strenght of
lesana is the ability to customize your collection with custom fields by
simply writing a personalized
The recommended way to install lesana is to use the packages available for your distribution; see e.g. the list of distributions that provide lesana on repology.
lesana expects to run on a POSIX-like system and requires the following dependencies:
Under debian (and derivatives), the packages to install are:
apt install python3-jinja2 python3-ruamel.yaml python3-xapian \
lesana can be run in place from the git checkout / extracted tarball;
setup.py you will also need setuptools (e.g. from
python3-setuptools package under debian and
Lesana is hosted on sourcehut:
Copyright (C) 2016-2024 Elena Grandi
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.