personal memory agent
0

Configure Feed

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

solstone / pyproject.toml
5.0 kB 167 lines
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 # solstone/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 = "solstone.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 = ["solstone*"] 126 127[tool.setuptools.package-data] 128"solstone.apps" = ["*/app.json", "*/*.html", "*/guides/*.md", "*/talent/*.md", "*/talent/*.py", "*/talent/*.json", "*/talent/*.schema.json", "*/talent/*/SKILL.md", "*/static/*", "*/static/**/*"] 129"solstone.think" = ["*.md", "*.json", "templates/*.md", "policies/*.toml"] 130"solstone.talent" = ["*.md", "*.py", "*.schema.json", "*/SKILL.md", "*/references/*.md"] 131"solstone.observe" = ["*.md", "*.json", "*.schema.json", "categories/*.md", "transcribe/*.md", "transcribe/*.json", "transcribe/assets/*.onnx", "transcribe/parakeet_helper/*", "transcribe/parakeet_helper/**/*"] 132"solstone.convey" = ["templates/*.html", "static/*", "static/**/*"] 133 134# Development tools configuration 135[tool.ruff] 136target-version = "py310" 137exclude = [".venv", "scratch", "logs", "build", "dist"] 138 139[tool.ruff.lint] 140select = ["F", "E", "W", "I"] 141ignore = ["E501", "E203", "E402"] 142 143[tool.mypy] 144python_version = "3.12" 145warn_return_any = true 146warn_unused_configs = true 147exclude = ["tests", ".venv", "scratch", "logs", "build", "dist"] 148ignore_missing_imports = true 149ignore_errors = true 150 151[tool.pytest.ini_options] 152addopts = "--import-mode=importlib" 153testpaths = ["tests", "solstone/apps"] 154python_files = ["test_*.py"] 155python_classes = ["Test*"] 156python_functions = ["test_*"] 157markers = [ 158 "integration: marks tests as integration tests (deselect with '-m \"not integration\"')", 159] 160timeout = 15 161tmp_path_retention_policy = "none" 162filterwarnings = [ 163 # Third-party deprecation warnings (Python 3.14+) 164 "ignore:codecs.open.* is deprecated:DeprecationWarning", 165 "ignore:.*_UnionGenericAlias.* is deprecated:DeprecationWarning", 166 "ignore:.*DefaultEventLoopPolicy.* is deprecated:DeprecationWarning", 167]