Skip to main content

Manage collection inventories throught yaml files.

Project description

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 field_types.

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 settings.yaml.

Installation

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.

Alternatively, the source code for lesana can be downloaded from the git repository at https://git.sr.ht/~valhalla/lesana; and releases are made on pypi.

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 \
            python3-dateutil python3-git

lesana can be run in place from the git checkout / extracted tarball; to use setup.py you will also need setuptools (e.g. from the python3-setuptools package under debian and derivatives).

Contributing

Lesana is hosted on sourcehut:

License

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/>.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lesana-0.10.1.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

lesana-0.10.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file lesana-0.10.1.tar.gz.

File metadata

  • Download URL: lesana-0.10.1.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for lesana-0.10.1.tar.gz
Algorithm Hash digest
SHA256 7be10f6afef5571a6528d733f4d4d3dd542a73e7687048cb020710b96d37be8a
MD5 d4d91e7e85c7ff8436b6dfeeb28aa040
BLAKE2b-256 e077509739c4e34fc04772b5a6cf0f7cad873d24520dac97f029d95f45f00825

See more details on using hashes here.

File details

Details for the file lesana-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: lesana-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for lesana-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8e5d220aa5cdeb246c58d68af38d1598da50faf9f56ece646ad367c10349cec2
MD5 31cd237274d082bba32705a2c1dbde80
BLAKE2b-256 2ec8453a68471d68df43e31efbeb6923b2f14ef3431ec75437ec72b912597239

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page