[project] name = "heurams" version = "0.5.0" authors = [{ name = "pluvium27", email = "pluvium27@outlook.com" }] description = "Heuristic Auxiliary Memory Scheduler" readme = "README.md" requires-python = ">=3.12" classifiers = [ "Programming Language :: Python :: 3", "Operating System :: OS Independent", ] license = "AGPL-3.0-or-later" license-files = ["LICENSE"] dependencies = [ # 这些依赖只能驱动 kernel 程序库 "tabulate>=0.10.0", "toml>=0.10.2", "transitions>=0.9.3", ] [project.optional-dependencies] interface = [ # 基本用户界面依赖 "textual>=8.2.3", "psutil>=7.2.2", ] algo-fsrs = [ "fsrs>=6.3.1", # FSRS 算法底层依赖 ] tts-edgetts = [ "edge-tts>=7.2.8", # 微软 TTS ] misc-jieba = [ "jieba>=0.42.1", # 用于中文智能分词 ] llm-openai = [ "openai>=2.32.0", ] audio-playsound = [ "playsound==1.2.2", "pygobject>=3.56.2", # playsound 依赖它 ] dev = [ # 调试所需依赖 "zmq>=0.0.0", # 用于 ZMQ 远程调试服务器, 在 linux 上建议先安装 libzmq "pytest>=8.0.0", # 用于普通测试 "pytest-cov>=6.0.0", ] all = [ "heurams[algo-fsrs]", "heurams[tts-edgetts]", "heurams[misc-jieba]", "heurams[llm-openai]", "heurams[audio-playsound]", "heurams[dev]", ] [project.urls] Homepage = "https://ams.pluv.top" Issues = "https://github.com/heurams/heurams/issues" [project.scripts] heurams = "heurams.__main__:main" tui = "heurams.interface.__main__:main" heurams-tui = "heurams.interface.__main__:main" [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py", "*_test.py"] pythonpath = ["src"] markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", "integration: marks tests as integration tests", ] [build-system] requires = ["uv_build>=0.7.19"] build-backend = "uv_build"