mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-22 21:09:58 +00:00
This PR changes the release process. Some parts are more complex, and other parts I've simplified. ## Simplifications * Combined `Create Release Commit` and `Create Python Release Commit` into a single workflow. By default, it does a release of all packages, but you can still choose to make just a Python or just Node/Rust release through the arguments. This will make it rarer that we create a Node release but forget about Python or vice-versa. * Releases are automatically generated once a tag is pushed. This eliminates the manual step of creating the release. * Release notes are automatically generated and changes are categorized based on the PR labels. * Removed the use of `LANCEDB_RELEASE_TOKEN` in favor of just using `GITHUB_TOKEN` where it wasn't necessary. In the one place it is necessary, I left a comment as to why it is. * Reused the version in `python/Cargo.toml` so we don't have two different versions in Python LanceDB. ## New changes * We now can create `preview` / `beta` releases. By default `Create Release Commit` will create a preview release, but you can select a "stable" release type and it will create a full stable release. * For Python, pre-releases go to fury.io instead of PyPI * `bump2version` was deprecated, so upgraded to `bump-my-version`. This also seems to better support semantic versioning with pre-releases. * `ci` changes will now be shown in the changelog, allowing changes like this to be visible to users. `chore` is still hidden. ## Versioning **NOTE**: unlike how it is in lance repo right now, the version in main is the last one released, including beta versions. --------- Co-authored-by: Lance Release <lance-dev@lancedb.com> Co-authored-by: Weston Pace <weston.pace@gmail.com>
105 lines
2.3 KiB
TOML
105 lines
2.3 KiB
TOML
[project]
|
|
name = "lancedb"
|
|
# version in Cargo.toml
|
|
dependencies = [
|
|
"deprecation",
|
|
"pylance==0.10.12",
|
|
"ratelimiter~=1.0",
|
|
"requests>=2.31.0",
|
|
"retry>=0.9.2",
|
|
"tqdm>=4.27.0",
|
|
"pydantic>=1.10",
|
|
"attrs>=21.3.0",
|
|
"semver",
|
|
"cachetools",
|
|
"overrides>=0.7",
|
|
]
|
|
description = "lancedb"
|
|
authors = [{ name = "LanceDB Devs", email = "dev@lancedb.com" }]
|
|
license = { file = "LICENSE" }
|
|
readme = "README.md"
|
|
requires-python = ">=3.8"
|
|
keywords = [
|
|
"data-format",
|
|
"data-science",
|
|
"machine-learning",
|
|
"arrow",
|
|
"data-analytics",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Environment :: Console",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Scientific/Engineering",
|
|
]
|
|
|
|
[project.urls]
|
|
repository = "https://github.com/lancedb/lancedb"
|
|
|
|
[project.optional-dependencies]
|
|
tests = [
|
|
"aiohttp",
|
|
"boto3",
|
|
"pandas>=1.4",
|
|
"pytest",
|
|
"pytest-mock",
|
|
"pytest-asyncio",
|
|
"duckdb",
|
|
"pytz",
|
|
"polars>=0.19",
|
|
"tantivy"
|
|
]
|
|
dev = ["ruff", "pre-commit"]
|
|
docs = [
|
|
"mkdocs",
|
|
"mkdocs-jupyter",
|
|
"mkdocs-material",
|
|
"mkdocstrings[python]",
|
|
]
|
|
clip = ["torch", "pillow", "open-clip"]
|
|
embeddings = [
|
|
"openai>=1.6.1",
|
|
"sentence-transformers",
|
|
"torch",
|
|
"pillow",
|
|
"open-clip-torch",
|
|
"cohere",
|
|
"huggingface_hub",
|
|
"InstructorEmbedding",
|
|
"google.generativeai",
|
|
"boto3>=1.28.57",
|
|
"awscli>=1.29.57",
|
|
"botocore>=1.31.57",
|
|
"ollama",
|
|
]
|
|
azure = ["adlfs>=2024.2.0"]
|
|
|
|
[tool.maturin]
|
|
python-source = "python"
|
|
module-name = "lancedb._lancedb"
|
|
|
|
[build-system]
|
|
requires = ["maturin>=1.4"]
|
|
build-backend = "maturin"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["F", "E", "W", "G", "TCH", "PERF"]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--strict-markers --ignore-glob=lancedb/embeddings/*.py"
|
|
markers = [
|
|
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
"asyncio",
|
|
"s3_test"
|
|
]
|