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