cat-stack 1.0.2__tar.gz → 1.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {cat_stack-1.0.2 → cat_stack-1.0.4}/PKG-INFO +1 -1
  2. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/__about__.py +1 -1
  3. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/text_functions.py +11 -5
  4. {cat_stack-1.0.2 → cat_stack-1.0.4}/.gitignore +0 -0
  5. {cat_stack-1.0.2 → cat_stack-1.0.4}/LICENSE +0 -0
  6. {cat_stack-1.0.2 → cat_stack-1.0.4}/README.md +0 -0
  7. {cat_stack-1.0.2 → cat_stack-1.0.4}/pyproject.toml +0 -0
  8. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/__init__.py +0 -0
  9. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_batch.py +0 -0
  10. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_category_analysis.py +0 -0
  11. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_chunked.py +0 -0
  12. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_embeddings.py +0 -0
  13. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_formatter.py +0 -0
  14. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_pilot_test.py +0 -0
  15. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_providers.py +0 -0
  16. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_review_ui.py +0 -0
  17. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_tiebreaker.py +0 -0
  18. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_utils.py +0 -0
  19. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/_web_fetch.py +0 -0
  20. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/CoVe.py +0 -0
  21. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/__init__.py +0 -0
  22. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/all_calls.py +0 -0
  23. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/image_CoVe.py +0 -0
  24. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/image_stepback.py +0 -0
  25. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/pdf_CoVe.py +0 -0
  26. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/pdf_stepback.py +0 -0
  27. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/stepback.py +0 -0
  28. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/calls/top_n.py +0 -0
  29. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/classify.py +0 -0
  30. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/explore.py +0 -0
  31. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/extract.py +0 -0
  32. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/image_functions.py +0 -0
  33. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/images/circle.png +0 -0
  34. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/images/cube.png +0 -0
  35. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/images/diamond.png +0 -0
  36. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/images/overlapping_pentagons.png +0 -0
  37. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/images/rectangles.png +0 -0
  38. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/model_reference_list.py +0 -0
  39. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/pdf_functions.py +0 -0
  40. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/prompt_tune.py +0 -0
  41. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/summarize.py +0 -0
  42. {cat_stack-1.0.2 → cat_stack-1.0.4}/src/cat_stack/text_functions_ensemble.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cat-stack
3
- Version: 1.0.2
3
+ Version: 1.0.4
4
4
  Summary: Domain-agnostic text, image, PDF, and DOCX classification engine powered by LLMs
5
5
  Project-URL: Documentation, https://github.com/chrissoria/cat-stack#readme
6
6
  Project-URL: Issues, https://github.com/chrissoria/cat-stack/issues
@@ -1,7 +1,7 @@
1
1
  # SPDX-FileCopyrightText: 2025-present Christopher Soria <chrissoria@berkeley.edu>
2
2
  #
3
3
  # SPDX-License-Identifier: GPL-3.0-or-later
4
- __version__ = "1.0.2"
4
+ __version__ = "1.0.4"
5
5
  __author__ = "Chris Soria"
6
6
  __email__ = "chrissoria@berkeley.edu"
7
7
  __title__ = "cat-stack"
@@ -707,9 +707,11 @@ def explore_common_categories(
707
707
  )
708
708
 
709
709
  if error:
710
- raise RuntimeError(
711
- f"Model call failed on pass {pass_idx+1}, chunk {i+1}: {error}"
710
+ import sys
711
+ sys.stderr.write(
712
+ f"[CatStack] Warning: chunk {i+1} failed on pass {pass_idx+1}: {error}. Skipping.\n"
712
713
  )
714
+ continue
713
715
 
714
716
  items = []
715
717
  for raw_line in (reply or "").splitlines():
@@ -818,13 +820,17 @@ Output:
818
820
 
819
821
  print("\nTop categories:\n" + "\n".join(f"{i+1}. {c}" for i, c in enumerate(final[:max_categories])))
820
822
 
823
+ top = final[:max_categories]
824
+
821
825
  if filename:
822
- result.to_csv(filename, index=False)
823
- print(f"\nResults saved to {filename}")
826
+ import pandas as _pd
827
+ top_df = _pd.DataFrame({"rank": range(1, len(top) + 1), "category": top})
828
+ top_df.to_csv(filename, index=False)
829
+ print(f"\nTop {len(top)} categories saved to {filename}")
824
830
 
825
831
  return {
826
832
  "counts_df": result,
827
- "top_categories": final[:max_categories],
833
+ "top_categories": top,
828
834
  "raw_top_text": top_categories_text
829
835
  }
830
836
 
File without changes
File without changes
File without changes
File without changes