#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import annotations

import os
from setuptools import setup


def build_entry_points() -> dict:
    core = [
        'guru=guru.cli:main',
        'guru-thermo=guru.thermo:main',
        'guru-iso-fit=guru.iso_fit:main',
        'guru-hugoniot=guru.hugoniot:main',
        'guru-tsv-cat=guru.tsv_cat:main',
        'guru-msd=guru.msd_diffusion:main',
        'guru-thermo-phase=guru.phase_tag:main',
        'guru-rdf=guru.rdf:main',
        'guru-equil=guru.equil:main',
        'guru-isentrope=guru.isentrope:main',
        'guru-prop-along=guru.prop_along:main',
        'guru-viscosity=guru.viscosity:main',
    ]
    extras = []
    if os.environ.get('GURU_WITH_EXTRAS'):
        extras.extend([
            'guru-mc-fit=guru.mc_fit:main',
            'guru-chains=guru.chain_analysis:main',
        ])
    return {'console_scripts': core + extras}


setup(entry_points=build_entry_points())
