[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "hcfs" version = "0.1.0" description = "Context-Aware Hierarchical Context File System for agentic AI cognition" readme = "README.md" license = {file = "LICENSE"} authors = [ {name = "HCFS Project", email = "hcfs@deepblack.cloud"} ] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "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 :: Scientific/Engineering :: Artificial Intelligence", "Topic :: System :: Filesystems", ] dependencies = [ "fuse-python>=1.0.0", "sqlalchemy>=1.4.0", "sentence-transformers>=2.0.0", "numpy>=1.21.0", "pydantic>=1.8.0", "fastapi>=0.68.0", "uvicorn>=0.15.0", "python-multipart>=0.0.5", "aiofiles>=0.7.0", "click>=8.0.0", ] requires-python = ">=3.8" [project.optional-dependencies] dev = [ "pytest>=6.0.0", "pytest-asyncio>=0.18.0", "pytest-cov>=2.12.0", "black>=21.0.0", "isort>=5.9.0", "flake8>=3.9.0", "mypy>=0.910", "pre-commit>=2.15.0", ] docs = [ "sphinx>=4.0.0", "sphinx-rtd-theme>=0.5.0", "myst-parser>=0.15.0", ] neo4j = [ "neo4j>=4.4.0", ] benchmark = [ "memory-profiler>=0.60.0", "psutil>=5.8.0", "matplotlib>=3.4.0", ] [project.urls] Homepage = "https://github.com/anthonyrawlins/hcfs" Documentation = "https://hcfs.readthedocs.io" Repository = "https://github.com/anthonyrawlins/hcfs" "Bug Tracker" = "https://github.com/anthonyrawlins/hcfs/issues" [project.scripts] hcfs = "hcfs.cli:main" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] hcfs = ["py.typed"] [tool.black] line-length = 88 target-version = ["py38", "py39", "py310", "py311", "py312"] [tool.isort] profile = "black" line_length = 88 [tool.mypy] python_version = "3.8" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true strict_equality = true [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "--cov=hcfs --cov-report=term-missing --cov-report=html" [tool.coverage.run] source = ["src/hcfs"] omit = ["*/tests/*", "*/test_*"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ]