parishad 0.1.1__tar.gz → 0.1.3__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.1 → parishad-0.1.3}/.github/workflows/publish.yml +15 -5
- parishad-0.1.3/.gitignore +160 -0
- {parishad-0.1.1 → parishad-0.1.3}/CHANGELOG.md +11 -0
- {parishad-0.1.1 → parishad-0.1.3}/PKG-INFO +2 -3
- {parishad-0.1.1 → parishad-0.1.3}/pyproject.toml +2 -2
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/__init__.py +1 -1
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/config/pipeline.core.yaml +1 -1
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/config/pipeline.extended.yaml +1 -1
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/config/pipeline.fast.yaml +1 -1
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/data/models.json +1 -1
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/orchestrator/config_loader.py +1 -1
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/tools/perception.py +2 -1
- {parishad-0.1.1 → parishad-0.1.3}/CODE_OF_CONDUCT.md +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/CONTRIBUTING.md +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/LICENSE +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/README.md +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/SECURITY.md +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/docs/assets/logo.jpeg +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/docs/assets/logo.svg +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/__main__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/checker/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/checker/deterministic.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/checker/ensemble.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/checker/retrieval.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/cli/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/cli/code.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/cli/main.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/cli/prarambh.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/cli/sthapana.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/config/modes.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/config/user_config.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/data/catalog.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/memory/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/base.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/huggingface.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/llama_cpp.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/mlx_lm.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/ollama.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/openai_api.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/backends/transformers_hf.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/costs.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/downloader.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/optimizations.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/profiles.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/reliability.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/runner.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/models/tokenization.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/orchestrator/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/orchestrator/engine.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/orchestrator/exceptions.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/base.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/dandadhyaksha.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/darbari.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/majumdar.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/pantapradhan.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/prerak.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/raja.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/sacheev.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/sainik.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/sar_senapati.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/roles/vidushak.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/tools/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/tools/base.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/tools/fs.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/tools/retrieval.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/tools/shell.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/utils/__init__.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/utils/hardware.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/utils/logging.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/utils/scanner.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/utils/text.py +0 -0
- {parishad-0.1.1 → parishad-0.1.3}/src/parishad/utils/tracing.py +0 -0
|
@@ -35,19 +35,27 @@ jobs:
|
|
|
35
35
|
# Extract version from pyproject.toml
|
|
36
36
|
VERSION=$(python -c "import toml; print(toml.load('pyproject.toml')['project']['version'])")
|
|
37
37
|
echo "Detected version: $VERSION"
|
|
38
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
38
39
|
|
|
39
40
|
# Check if tag exists
|
|
40
41
|
if git rev-parse "v$VERSION" >/dev/null 2>&1; then
|
|
41
|
-
echo "Tag v$VERSION already exists.
|
|
42
|
-
|
|
42
|
+
echo "Tag v$VERSION already exists."
|
|
43
|
+
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
|
|
44
|
+
echo "Manual trigger detected. Retrying release for existing version."
|
|
45
|
+
echo "new_release=true" >> $GITHUB_OUTPUT
|
|
46
|
+
echo "skip_tag=true" >> $GITHUB_OUTPUT
|
|
47
|
+
else
|
|
48
|
+
echo "Skipping release to prevent duplicates."
|
|
49
|
+
echo "new_release=false" >> $GITHUB_OUTPUT
|
|
50
|
+
fi
|
|
43
51
|
else
|
|
44
52
|
echo "New version detected!"
|
|
45
53
|
echo "new_release=true" >> $GITHUB_OUTPUT
|
|
46
|
-
echo "
|
|
54
|
+
echo "skip_tag=false" >> $GITHUB_OUTPUT
|
|
47
55
|
fi
|
|
48
56
|
|
|
49
57
|
- name: Create Tag
|
|
50
|
-
if: steps.check_version.outputs.new_release == 'true'
|
|
58
|
+
if: steps.check_version.outputs.new_release == 'true' && steps.check_version.outputs.skip_tag != 'true'
|
|
51
59
|
env:
|
|
52
60
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
53
61
|
run: |
|
|
@@ -59,7 +67,9 @@ jobs:
|
|
|
59
67
|
|
|
60
68
|
- name: Build package
|
|
61
69
|
if: steps.check_version.outputs.new_release == 'true'
|
|
62
|
-
run:
|
|
70
|
+
run: |
|
|
71
|
+
rm -rf dist/ build/ *.egg-info
|
|
72
|
+
python -m build
|
|
63
73
|
|
|
64
74
|
- name: Publish to PyPI
|
|
65
75
|
if: steps.check_version.outputs.new_release == 'true'
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
share/python-wheels/
|
|
20
|
+
*.egg-info/
|
|
21
|
+
.installed.cfg
|
|
22
|
+
*.egg
|
|
23
|
+
MANIFEST
|
|
24
|
+
|
|
25
|
+
# Virtual Environment
|
|
26
|
+
venv/
|
|
27
|
+
.venv/
|
|
28
|
+
env/
|
|
29
|
+
ENV/
|
|
30
|
+
env.bak/
|
|
31
|
+
venv.bak/
|
|
32
|
+
|
|
33
|
+
# IDEs
|
|
34
|
+
.vscode/
|
|
35
|
+
.idea/
|
|
36
|
+
*.swp
|
|
37
|
+
*.swo
|
|
38
|
+
*~
|
|
39
|
+
.DS_Store
|
|
40
|
+
|
|
41
|
+
# Jupyter Notebook
|
|
42
|
+
.ipynb_checkpoints
|
|
43
|
+
*.ipynb
|
|
44
|
+
|
|
45
|
+
# pytest
|
|
46
|
+
.pytest_cache/
|
|
47
|
+
.coverage
|
|
48
|
+
htmlcov/
|
|
49
|
+
.tox/
|
|
50
|
+
.nox/
|
|
51
|
+
coverage.xml
|
|
52
|
+
*.cover
|
|
53
|
+
.hypothesis/
|
|
54
|
+
.pytest_cache/
|
|
55
|
+
pytestdebug.log
|
|
56
|
+
|
|
57
|
+
# mypy
|
|
58
|
+
.mypy_cache/
|
|
59
|
+
.dmypy.json
|
|
60
|
+
dmypy.json
|
|
61
|
+
|
|
62
|
+
# Pyre type checker
|
|
63
|
+
.pyre/
|
|
64
|
+
|
|
65
|
+
# pytype static type analyzer
|
|
66
|
+
.pytype/
|
|
67
|
+
|
|
68
|
+
# Cython debug symbols
|
|
69
|
+
cython_debug/
|
|
70
|
+
|
|
71
|
+
# Environment variables
|
|
72
|
+
# .env <-- Un-ignored for this setup
|
|
73
|
+
.env.local
|
|
74
|
+
.env.*.local
|
|
75
|
+
|
|
76
|
+
# Logs
|
|
77
|
+
logs/
|
|
78
|
+
*.log
|
|
79
|
+
pip-log.txt
|
|
80
|
+
pip-delete-this-directory.txt
|
|
81
|
+
|
|
82
|
+
# Parishad-specific
|
|
83
|
+
traces/
|
|
84
|
+
trace_*.json
|
|
85
|
+
outputs/
|
|
86
|
+
*.trace.json
|
|
87
|
+
parishad_traces/
|
|
88
|
+
benchmark_traces/
|
|
89
|
+
gaia_benchmark.log
|
|
90
|
+
gaia_results.jsonl
|
|
91
|
+
|
|
92
|
+
# API keys and secrets
|
|
93
|
+
secrets.yaml
|
|
94
|
+
.secrets/
|
|
95
|
+
api_keys.txt
|
|
96
|
+
*.pem
|
|
97
|
+
*.key
|
|
98
|
+
|
|
99
|
+
# Model cache (downloaded model files, not source code)
|
|
100
|
+
# Use specific paths to avoid ignoring parishad/models/ source code
|
|
101
|
+
/models/
|
|
102
|
+
**/model_cache/
|
|
103
|
+
*.gguf
|
|
104
|
+
*.safetensors
|
|
105
|
+
*.bin
|
|
106
|
+
!parishad/models/
|
|
107
|
+
|
|
108
|
+
.cache/
|
|
109
|
+
|
|
110
|
+
# Test outputs
|
|
111
|
+
test_outputs/
|
|
112
|
+
test_traces/
|
|
113
|
+
.test_data/
|
|
114
|
+
# Documentation builds
|
|
115
|
+
docs/_build/
|
|
116
|
+
docs/.doctrees/
|
|
117
|
+
site/
|
|
118
|
+
|
|
119
|
+
# OS specific
|
|
120
|
+
Thumbs.db
|
|
121
|
+
ehthumbs.db
|
|
122
|
+
Desktop.ini
|
|
123
|
+
|
|
124
|
+
# Backup files
|
|
125
|
+
*.bak
|
|
126
|
+
*.backup
|
|
127
|
+
*.tmp
|
|
128
|
+
*~.nib
|
|
129
|
+
|
|
130
|
+
# Distribution / packaging
|
|
131
|
+
.Python
|
|
132
|
+
build/
|
|
133
|
+
develop-eggs/
|
|
134
|
+
dist/
|
|
135
|
+
downloads/
|
|
136
|
+
eggs/
|
|
137
|
+
.eggs/
|
|
138
|
+
lib/
|
|
139
|
+
lib64/
|
|
140
|
+
parts/
|
|
141
|
+
sdist/
|
|
142
|
+
var/
|
|
143
|
+
wheels/
|
|
144
|
+
pip-wheel-metadata/
|
|
145
|
+
share/python-wheels/
|
|
146
|
+
*.egg-info/
|
|
147
|
+
.installed.cfg
|
|
148
|
+
*.egg
|
|
149
|
+
MANIFEST
|
|
150
|
+
|
|
151
|
+
# Database
|
|
152
|
+
*.db
|
|
153
|
+
*.sqlite
|
|
154
|
+
*.sqlite3
|
|
155
|
+
|
|
156
|
+
# Local config overrides
|
|
157
|
+
local_config.yaml
|
|
158
|
+
config.local.yaml
|
|
159
|
+
pipeline.*.local.yaml
|
|
160
|
+
|
|
@@ -5,6 +5,17 @@ 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.3] - 2026-01-26
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Missing Core Backend**: Promoted `llama-cpp-python` to core dependencies (`backend-not-available` fix).
|
|
12
|
+
- **Default Profile**: Updated pipeline default version to `0.1.3`.
|
|
13
|
+
|
|
14
|
+
## [0.1.2] - 2026-01-26
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- **Critical Crash**: Fixed `TypeError` in `PerceptionTool` initialization by updating the constructor to accept `llm_config`.
|
|
18
|
+
|
|
8
19
|
## [0.1.1] - 2026-01-26
|
|
9
20
|
|
|
10
21
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: parishad
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
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
|
|
@@ -23,6 +23,7 @@ Requires-Python: >=3.10
|
|
|
23
23
|
Requires-Dist: click>=8.0.0
|
|
24
24
|
Requires-Dist: httpx>=0.25.0
|
|
25
25
|
Requires-Dist: jsonschema>=4.0.0
|
|
26
|
+
Requires-Dist: llama-cpp-python>=0.2.0
|
|
26
27
|
Requires-Dist: numpy<2.0
|
|
27
28
|
Requires-Dist: openai>=1.0.0
|
|
28
29
|
Requires-Dist: psutil>=5.9.0
|
|
@@ -38,7 +39,6 @@ Requires-Dist: black>=23.0.0; extra == 'all'
|
|
|
38
39
|
Requires-Dist: chromadb>=0.5.0; extra == 'all'
|
|
39
40
|
Requires-Dist: datasets>=2.14.0; extra == 'all'
|
|
40
41
|
Requires-Dist: faiss-cpu>=1.7.0; extra == 'all'
|
|
41
|
-
Requires-Dist: llama-cpp-python>=0.2.0; extra == 'all'
|
|
42
42
|
Requires-Dist: mypy>=1.0.0; extra == 'all'
|
|
43
43
|
Requires-Dist: pandas>=2.0.0; extra == 'all'
|
|
44
44
|
Requires-Dist: pre-commit>=3.0.0; extra == 'all'
|
|
@@ -71,7 +71,6 @@ Requires-Dist: grpcio-tools>=1.50.0; extra == 'distributed'
|
|
|
71
71
|
Requires-Dist: grpcio>=1.50.0; extra == 'distributed'
|
|
72
72
|
Provides-Extra: local
|
|
73
73
|
Requires-Dist: accelerate>=0.25.0; extra == 'local'
|
|
74
|
-
Requires-Dist: llama-cpp-python>=0.2.0; extra == 'local'
|
|
75
74
|
Requires-Dist: torch>=2.0.0; extra == 'local'
|
|
76
75
|
Requires-Dist: transformers>=4.35.0; extra == 'local'
|
|
77
76
|
Provides-Extra: mlx
|
|
@@ -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.3"
|
|
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"
|
|
@@ -45,11 +45,11 @@ dependencies = [
|
|
|
45
45
|
"numpy<2.0",
|
|
46
46
|
"textual>=0.70.0",
|
|
47
47
|
"psutil>=5.9.0",
|
|
48
|
+
"llama-cpp-python>=0.2.0",
|
|
48
49
|
]
|
|
49
50
|
|
|
50
51
|
[project.optional-dependencies]
|
|
51
52
|
local = [
|
|
52
|
-
"llama-cpp-python>=0.2.0",
|
|
53
53
|
"transformers>=4.35.0",
|
|
54
54
|
"torch>=2.0.0",
|
|
55
55
|
"accelerate>=0.25.0",
|
|
@@ -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.3"
|
|
9
9
|
|
|
10
10
|
from .orchestrator.engine import Parishad, ParishadEngine, PipelineConfig
|
|
11
11
|
from .models.runner import ModelRunner, ModelConfig
|
|
@@ -19,8 +19,9 @@ class PerceptionTool(BaseTool):
|
|
|
19
19
|
name = "perception"
|
|
20
20
|
description = "Convert files (PDF, Docx, Images, Audio) into text. Use for reading docs or seeing images."
|
|
21
21
|
|
|
22
|
-
def __init__(self):
|
|
22
|
+
def __init__(self, llm_config: Optional[Dict[str, Any]] = None):
|
|
23
23
|
super().__init__()
|
|
24
|
+
self.llm_config = llm_config
|
|
24
25
|
self._markitdown = None
|
|
25
26
|
|
|
26
27
|
def _get_markitdown(self):
|
|
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
|