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.14.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" }, | |
| ] | |
| license = "MIT" | |
| 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.20.0", | |
| "transformers<=5.12.0", | |
| "spaces", | |
| "boto3<=1.43.35", | |
| "pandas<=2.3.3", | |
| "pyarrow<=23.0.1", | |
| "openpyxl<=3.1.5", | |
| "markdown<=3.10.2", | |
| "tabulate<=0.9.0", | |
| "lxml<=6.1.1", | |
| "google-genai<=1.73.0", | |
| "openai<=2.31.0", | |
| "html5lib<=1.1", | |
| "beautifulsoup4<=4.14.3", | |
| "rapidfuzz<=3.14.5", | |
| "python-dotenv<=1.2.2", | |
| "pyexcel<=0.7.4" | |
| ] | |
| [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/cu129. Additionally installs the unsloth package | |
| torch = [ | |
| "torch<=2.9.1", | |
| "torchvision", | |
| "accelerate", | |
| "bitsandbytes", | |
| "unsloth<=2026.6.9", | |
| "unsloth_zoo<=2026.6.9", | |
| "timm", | |
| "xformers" | |
| ] | |
| # Support for llama-cpp-python is experimental - I have not directly tested the latest versions of llamacpp against the app | |
| llamacpp = [ | |
| "llama-cpp-python>=0.3.31", | |
| ] | |
| # Run Gradio as an mcp server | |
| mcp = [ | |
| "gradio[mcp]<=6.20.0" | |
| ] | |
| [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", | |
| ] |