Files
MeshTerm/meshterm/__init__.py
T
Jean-Pierre MartineauandClaude Fable 5.1 c9f5a71ce7 Every Python file names its licence with an SPDX identifier
Apache-2.0 does not require per-file headers, but a file lifted out of the tree carried no marking at all. One comment line, first (or right after a shebang), on every .py under meshterm/, tests/, packaging/ and scripts/, plus the extensionless SPI bridge; tests/test_spdx.py keeps a new file from landing without one.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-13 13:09:18 -04:00

31 lines
1.0 KiB
Python

# SPDX-License-Identifier: Apache-2.0
"""MeshTerm is a full-featured TUI-based MeshCore client for your terminal.
Supports USB, Bluetooth and TCP companion connection. For Windows, macOS and Linux.
"""
from datetime import datetime
__version__ = "0.3.2"
__author__ = "Jean-Pierre Martineau"
#: The year MeshTerm was first published; the copyright span starts here.
COPYRIGHT_START_YEAR = 2026
def copyright_notice() -> str:
"""The one canonical copyright line, dated from :data:`COPYRIGHT_START_YEAR` to now.
A single publication year collapses to just that year ("Copyright © 2026 …"); once
time has moved on it becomes a span ("Copyright © 2026-2027 …"). Every splash and
screen that shows a copyright draws it from here so the wording, holder, and span can
never drift apart.
"""
year = datetime.now().year
span = (
str(COPYRIGHT_START_YEAR)
if year <= COPYRIGHT_START_YEAR
else f"{COPYRIGHT_START_YEAR}-{year}"
)
return f"Copyright © {span} {__author__}"