Metadata-Version: 2.4
Name: amabase
Version: 0.0.1
Summary: A simple and flexible asset management application built upon the Django framework. Can also be used as a building block library for more complex applications.
Author-email: Sébastien Hocquet <seb@ipamo.net>
Project-URL: Homepage, https://codeberg.org/ipamo/amabase.git
Project-URL: Bug Tracker, http://codeberg.org/ipamo/amabase/issues
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Dynamic: license-file

Amabase
=======

A simple and flexible asset management application built upon the Django framework.

Can also be used as a building block library for more complex applications.

(**WORK IN PROGRESS**)


## Getting started

### Install

    pip install amabase

### Use as a standalone application

Just run the provided `amabase` command line application.

This will automatically detect missing dependencies (and propose to install them), manage its custom SQLite database, and run a local development web server:

    amabase web

Visit the local website at http://127.0.0.1:8000/. Default credentials for the local development web server:
- Username: your Linux or Windows username
- Password: `Debug123`

See available commands:

    amabase --help

### Use in another Django project

Replace `manage.py` by:

```py
#!/usr/bin/env python3
import os

from amabase import main

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')

main()
```

In your `settings.py` file, remove settings that you would like to be managed by Amabase (see [Amabase default settings](amabase/conf/default.py)).

It is possible and easier to remove all settings, so that everything is managed by Amabase, except the setting `APPS` which should indicate which applications should be added (otherwise, only infrastructure applications and `amabase.base` will be included).

If `DATABASES` is not provided, Amabase will create and use a custom SQLite database.


## Components

Infrastructure:
- `amabase.utils`: General-purpose shared utilities. Depends only on the Python standard library.
- `amabase.django`: Django-related utilities and infrastructure.
- `amabase.conf`: Shared Amabase configuration objects. Depends on Django only for Django-related features.
  Provides `settings`, a SQLite `db` and the `main` function to create the command-line interface.

Base application:
- `amabase.base`: The base Django application (this is the only Django application required by Amabase).

Other applications:
- TODO


## Contribute

Pull requests are welcome.

See [contributing guidelines](CONTRIBUTING.md).


## Credits

This project is licensed under the terms of the [MIT license](LICENSE.txt).

Logo by [Kristian Salonen - icons-for-free.com](https://icons-for-free.com/authentik-1329545813622522974/) (CC0-1.0 license).
