110 lines
3.1 KiB
Python
110 lines
3.1 KiB
Python
"""
|
|
Setup configuration for HCFS Python SDK
|
|
"""
|
|
|
|
from setuptools import setup, find_packages
|
|
from pathlib import Path
|
|
|
|
# Read the contents of README file
|
|
this_directory = Path(__file__).parent
|
|
long_description = (this_directory / "README.md").read_text(encoding='utf-8')
|
|
|
|
# Read requirements
|
|
def read_requirements(filename):
|
|
with open(filename, 'r') as f:
|
|
return [line.strip() for line in f if line.strip() and not line.startswith('#')]
|
|
|
|
# Core requirements
|
|
install_requires = [
|
|
"httpx>=0.25.0",
|
|
"requests>=2.31.0",
|
|
"pydantic>=2.5.0",
|
|
"pydantic-settings>=2.1.0",
|
|
"cachetools>=5.3.0",
|
|
"typing-extensions>=4.8.0"
|
|
]
|
|
|
|
# Optional dependencies
|
|
extras_require = {
|
|
'websocket': [
|
|
'websockets>=12.0',
|
|
],
|
|
'monitoring': [
|
|
'prometheus-client>=0.19.0',
|
|
'structlog>=23.2.0',
|
|
],
|
|
'dev': [
|
|
'pytest>=7.4.0',
|
|
'pytest-asyncio>=0.21.0',
|
|
'pytest-mock>=3.12.0',
|
|
'black>=23.9.0',
|
|
'isort>=5.12.0',
|
|
'mypy>=1.6.0',
|
|
'sphinx>=7.1.0',
|
|
'sphinx-rtd-theme>=1.3.0',
|
|
],
|
|
'api': [
|
|
'fastapi>=0.104.0',
|
|
'uvicorn[standard]>=0.24.0',
|
|
'sqlalchemy>=2.0.23',
|
|
'sentence-transformers>=2.2.2',
|
|
'scikit-learn>=1.3.0',
|
|
'numpy>=1.24.0',
|
|
]
|
|
}
|
|
|
|
# Convenience extras
|
|
extras_require['all'] = list(set(
|
|
dep for deps in extras_require.values() for dep in deps
|
|
))
|
|
|
|
setup(
|
|
name="hcfs-sdk",
|
|
version="2.0.0",
|
|
author="HCFS Development Team",
|
|
author_email="dev@hcfs.dev",
|
|
description="Python SDK for the Context-Aware Hierarchical Context File System",
|
|
long_description=long_description,
|
|
long_description_content_type="text/markdown",
|
|
url="https://github.com/hcfs/hcfs",
|
|
project_urls={
|
|
"Documentation": "https://docs.hcfs.dev",
|
|
"Source": "https://github.com/hcfs/hcfs",
|
|
"Tracker": "https://github.com/hcfs/hcfs/issues",
|
|
},
|
|
packages=find_packages(),
|
|
classifiers=[
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"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 :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"Topic :: Text Processing",
|
|
"Typing :: Typed",
|
|
],
|
|
python_requires=">=3.8",
|
|
install_requires=install_requires,
|
|
extras_require=extras_require,
|
|
include_package_data=True,
|
|
package_data={
|
|
"hcfs": ["py.typed"],
|
|
},
|
|
entry_points={
|
|
"console_scripts": [
|
|
"hcfs=hcfs.cli:main",
|
|
],
|
|
},
|
|
keywords=[
|
|
"ai", "context", "search", "embeddings", "api", "sdk",
|
|
"hierarchical", "file-system", "knowledge-management"
|
|
],
|
|
zip_safe=False,
|
|
) |