Files
HCFS/hcfs-python/setup.py
2025-07-30 09:34:16 +10:00

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,
)