blob: 0bacd74f0f056f556b0f5c7c06fb9b303bedcf10 [file]
[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "burr"
version = "0.30.1"
dependencies = [] # yes, there are none
requires-python = ">=3.9"
authors = [
{name = "Elijah ben Izzy", email = "elijah@dagworks.io"},
{name = "Stefan Krawczyk", email = "stefan@dagworks.io"},
]
maintainers = [
{name = "Elijah ben Izzy", email = "elijah@dagworks.io"},
{name = "Stefan Krawczyk", email = "stefan@dagworks.io"},
]
description = "A state machine for data projects"
readme = "README.md"
#license = {file = "LICENSE.txt"}
keywords = ["mlops", "data", "state-machine", "llmops"]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python"
]
[project.optional-dependencies]
streamlit = [
"streamlit",
"graphviz",
"matplotlib",
"sf-hamilton"
]
hamilton = [
"sf-hamilton"
]
graphviz = [
"graphviz"
]
postgresql = [
"psycopg2-binary"
]
redis = [
"redis"
]
tests = [
"pytest",
"pytest-asyncio",
"burr[hamilton]",
"pymongo",
"burr[hamilton]",
"langchain_core",
"langchain_community",
"pandas",
"psycopg2",
"pydantic[email]",
"pyarrow",
"redis",
"burr[opentelemetry]"
]
documentation = [
"burr[tests]",
"sphinx",
"sphinx-autobuild",
"myst-nb",
"furo",
"sphinx-sitemap",
"sphinx-toolbox",
"psycopg2-binary",
"redis",
"sphinxcontrib-googleanalytics"
]
tracking-client = [
"pydantic"
]
tracking-client-s3 = [
"burr[tracking-client]",
"boto3"
]
tracking-server-s3 = [
"aerich",
"aiobotocore",
"fastapi",
"tortoise-orm[accel, asyncmy]",
"burr[tracking-server]",
"typing-inspect"
]
tracking-server = [
"click",
"fastapi",
"uvicorn",
"pydantic",
"pydantic-settings",
"fastapi-pagination",
"fastapi-utils",
"aiofiles",
"requests",
"jinja2",
"openai", # temporary for the demo, we will likely remove
]
pydantic = [
"pydantic"
]
cli = [
"loguru",
"click",
"requests"
]
tracking = [
"burr[tracking-client]",
"burr[tracking-server]",
]
learn = [
"burr[tracking,streamlit,graphviz,hamilton, cli]"
]
start = [
"burr[learn]"
]
# All the bloatware from various LLM demos
# In the future most people will be relying on simple APIs, not this
# But its good for demos!
# TODO -- fill this up with whatever is needed for the demos, it's not complete
examples = [
"langchain",
"langchain-community",
"langchain-openai",
"opentelemetry-api",
"opentelemetry-sdk",
'opentelemetry-instrumentation-openai',
]
# just install everything for developers
developer = [
"burr[streamlit]",
"burr[graphviz]",
"burr[tracking]",
"burr[tests]",
"burr[documentation]",
"burr[bloat]",
"build",
"twine",
"pre-commit",
]
opentelemetry = [
"opentelemetry-api",
"opentelemetry-sdk",
]
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
include = ["burr", "burr.*"]
# we need to ensure this is there...
[tool.setuptools.package-data]
burr = [
"burr/tracking/server/build/**/*",
"burr/tracking/server/demo_data/**/*"
]
[tool.aerich]
tortoise_orm = "burr.tracking.server.s3.settings.TORTOISE_ORM"
location = "./burr/tracking/server/s3/migrations"
src_folder = "./."
[project.urls]
Homepage = "https://github.com/dagworks-inc/burr"
Documentation = "https://github.com/dagworks-inc/burr"
Repository = "https://github.com/dagworks-inc/burr"
"Bug Tracker" = "https://github.com/dagworks-inc/burr"
[project.scripts]
burr = "burr.cli.__main__:cli_run_server"
burr-demo = "burr.cli.__main__:cli_demo_server"
burr-admin-server = "burr.cli.__main__:cli_run_server"
burr-admin-publish = "burr.cli.__main__:cli_build_and_publish"
burr-admin-build-ui = "burr.cli.__main__:cli_build_ui"
burr-admin-generate-demo-data = "burr.cli.__main__:cli_generate_demo_data"
burr-test-case = "burr.cli.__main__:cli_test_case"