parishad 0.1.6__tar.gz → 0.1.7__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.
- {parishad-0.1.6 → parishad-0.1.7}/CHANGELOG.md +6 -0
- {parishad-0.1.6 → parishad-0.1.7}/PKG-INFO +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/pyproject.toml +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/__init__.py +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/cli/code.py +4 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/config/pipeline.core.yaml +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/config/pipeline.extended.yaml +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/config/pipeline.fast.yaml +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/data/models.json +1 -1
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/runner.py +3 -3
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/orchestrator/config_loader.py +2 -2
- {parishad-0.1.6 → parishad-0.1.7}/.github/workflows/publish.yml +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/.gitignore +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/CODE_OF_CONDUCT.md +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/CONTRIBUTING.md +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/LICENSE +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/README.md +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/SECURITY.md +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/docs/assets/logo.jpeg +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/docs/assets/logo.svg +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/__main__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/checker/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/checker/deterministic.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/checker/ensemble.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/checker/retrieval.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/cli/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/cli/main.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/cli/prarambh.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/cli/sthapana.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/config/modes.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/config/user_config.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/data/catalog.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/memory/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/base.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/huggingface.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/llama_cpp.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/mlx_lm.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/ollama.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/openai_api.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/backends/transformers_hf.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/costs.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/downloader.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/optimizations.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/profiles.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/reliability.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/models/tokenization.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/orchestrator/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/orchestrator/engine.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/orchestrator/exceptions.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/base.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/dandadhyaksha.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/darbari.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/majumdar.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/pantapradhan.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/prerak.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/raja.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/sacheev.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/sainik.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/sar_senapati.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/roles/vidushak.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/tools/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/tools/base.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/tools/fs.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/tools/perception.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/tools/retrieval.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/tools/shell.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/__init__.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/hardware.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/installer.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/logging.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/scanner.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/text.py +0 -0
- {parishad-0.1.6 → parishad-0.1.7}/src/parishad/utils/tracing.py +0 -0
|
@@ -5,6 +5,12 @@ All notable changes to the **Parishad** project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.1.7] - 2026-01-26
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Memory Optimization**: Reduced default context length from 8192 to 4096 tokens to prevent VRAM saturation and freezing on 4GB GPUs (like RTX 3050).
|
|
12
|
+
- **Windows TUI Rendering**: Fixed "garbage characters" in loading spinner by switching to ASCII-safe animation on Windows.
|
|
13
|
+
|
|
8
14
|
## [0.1.6] - 2026-01-26
|
|
9
15
|
|
|
10
16
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: parishad
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: A cost-aware, local-first council of heterogeneous LLMs for reliable reasoning, coding, and factual correctness
|
|
5
5
|
Project-URL: Homepage, https://github.com/parishad-council/parishad
|
|
6
6
|
Project-URL: Documentation, https://github.com/parishad-council/parishad#readme
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "parishad"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.7"
|
|
8
8
|
description = "A cost-aware, local-first council of heterogeneous LLMs for reliable reasoning, coding, and factual correctness"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -5,7 +5,7 @@ Parishad orchestrates multiple local language models into a structured "council"
|
|
|
5
5
|
that achieves higher reliability than a single model under strict compute budgets.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
__version__ = "0.1.
|
|
8
|
+
__version__ = "0.1.7"
|
|
9
9
|
|
|
10
10
|
from .orchestrator.engine import Parishad, ParishadEngine, PipelineConfig
|
|
11
11
|
from .models.runner import ModelRunner, ModelConfig
|
|
@@ -2610,7 +2610,10 @@ class ParishadApp(App):
|
|
|
2610
2610
|
# Process with Sabha council
|
|
2611
2611
|
progress = self.query_one("#role-progress", RoleProgressBar)
|
|
2612
2612
|
progress.reset()
|
|
2613
|
-
|
|
2613
|
+
if sys.platform == "win32":
|
|
2614
|
+
self.log_message("[dim] -- Sabha deliberating...[/dim]")
|
|
2615
|
+
else:
|
|
2616
|
+
self.log_message("[dim] ⎿ सभा विचार-विमर्श...[/dim]") # Sabha deliberating in Hindi
|
|
2614
2617
|
|
|
2615
2618
|
if not self.council:
|
|
2616
2619
|
self.log_message("\n[red]✗ Sabha council not loaded![/red]")
|
|
@@ -92,7 +92,7 @@ class SlotConfig:
|
|
|
92
92
|
backend: Backend | str = Backend.TRANSFORMERS
|
|
93
93
|
|
|
94
94
|
# Context and generation settings
|
|
95
|
-
context_length: int =
|
|
95
|
+
context_length: int = 4096
|
|
96
96
|
default_max_tokens: int = 1024
|
|
97
97
|
default_temperature: float = 0.5
|
|
98
98
|
top_p: float = 0.9
|
|
@@ -117,7 +117,7 @@ class SlotConfig:
|
|
|
117
117
|
extra: dict[str, Any] = field(default_factory=dict)
|
|
118
118
|
|
|
119
119
|
# Legacy fields for backward compatibility
|
|
120
|
-
max_context: int =
|
|
120
|
+
max_context: int = 4096 # Alias for context_length
|
|
121
121
|
top_k: int = 50
|
|
122
122
|
repetition_penalty: float = 1.0
|
|
123
123
|
|
|
@@ -131,7 +131,7 @@ class SlotConfig:
|
|
|
131
131
|
pass
|
|
132
132
|
|
|
133
133
|
# Sync max_context with context_length
|
|
134
|
-
if self.max_context !=
|
|
134
|
+
if self.max_context != 4096:
|
|
135
135
|
self.context_length = self.max_context
|
|
136
136
|
|
|
137
137
|
def to_backend_config(self) -> BackendConfig:
|
|
@@ -21,7 +21,7 @@ class RoleSpec:
|
|
|
21
21
|
name: str
|
|
22
22
|
class_name: str
|
|
23
23
|
slot: str
|
|
24
|
-
version: str = "0.1.
|
|
24
|
+
version: str = "0.1.7"
|
|
25
25
|
budget_tokens: int = 1000
|
|
26
26
|
dependencies: list[str] = field(default_factory=list)
|
|
27
27
|
max_tokens: Optional[int] = None
|
|
@@ -110,7 +110,7 @@ def load_pipeline_config(name: str, config_dir: Optional[Path] = None) -> list[R
|
|
|
110
110
|
name=role_name.lower(), # Always store as lowercase for consistent lookups
|
|
111
111
|
class_name=role_config.get("class", role_name.capitalize()),
|
|
112
112
|
slot=role_config.get("slot", "mid"),
|
|
113
|
-
version=role_config.get("version", "0.1.
|
|
113
|
+
version=role_config.get("version", "0.1.7"),
|
|
114
114
|
budget_tokens=role_config.get("budget_tokens", 1000),
|
|
115
115
|
dependencies=role_config.get("dependencies", []),
|
|
116
116
|
max_tokens=role_config.get("max_tokens"),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|