[project] name = "open-notebook" version = "0.1.1" description = "An open source implementation of a research assistant, inspired by Google Notebook LM" authors = [ {name = "Luis Novo", email = "lfnovo@gmail.com"} ] readme = "README.md" classifiers = [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", ] requires-python = ">=3.11" dependencies = [ "streamlit>=1.39.0", "watchdog>=5.0.3", "pydantic>=2.9.2", "loguru>=0.7.2", "langchain>=0.3.3", "langgraph>=0.2.38", "humanize>=4.11.0", "streamlit-tags>=1.2.8", "streamlit-scrollable-textbox>=0.0.3", "tiktoken>=0.8.0", "streamlit-monaco>=0.1.3", "langgraph-checkpoint-sqlite>=2.0.0", "pymupdf==1.24.11", "python-magic>=0.4.27", "langdetect>=1.0.9", "youtube-transcript-api>=0.6.2", "openai>=1.52.0", "pre-commit>=4.0.1", "langchain-community>=0.3.3", "litellm>=1.50.1", "langchain-openai>=0.2.3", "langchain-anthropic>=0.2.3", "langchain-ollama>=0.2.0", "langchain-google-vertexai>=2.0.5", "langchain-google-genai>=2.0.1", "podcastfy>=0.4", "tomli>=2.0.2", "bs4>=0.0.2", "python-docx>=1.1.2", "python-pptx>=1.0.2", "openpyxl>=3.1.5", "google-generativeai>=0.8.3", "langchain-groq>=0.2.1", "groq>=0.12.0", "python-dotenv>=1.0.1", "sdblpy", ] [tool.setuptools] package-dir = {"jota_ai" = "src/open_notebook"} [project.optional-dependencies] dev = [ "ipykernel>=6.29.5", "ruff>=0.5.5", "mypy>=1.11.1", "types-requests>=2.32.0.20241016", "ipywidgets>=8.1.5", ] [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.isort] profile = "black" line_length = 88 [tool.ruff] line-length = 88 [tool.ruff.lint] select = ["E", "F", "I"] ignore = ["E501"] [tool.uv.sources] sdblpy = { git = "https://github.com/lfnovo/surreal-lite-py" }