Skip to main content

Just a tool to relay incoming emails over to other mail servers

Project description

Development guide

Install

Currently py27 is the only supported python version. It is recommended that you install this tool within a fresh virtual environment. More info on https://virtualenv.pypa.io/en/stable/userguide/.

> cd ${repo_root}
> ${envpip} install -r requirements.txt -r requirements_${darwin/linux}.txt
> ${envpip} install .

Package depends on libsodium. Make sure to install:

> brew install libsodium # macos
> apt-get install libsodium-dev # linux

Testing

We use tox as the project's test runner. Make sure you have tox >= 3.5.3 installed in your python environment.

Run all tests

> cd ${repo_core}
> tox

Unit tests

> tox -e unit-${darwin/linux}

Integration tests

> tox -e integration-${darwin/linux}

Linting

We use flake8 as project's linter. Enforcement via:

> tox -e flake8

Some helper CLIs through make

There are some handy make commands that you can use. Check out usage:

> cd ${repo-root}
> make
USAGE:
> make [
	build: build python package
	unit-test: run unit tests with tox
	integration-test: run integration tests with tox
	test: run all tests
	lint: run flake8 linter with tox

	docker-build: build python package in a linux container
	docker-unit-test: run unit tests with tox in a linux container
	docker-integration-test: run integration tests with tox in a linux container
	docker-test: run all tests in a linux container
	docker-build-runtime: build docker image `relay:${VERSION}` that has installed mail-relay pacakge pulled from pypi
	shell: get interactive shell to builder/tester container

	clean: ...

	publish-pypi: publish package on pypi
	publish-docker-hub: publish image on docker hub
	release: manage release on github, publish on pypi as well as docker hub
]

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

mail-relay-0.1.16.tar.gz (51.8 kB view hashes)

Uploaded Source

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