4d2df860ce
- detect.py: ActivityTrack + detect_one/detect_all (bbox pre-filter →
start/end proximity 25m → path conformance 50m/30% → effort extraction
with avg speed/HR/power and Coggan NP)
- cli.py: `bincio segments detect` for retroactive detection over stored
timeseries JSONs, with optional --activity-id / --segment-id filters
- ingest.py: non-fatal hook at end of ingest_parsed runs detect_all
- server.py: GET /api/segments/{id}/efforts and POST /api/segments/{id}/detect
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
"""Top-level CLI entry point."""
|
|
|
|
import click
|
|
|
|
from bincio import __version__
|
|
|
|
|
|
@click.group()
|
|
@click.version_option(__version__)
|
|
def main() -> None:
|
|
"""BincioActivity — federated, open-source activity stats."""
|
|
|
|
|
|
from bincio.extract.cli import extract # noqa: E402
|
|
from bincio.render.cli import render # noqa: E402
|
|
from bincio.edit.cli import edit # noqa: E402
|
|
from bincio.import_.cli import import_group # noqa: E402
|
|
from bincio.serve.init_cmd import init # noqa: E402
|
|
from bincio.serve.cli import serve # noqa: E402
|
|
from bincio.dev import dev # noqa: E402
|
|
from bincio.reextract_cmd import reextract_originals # noqa: E402
|
|
from bincio.sync_strava import sync_strava_cmd # noqa: E402
|
|
from bincio.segments.cli import segments_group # noqa: E402
|
|
|
|
main.add_command(extract)
|
|
main.add_command(render)
|
|
main.add_command(edit)
|
|
main.add_command(import_group)
|
|
main.add_command(init)
|
|
main.add_command(serve)
|
|
main.add_command(dev)
|
|
main.add_command(reextract_originals)
|
|
main.add_command(sync_strava_cmd)
|
|
main.add_command(segments_group)
|