Metadata-Version: 2.4
Name: ddmail_webapp
Version: 0.0.2
Summary: Main web application for the DDMail project.
Project-URL: Homepage, https://github.com/drzobin/ddmail_webapp
Project-URL: Issues, https://github.com/drzobin/ddmail_webapp/issues
Author-email: Robin Larsson <me@drz.se>
License-Expression: AGPL-3.0
License-File: LICENSE
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Requires-Dist: argon2-cffi
Requires-Dist: ddmail-validators
Requires-Dist: dnspython
Requires-Dist: flask
Requires-Dist: flask-session
Requires-Dist: flask-sqlalchemy
Requires-Dist: flask-wtf
Requires-Dist: gunicorn
Requires-Dist: mysqlclient
Requires-Dist: requests
Requires-Dist: toml
Provides-Extra: dev
Requires-Dist: argon2-cffi; extra == 'dev'
Requires-Dist: ddmail-validators; extra == 'dev'
Requires-Dist: dnspython; extra == 'dev'
Requires-Dist: flake8; extra == 'dev'
Requires-Dist: flask; extra == 'dev'
Requires-Dist: flask-session; extra == 'dev'
Requires-Dist: flask-sqlalchemy; extra == 'dev'
Requires-Dist: flask-wtf; extra == 'dev'
Requires-Dist: gunicorn; extra == 'dev'
Requires-Dist: hatchling; extra == 'dev'
Requires-Dist: mysqlclient; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: requests; extra == 'dev'
Requires-Dist: toml; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: test
Requires-Dist: argon2-cffi; extra == 'test'
Requires-Dist: ddmail-validators; extra == 'test'
Requires-Dist: dnspython; extra == 'test'
Requires-Dist: flake8; extra == 'test'
Requires-Dist: flask; extra == 'test'
Requires-Dist: flask-session; extra == 'test'
Requires-Dist: flask-sqlalchemy; extra == 'test'
Requires-Dist: flask-wtf; extra == 'test'
Requires-Dist: gunicorn; extra == 'test'
Requires-Dist: mysqlclient; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: requests; extra == 'test'
Requires-Dist: toml; extra == 'test'
Description-Content-Type: text/markdown

# What is ddmail_webapp
Main web application for the DDMail project.

## What is DDMail
DDMail is a e-mail system/service that prioritize privacy and security. A current production example can be found at www.ddmail.se

## Operating system
Developt for and tested on debian 12.

## Installing using pip
`pip install ddmail-webapp`

## Building and installing from source using hatchling.

Step 1: clone github repo<br>
`git clone https://github.com/drzobin/ddmail_webapp [code path]`<br>
`cd [code path]`<br>
<br>
Step 2: Setup python virtual environments<br>
`python -m venv [venv path]`<br>
`source [venv path]/bin/activate`<br>
<br>
Step 3: Install package and required dependencies<br>
`pip install -e .[dev]`<br>
<br>
Step 4: Build package<br>
`python -m pip install --upgrade build`<br>
`python -m build`<br> 
<br>
Packages is now located under dist folder<br>
<br>
Step 5: Install package<br>
`pip install dist/[package name].whl`<br>

## Testing
`cd [code path]`<br>
`pytest --cov=ddmail_webapp tests/ --config=[config file path]`

## Installation using podmon for development
Here is instruction how to install ddmail_webapp locally for development using podman.<br> 

You can run ddmail locally in Podman by following the below steps. It has been
verified to work with Podman version `4.9.3` and podman-compose `1.0.6`.

Before you start, make sure you clone the below repositories and make sure they
are located in the same directory as `ddmail_webapp`:

* https://github.com/drzobin/ddmail_email_remover
* https://github.com/drzobin/ddmail_dmcp_keyhandler
* https://github.com/drzobin/ddmail_openpgp_keyhandler
* https://github.com/drzobin/ddmail_backup_receiver

```bash
# Once the above repositories are cloned, launch ddmail.
cd ddmail/
podman compose up --build
```
