Spaces:
Running
on
Zero
Running
on
Zero
| [build-system] | |
| requires = ["setuptools>=61.0", "wheel"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "llm_topic_modelling" | |
| version = "0.6.0" | |
| description = "Generate thematic summaries from open text in tabular data files with a large language model." | |
| requires-python = ">=3.10" | |
| readme = "README.md" | |
| authors = [ | |
| { name = "Sean Pedrick-Case", email = "spedrickcase@lambeth.gov.uk" }, | |
| ] | |
| maintainers = [ | |
| { name = "Sean Pedrick-Case", email = "spedrickcase@lambeth.gov.uk" }, | |
| ] | |
| keywords = [ | |
| "topic-modelling", | |
| "topic-modeling", | |
| "llm", | |
| "large-language-models", | |
| "thematic-analysis", | |
| "text-analysis", | |
| "nlp", | |
| "natural-language-processing", | |
| "text-summarization", | |
| "text-summarisation", | |
| "thematic-summaries", | |
| "gradio", | |
| "data-analysis", | |
| "tabular-data", | |
| "excel", | |
| "csv", | |
| "open-text", | |
| "text-mining" | |
| ] | |
| classifiers = [ | |
| "Development Status :: 4 - Beta", | |
| "Intended Audience :: Developers", | |
| "Intended Audience :: Science/Research", | |
| "Intended Audience :: Information Technology", | |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", | |
| "Topic :: Text Processing :: Linguistic", | |
| "Topic :: Text Processing :: Markup", | |
| "Topic :: Scientific/Engineering :: Information Analysis", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Python :: 3.12", | |
| "Programming Language :: Python :: 3.13", | |
| ] | |
| dependencies = [ | |
| "gradio==6.0.2", | |
| "transformers==4.57.2", | |
| "spaces==0.42.1", | |
| "boto3==1.42.1", | |
| "pandas<=2.3.3", | |
| "pyarrow>=21.0.0", | |
| "openpyxl>=3.1.5", | |
| "markdown>=3.7", | |
| "tabulate>=0.9.0", | |
| "lxml>=5.3.0", | |
| "google-genai<=1.52.0", | |
| "openai<=2.8.1", | |
| "html5lib>=1.1", | |
| "beautifulsoup4>=4.12.3", | |
| "rapidfuzz>=3.13.0", | |
| "python-dotenv>=1.1.0" | |
| ] | |
| [project.optional-dependencies] | |
| dev = ["pytest"] | |
| test = ["pytest", "pytest-cov"] | |
| # Extra dependencies for VLM models | |
| # For torch you should use --index-url https://download.pytorch.org/whl/cu128. Additionally installs the unsloth package | |
| torch = [ | |
| "torch<=2.9.1", | |
| "torchvision", | |
| "accelerate", | |
| "bitsandbytes", | |
| "unsloth==2025.11.6", | |
| "unsloth_zoo==2025.11.6", | |
| "timm", | |
| "xformers" | |
| ] | |
| # If you want to install llama-cpp-python in GPU mode, use cmake.args="-DGGML_CUDA=on" . If that doesn't work, try specific wheels for your system, e.g. for Linux see files in https://github.com/JamePeng/llama-cpp-python/releases. More details on installation here: https://llama-cpp-python.readthedocs.io/en/latest | |
| llamacpp = [ | |
| "llama-cpp-python>=0.3.16", | |
| ] | |
| # Run Gradio as an mcp server | |
| mcp = [ | |
| "gradio[mcp]==6.0.2" | |
| ] | |
| [project.urls] | |
| Homepage = "https://github.com/seanpedrick-case/llm_topic_modelling" | |
| repository = "https://github.com/seanpedrick-case/llm_topic_modelling" | |
| [tool.setuptools] | |
| packages = ["tools"] | |
| py-modules = ["app"] | |
| # Configuration for Ruff linter: | |
| [tool.ruff] | |
| line-length = 88 | |
| [tool.ruff.lint] | |
| select = ["E", "F", "I"] | |
| ignore = [ | |
| "E501", # line-too-long (handled with Black) | |
| "E402", # module-import-not-at-top-of-file (sometimes needed for conditional imports) | |
| ] | |
| [tool.ruff.lint.per-file-ignores] | |
| "__init__.py" = ["F401"] # Allow unused imports in __init__.py | |
| # Configuration for a Black formatter: | |
| [tool.black] | |
| line-length = 88 | |
| target-version = ['py310'] | |
| # Configuration for pytest: | |
| [tool.pytest.ini_options] | |
| filterwarnings = [ | |
| "ignore::DeprecationWarning:click.parser", | |
| "ignore::DeprecationWarning:weasel.util.config", | |
| "ignore::DeprecationWarning:builtin type", | |
| "ignore::DeprecationWarning:websockets.legacy", | |
| "ignore::DeprecationWarning:websockets.server", | |
| "ignore::DeprecationWarning:spacy.cli._util", | |
| "ignore::DeprecationWarning:weasel.util.config", | |
| "ignore::DeprecationWarning:importlib._bootstrap", | |
| ] | |
| testpaths = ["test"] | |
| python_files = ["test_*.py", "*_test.py"] | |
| python_classes = ["Test*"] | |
| python_functions = ["test_*"] | |
| addopts = [ | |
| "-v", | |
| "--tb=short", | |
| "--strict-markers", | |
| "--disable-warnings", | |
| ] |