Skip to content
Snippets Groups Projects
setup.py 1.26 KiB
Newer Older
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pathlib import Path

from setuptools import find_packages, setup

MODULE = "worker_{{cookiecutter.slug}}"
COMMAND = "worker-{{cookiecutter.slug}}"


def parse_requirements_line(line):
    """Special case for git requirements"""
    if line.startswith("git+http"):
        assert "@" in line, "Branch should be specified with suffix (ex: @master)"
        assert (
            "#egg=" in line
        ), "Package name should be specified with suffix (ex: #egg=kraken)"
        package_name = line.split("#egg=")[-1]
        return f"{package_name} @ {line}"
    else:
        return line


def parse_requirements():
    path = Path(__file__).parent.resolve() / "requirements.txt"
    assert path.exists(), f"Missing requirements: {path}"
    return list(
        map(parse_requirements_line, map(str.strip, path.read_text().splitlines()))
    )
with Path("VERSION").open() as file:
    VERSION = file.read()

setup(
    name=MODULE,
    description="{{ cookiecutter.description }}",
    author="{{ cookiecutter.author }}",
    author_email="{{ cookiecutter.email }}",
    install_requires=parse_requirements(),
    entry_points={"console_scripts": [f"{COMMAND}={MODULE}.worker:main"]},
    packages=find_packages(),
)