File size: 1,068 Bytes
bfd6783
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50094a0
bfd6783
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50094a0
bfd6783
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
"""Bundled features.

To add your own: subclass :class:`~finbot.features.base.Feature`, then include
it in the list passed to the registry (see ``finbot.app.build_services``).
Nothing else in the codebase needs to change.
"""

from __future__ import annotations

from .base import (
    Attachment,
    BotContext,
    CommandSpec,
    Feature,
    Reply,
    Services,
    SimpleFeature,
)
from .budgets import BudgetsFeature
from .coaching import CoachingFeature
from .core import CoreFeature
from .dashboard import DashboardFeature
from .expenses import ExpensesFeature

__all__ = [
    "Attachment",
    "BotContext",
    "BudgetsFeature",
    "CoachingFeature",
    "CommandSpec",
    "CoreFeature",
    "ExpensesFeature",
    "Feature",
    "Reply",
    "Services",
    "SimpleFeature",
    "default_features",
]


def default_features() -> list[Feature]:
    """The stock feature set, in registration order."""
    return [
        ExpensesFeature(),
        BudgetsFeature(),
        DashboardFeature(),
        CoachingFeature(),
        CoreFeature(),
    ]