Adopt pyproject.toml (#89)
* ditching setup.py in favour of pyproject.toml; bump to 0.3.2 * bump to 0.3.3
This commit is contained in:
parent
8e0779a22d
commit
4256030b4f
5
.github/workflows/unit-test.yaml
vendored
5
.github/workflows/unit-test.yaml
vendored
|
@ -53,8 +53,11 @@ jobs:
|
|||
|
||||
- name: Get cache key
|
||||
id: get-cache-key
|
||||
# using tomli so that it works on windows. From python 3.11, this can be switched to the
|
||||
# built-in tomllib
|
||||
run: |
|
||||
package_version=$(python setup.py --version)
|
||||
pip install tomli
|
||||
package_version=$(python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")
|
||||
cache_key="${{ runner.os }}-py${{ matrix.python-version }}-v${package_version}"
|
||||
echo "key=$cache_key" | tee -a ${{ matrix.GITHUB_OUTPUT }}
|
||||
|
||||
|
|
|
@ -21,5 +21,3 @@ try:
|
|||
haystack.telemetry.telemetry = None
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
__version__ = "0.3.2"
|
||||
|
|
71
pyproject.toml
Normal file
71
pyproject.toml
Normal file
|
@ -0,0 +1,71 @@
|
|||
# build backand and build dependencies
|
||||
[build-system]
|
||||
requires = ["setuptools >= 61.0"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[tool.setuptools]
|
||||
include-package-data = false
|
||||
packages.find.include = ["kotaemon*"]
|
||||
packages.find.exclude = ["tests*", "env*"]
|
||||
|
||||
# metadata and dependencies
|
||||
[project]
|
||||
name = "kotaemon"
|
||||
version = "0.3.3"
|
||||
requires-python = ">= 3.10"
|
||||
description = "Kotaemon core library for AI development."
|
||||
dependencies = [
|
||||
"langchain",
|
||||
"theflow",
|
||||
"llama-index>=0.9.0",
|
||||
"llama-hub",
|
||||
"gradio",
|
||||
"openpyxl",
|
||||
"cookiecutter",
|
||||
"click",
|
||||
"pandas",
|
||||
]
|
||||
readme = "README.md"
|
||||
license = { text = "MIT License" }
|
||||
authors = [
|
||||
{ name = "john", email = "john@cinnamon.is" },
|
||||
{ name = "ian", email = "ian@cinnamon.is" },
|
||||
{ name = "tadashi", email = "tadashi@cinnamon.is" },
|
||||
]
|
||||
classifiers = [
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"ipython",
|
||||
"pytest",
|
||||
"pre-commit",
|
||||
"black",
|
||||
"flake8",
|
||||
"sphinx",
|
||||
"coverage",
|
||||
"openai",
|
||||
"chromadb",
|
||||
"wikipedia",
|
||||
"duckduckgo-search",
|
||||
"googlesearch-python",
|
||||
"python-dotenv",
|
||||
"pytest-mock",
|
||||
"unstructured[pdf]",
|
||||
"farm-haystack==1.19.0",
|
||||
"sentence_transformers",
|
||||
"cohere",
|
||||
"elasticsearch",
|
||||
"pypdf",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
kh = "kotaemon.cli:main"
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/Cinnamon/kotaemon/"
|
||||
Repository = "https://github.com/Cinnamon/kotaemon/"
|
||||
Documentation = "https://github.com/Cinnamon/kotaemon/wiki"
|
76
setup.py
76
setup.py
|
@ -1,76 +0,0 @@
|
|||
import codecs
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
import setuptools
|
||||
|
||||
|
||||
def read(file_path: str) -> str:
|
||||
return codecs.open(file_path, "r").read()
|
||||
|
||||
|
||||
def get_version() -> str:
|
||||
version_file = read(str(Path("kotaemon", "__init__.py")))
|
||||
match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M)
|
||||
if match:
|
||||
return match.group(1)
|
||||
raise RuntimeError("Cannot find verison string")
|
||||
|
||||
|
||||
setuptools.setup(
|
||||
name="kotaemon",
|
||||
version=get_version(),
|
||||
author="john",
|
||||
author_email="john@cinnamon.com",
|
||||
description="Kotaemon core library for AI development",
|
||||
long_description=read("README.md"),
|
||||
long_description_content_type="text/markdown",
|
||||
url="https://github.com/Cinnamon/kotaemon/",
|
||||
packages=setuptools.find_packages(
|
||||
exclude=("tests", "tests.*", "examples", "examples.*")
|
||||
),
|
||||
install_requires=[
|
||||
"langchain",
|
||||
"theflow",
|
||||
"llama-index>=0.9.0",
|
||||
"llama-hub",
|
||||
"gradio",
|
||||
"openpyxl",
|
||||
"cookiecutter",
|
||||
"click",
|
||||
"pandas",
|
||||
],
|
||||
extras_require={
|
||||
"dev": [
|
||||
"ipython",
|
||||
"pytest",
|
||||
"pre-commit",
|
||||
"black",
|
||||
"flake8",
|
||||
"sphinx",
|
||||
"coverage",
|
||||
# optional dependency needed for test
|
||||
"openai",
|
||||
"chromadb",
|
||||
"wikipedia",
|
||||
"duckduckgo-search",
|
||||
"googlesearch-python",
|
||||
"python-dotenv",
|
||||
"pytest-mock",
|
||||
"unstructured[pdf]",
|
||||
"farm-haystack==1.19.0",
|
||||
"sentence_transformers",
|
||||
"cohere",
|
||||
"elasticsearch",
|
||||
"pypdf",
|
||||
],
|
||||
},
|
||||
entry_points={"console_scripts": ["kh=kotaemon.cli:main"]},
|
||||
python_requires=">=3.10",
|
||||
classifiers=[
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Operating System :: OS Independent",
|
||||
],
|
||||
include_package_data=True,
|
||||
)
|
Loading…
Reference in New Issue
Block a user