diff --git a/.github/workflows/linux_test.yml b/.github/workflows/linux_test.yml index 7bb432b..1cb9671 100644 --- a/.github/workflows/linux_test.yml +++ b/.github/workflows/linux_test.yml @@ -25,7 +25,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - python-version: [3.7, 3.8, 3.9, 3.10.5, 3.11.0, 3.12.0, 3.13.0, 3.14.0] + python-version: [3.8, 3.9, 3.10.5, 3.11.0, 3.12.0, 3.13.0, 3.14.0] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/macOS_test.yml b/.github/workflows/macOS_test.yml index 286694f..b7f12c0 100644 --- a/.github/workflows/macOS_test.yml +++ b/.github/workflows/macOS_test.yml @@ -25,7 +25,7 @@ jobs: fail-fast: false matrix: os: [macos-15-intel] - python-version: [3.7, 3.8, 3.9, 3.10.5, 3.11.0, 3.12.0, 3.13.0, 3.14.0] + python-version: [3.8, 3.9, 3.10.5, 3.11.0, 3.12.0, 3.13.0, 3.14.0] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/windows_test.yml b/.github/workflows/windows_test.yml index eed7d1c..1da6814 100644 --- a/.github/workflows/windows_test.yml +++ b/.github/workflows/windows_test.yml @@ -25,7 +25,7 @@ jobs: fail-fast: false matrix: os: [windows-2025, windows-2022] - python-version: [3.7, 3.8, 3.9, 3.10.5, 3.11.0, 3.12.0, 3.13.0, 3.14.0] + python-version: [3.8, 3.9, 3.10.5, 3.11.0, 3.12.0, 3.13.0, 3.14.0] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/CHANGELOG.md b/CHANGELOG.md index ba3a96a..f60424c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed +- CLI style modified +- `nava_help` function modified +- `Python 3.7` support dropped ## [0.9] - 2026-09-02 ### Added - CLI tests diff --git a/nava/cli.py b/nava/cli.py index 3c28e6a..e836b20 100644 --- a/nava/cli.py +++ b/nava/cli.py @@ -2,7 +2,8 @@ """Nava cli.""" import sys import argparse -from art import tprint +from art import text2art +from typio import type_print, TypeMode from .params import NAVA_VERSION, EXIT_MESSAGE, Engine from .functions import nava_help, play_cli @@ -54,8 +55,8 @@ def run(args: argparse.Namespace) -> None: engine = Engine(args.engine) play_cli(file_name, loop=loop, engine=engine) else: - tprint("Nava") - tprint("V:" + NAVA_VERSION) + type_print(text2art("Nava"), mode=TypeMode.LINE, delay=0.1) + type_print(text2art("V:" + NAVA_VERSION), mode=TypeMode.LINE, delay=0.1) nava_help() diff --git a/nava/functions.py b/nava/functions.py index b499a73..303fb61 100644 --- a/nava/functions.py +++ b/nava/functions.py @@ -9,6 +9,7 @@ from functools import wraps import importlib.util from typing import Callable, List, Dict, Any, Optional +from typio import type_print, TypeMode from .thread import NavaThread from .params import OVERVIEW, Engine from .params import SOUND_FILE_PLAY_ERROR, SOUND_FILE_EXIST_ERROR, ENGINE_TYPE_ERROR @@ -44,9 +45,9 @@ def sound_id_gen() -> int: def nava_help() -> None: """Print nava details.""" - print(OVERVIEW) - print("Repo : https://github.com/openscilab/nava") - print("Webpage : https://openscilab.com/\n") + type_print(OVERVIEW, mode=TypeMode.CHAR, delay=0.05) + type_print("Repo : https://github.com/openscilab/nava", mode=TypeMode.CHAR, delay=0.05) + type_print("Webpage : https://openscilab.com/\n", mode=TypeMode.CHAR, delay=0.05) def quote(func: Callable) -> Callable: diff --git a/others/meta.yaml b/others/meta.yaml index 1d83537..eaa6954 100644 --- a/others/meta.yaml +++ b/others/meta.yaml @@ -15,10 +15,11 @@ requirements: host: - pip - setuptools - - python >=3.7 + - python >=3.8 run: - art >=1.8 - - python >=3.7 + - typio >=0.4 + - python >=3.8 about: home: https://github.com/openscilab/nava license: MIT diff --git a/requirements-latest.txt b/requirements-latest.txt index 913c26d..1863545 100644 --- a/requirements-latest.txt +++ b/requirements-latest.txt @@ -1 +1,2 @@ art==6.5 +typio==1.2 diff --git a/setup.py b/setup.py index d3c0058..e8da5cf 100644 --- a/setup.py +++ b/setup.py @@ -37,15 +37,14 @@ def read_description() -> str: 'Source': 'https://github.com/openscilab/nava', 'Discord': 'https://discord.gg/MCbPKCFBs3', }, - install_requires=['art>=1.8'], - python_requires='>=3.7', + install_requires=['art>=1.8', 'typio>=0.4'], + python_requires='>=3.8', classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Natural Language :: English', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10',