personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 170 lines 4.6 kB view raw
1[build-system] 2requires = ["setuptools>=61.0", "wheel"] 3build-backend = "setuptools.build_meta" 4 5[project] 6name = "solstone" 7version = "0.1.0" 8description = "Navigate Life Intelligently" 9readme = "README.md" 10requires-python = ">=3.11" 11license = {text = "AGPL-3.0-only"} 12authors = [ 13 {name = "Jer+AI", email = "jeremie.miller@gmail.com"} 14] 15classifiers = [ 16 "Development Status :: 3 - Alpha", 17 "Intended Audience :: Developers", 18 "License :: OSI Approved :: GNU Affero General Public License v3", 19 "Operating System :: POSIX :: Linux", 20 "Operating System :: MacOS :: MacOS X", 21 "Programming Language :: Python :: 3", 22 "Programming Language :: Python :: 3.11", 23 "Programming Language :: Python :: 3.12", 24 "Programming Language :: Python :: 3.13", 25 "Topic :: Multimedia :: Sound/Audio :: Analysis", 26 "Topic :: Multimedia :: Graphics :: Capture :: Screen Capture", 27 "Topic :: Scientific/Engineering :: Artificial Intelligence", 28] 29keywords = ["audio", "transcription", "screenshot", "multimodal", "ai", "gemini"] 30 31dependencies = [ 32 # Core dependencies 33 "python-dotenv", 34 "google-genai", 35 "Flask[async]", 36 "flask-sock", 37 "Markdown", 38 "mistune", 39 "python-frontmatter", 40 41 # Natural language time parsing 42 "timefhuman", 43 "Pillow", 44 "numpy", 45 "setproctitle", 46 "av", 47 48 "openai>=1.2.0", 49 "anthropic", 50 "httpx", 51 "h2", 52 "cryptography>=42", 53 "pyjwt>=2.8", 54 "jsonschema>=4.26,<5", 55 "genai-prices", 56 # Link tunnel service (think/link/): TLS 1.3 in memory-BIO mode over 57 # an opaque WebSocket; requires pyOpenSSL for the handshake-time 58 # verify callback that stdlib ssl can't express. 59 "pyOpenSSL>=24.0", 60 "websockets>=13.0", 61 "pypdf", 62 "pdf2image", 63 "weasyprint", 64 "icalendar", 65 "blessed>=1.20.0", 66 "psutil", 67 "tzlocal", 68 "python-slugify", 69 "rapidfuzz", 70 "typer", 71 "userpath>=1.9.2,<2", 72 73 # Audio processing 74 "soundfile", 75 "faster-whisper>=1.0.0", 76 "onnxruntime>=1.20.0,!=1.24.1; sys_platform == 'darwin'", 77 "kaldi-native-fbank>=1.22", 78 # apps/speakers/{owner,discovery}.py use sklearn.cluster.HDBSCAN. Previously 79 # pulled transitively via resemblyzer; now a direct dep. 80 "scikit-learn>=1.3", 81 82 # Media processing 83 "opencv-python-headless", 84 85 # Development tools 86 "ruff", 87 "mypy", 88 "pytest", 89 "pytest-asyncio", 90 "pytest-cov", 91 "pytest-timeout", 92 "freezegun", 93 "requests", 94] 95 96[project.optional-dependencies] 97parakeet-onnx-cpu = [ 98 "onnx-asr>=0.11.0", 99 "onnxruntime>=1.25.0", 100 "huggingface-hub>=0.24", 101] 102parakeet-onnx-cuda = [ 103 "onnx-asr>=0.11.0", 104 "onnxruntime-gpu>=1.25.0", 105 "huggingface-hub>=0.24", 106 "nvidia-cuda-runtime-cu12", 107 "nvidia-cudnn-cu12", 108 "nvidia-cublas-cu12", 109 "nvidia-cufft-cu12", 110 "nvidia-curand-cu12", 111 "nvidia-cuda-nvrtc-cu12", 112 "nvidia-nvjitlink-cu12", 113] 114 115[project.scripts] 116sol = "think.sol_cli:main" 117 118[project.urls] 119Homepage = "https://github.com/solpbc/solstone" 120Repository = "https://github.com/solpbc/solstone" 121Documentation = "https://github.com/solpbc/solstone/blob/main/README.md" 122"Bug Tracker" = "https://github.com/solpbc/solstone/issues" 123 124[tool.setuptools.packages.find] 125include = ["apps*", "think*", "convey*", "observe*", "talent*"] 126 127[tool.setuptools.package-data] 128apps = ["*/templates/*.html", "*/talent/*.md"] 129think = ["*.md", "*.json", "templates/*.md", "policies/*.toml"] 130talent = ["*.md", "*.py"] 131observe = ["*.md", "categories/*.md", "transcribe/*.md", "transcribe/assets/*.onnx"] 132convey = [ 133 "templates/*.html", 134 "static/*", 135] 136 137# Development tools configuration 138[tool.ruff] 139target-version = "py310" 140exclude = [".venv", "scratch", "logs", "build", "dist"] 141 142[tool.ruff.lint] 143select = ["F", "E", "W", "I"] 144ignore = ["E501", "E203", "E402"] 145 146[tool.mypy] 147python_version = "3.12" 148warn_return_any = true 149warn_unused_configs = true 150exclude = ["tests", ".venv", "scratch", "logs", "build", "dist"] 151ignore_missing_imports = true 152ignore_errors = true 153 154[tool.pytest.ini_options] 155addopts = "--import-mode=importlib" 156testpaths = ["tests", "apps"] 157python_files = ["test_*.py"] 158python_classes = ["Test*"] 159python_functions = ["test_*"] 160markers = [ 161 "integration: marks tests as integration tests (deselect with '-m \"not integration\"')", 162] 163timeout = 15 164tmp_path_retention_policy = "none" 165filterwarnings = [ 166 # Third-party deprecation warnings (Python 3.14+) 167 "ignore:codecs.open.* is deprecated:DeprecationWarning", 168 "ignore:.*_UnionGenericAlias.* is deprecated:DeprecationWarning", 169 "ignore:.*DefaultEventLoopPolicy.* is deprecated:DeprecationWarning", 170]