Skip to content

Commit

Permalink
(feat) add pre-commit hook to check model_prices_and_context_window.j…
Browse files Browse the repository at this point in the history
…son litellm/model_prices_and_context_window_backup.json
  • Loading branch information
ishaan-jaff committed Feb 5, 2024
1 parent a6836a0 commit 8b57115
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 20 deletions.
15 changes: 7 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,17 @@ repos:
exclude: ^litellm/tests/|^litellm/proxy/proxy_cli.py|^litellm/integrations/|^litellm/proxy/tests/
additional_dependencies: [flake8-print]
files: litellm/.*\.py
- repo: local
hooks:
- id: check-files-match
name: Check if files match
entry: python3 ci_cd/check_files_match.py
language: system
- repo: local
hooks:
- id: mypy
name: mypy
entry: python3 -m mypy --ignore-missing-imports
language: system
types: [python]
files: ^litellm/
- repo: local
hooks:
- id: check-files-match
name: Check if files match
entry: python3 ci_cd/check_files_match.py
language: system
files: model_prices_and_context_window.json model_prices_and_context_window_backup.json
files: ^litellm/
36 changes: 25 additions & 11 deletions ci_cd/check_files_match.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,37 @@
import sys
import filecmp
import difflib


def main(argv=None):
if argv is None:
argv = sys.argv[1:]
def show_diff(file1, file2):
with open(file1, "r") as f1, open(file2, "r") as f2:
lines1 = f1.readlines()
lines2 = f2.readlines()

if len(argv) != 2:
print("Usage: python check_files_match.py <file1> <file2>")
return 1
diff = difflib.unified_diff(lines1, lines2, lineterm="")

for line in diff:
print(line)

file1 = argv[0]
file2 = argv[1]

if filecmp.cmp(file1, file2, shallow=False):
print(f"Files {file1} and {file2} match.")
def main(argv=None):
print(
"comparing model_prices_and_context_window, and litellm/model_prices_and_context_window_backup.json files.......... checking they match",
argv,
)

file1 = "model_prices_and_context_window.json"
file2 = "litellm/model_prices_and_context_window_backup.json"
cmp_result = filecmp.cmp(file1, file2, shallow=False)
if cmp_result:
print(f"Passed ! Files {file1} and {file2} match.")
return 0
else:
print(f"Files {file1} and {file2} do not match.")
# show the diff
print(f"Failed ! Files {file1} and {file2} do not match.")
print("\nDiff")
show_diff(file1, file2)

return 1


Expand Down
2 changes: 1 addition & 1 deletion model_prices_and_context_window.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"max_output_tokens": 4096,
"input_cost_per_token": 0.00003,
"output_cost_per_token": 0.00006,
"litellm_provider": "o",
"litellm_provider": "openai",
"mode": "chat"
},
"gpt-4-0314": {
Expand Down

0 comments on commit 8b57115

Please sign in to comment.