Skip to content

Commit 1895395

Browse files
committed
update
1 parent 5556904 commit 1895395

File tree

11 files changed

+88
-27
lines changed

11 files changed

+88
-27
lines changed

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,20 @@ jsonparser/
9696
└── src/
9797
└── jsonparser/
9898
├── __init__.py
99+
├── errors/
100+
│ ├── __init__.py
101+
│ ├── error_handling.py
102+
│ └── error_types.py
103+
├── logging/
104+
│ ├── __init__.py
105+
│ └── logging_config.py
99106
├── parsers/
100107
│ ├── __init__.py
101108
│ └── parser.py
102109
└── utils/
103110
├── __init__.py
104111
├── compare_json_instance.py
105-
├── error_handling.py
106-
├── errors.py
107112
├── helper.py
108-
├── logging_config.py
109113
├── validate_json_instance.py
110114
├── validate_json_schema.py
111115
└── validate_openai_schema.py

src/jsonparser/errors/__init__.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
"""
2+
Error handling package for jsonparser.
3+
4+
This package provides error types and error handling utilities.
5+
"""
6+
7+
from jsonparser.errors.error_types import (
8+
JSONParserError,
9+
APIError,
10+
SchemaValidationError,
11+
InstanceValidationError,
12+
ParserConfigError,
13+
ModelNotFoundError,
14+
TokenLimitExceededError,
15+
RetryLimitExceededError,
16+
APIKeyError
17+
)
18+
19+
from jsonparser.errors.error_handling import (
20+
format_error,
21+
handle_parser_error,
22+
safe_parse,
23+
get_error_summary
24+
)
25+
26+
__all__ = [
27+
# Error types
28+
'JSONParserError',
29+
'APIError',
30+
'SchemaValidationError',
31+
'InstanceValidationError',
32+
'ParserConfigError',
33+
'ModelNotFoundError',
34+
'TokenLimitExceededError',
35+
'RetryLimitExceededError',
36+
'APIKeyError',
37+
38+
# Error handling functions
39+
'format_error',
40+
'handle_parser_error',
41+
'safe_parse',
42+
'get_error_summary'
43+
]

src/jsonparser/utils/error_handling.py renamed to src/jsonparser/errors/error_handling.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66

77
import sys
88
import traceback
9-
from typing import Optional, Type, Union, List, Dict, Any
9+
from typing import List, Dict, Any
1010

11-
from jsonparser.utils.errors import (
11+
from jsonparser.errors.error_types import (
1212
JSONParserError, APIError, SchemaValidationError,
13-
InstanceValidationError, RetryLimitExceededError
13+
InstanceValidationError, RetryLimitExceededError, TokenLimitExceededError
1414
)
15-
from jsonparser.utils.logging_config import get_logger
15+
16+
from jsonparser.logging.logging_config import get_logger
1617

1718
# Get module logger
18-
logger = get_logger("utils.error_handling")
19+
logger = get_logger("errors.error_handling")
1920

2021

2122
def format_error(error: Exception) -> str:
File renamed without changes.

src/jsonparser/logging/__init__.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Logging package for jsonparser.
3+
4+
This package provides logging configuration and utilities.
5+
"""
6+
7+
from jsonparser.logging.logging_config import (
8+
configure_logging,
9+
get_logger
10+
)
11+
12+
__all__ = [
13+
'configure_logging',
14+
'get_logger'
15+
]

src/jsonparser/utils/logging_config.py renamed to src/jsonparser/logging/logging_config.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import os
88
import sys
99
import logging
10-
from typing import Optional, Union, TextIO
10+
from typing import Optional, Union
1111

1212
# Default log format
1313
DEFAULT_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
@@ -17,11 +17,11 @@
1717

1818

1919
def configure_logging(
20-
level: Union[int, str] = logging.INFO,
21-
format_string: str = DEFAULT_FORMAT,
22-
log_file: Optional[str] = None,
23-
console: bool = True,
24-
) -> logging.Logger:
20+
level: Union[int, str] = logging.INFO,
21+
format_string: str = DEFAULT_FORMAT,
22+
log_file: Optional[str] = None,
23+
console: bool = True,
24+
) -> logging.Logger:
2525
"""
2626
Configure logging for the jsonparser package.
2727

src/jsonparser/parsers/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import time
44
import torch
55
from openai import OpenAI
6-
from typing import Dict, Any, List, Optional, Union
6+
from typing import Any
77
from jsonschema import ValidationError, validate
88
from transformers import AutoModelForCausalLM, AutoTokenizer
99

10-
from jsonparser.utils.errors import (
10+
from jsonparser.errors.error_types import (
1111
JSONParserError, APIError, SchemaValidationError,
1212
InstanceValidationError, RetryLimitExceededError, TokenLimitExceededError
1313
)
14-
from jsonparser.utils.logging_config import get_logger
14+
from jsonparser.logging.logging_config import get_logger
1515

1616
# Get module logger
1717
logger = get_logger("parsers")

src/jsonparser/utils/compare_json_instance.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
import os
1616
import json
1717
import argparse
18-
from collections import defaultdict
19-
from typing import Dict, Any, List, Tuple, Union, Optional
18+
from typing import Dict, Any, List, Tuple
2019

2120

2221
def load_json_file(file_path: str) -> Dict[str, Any]:

src/jsonparser/utils/helper.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import tiktoken
44
from openai import OpenAI
55
from collections.abc import Mapping, Sequence
6-
from typing import Iterable, Optional, List, Dict, Union, Tuple, Callable
7-
from jsonschema import validate, ValidationError, SchemaError
6+
from typing import Iterable, Optional, List, Dict, Union
7+
from jsonschema import SchemaError
88
from jsonschema.validators import validator_for
9-
from jsonparser.utils.logging_config import get_logger
10-
from jsonparser.utils.errors import APIKeyError, APIError
9+
from jsonparser.logging.logging_config import get_logger
10+
from jsonparser.errors.error_types import APIKeyError
1111

1212
# Calculate Complexity
1313
def calculate_json_complexity(json_data: Union[dict, list, str, int, float, bool, None]) -> Dict[str, int]:

src/jsonparser/utils/validate_json_instance.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import sys
1414
import json
1515
import argparse
16-
from jsonschema import validate, ValidationError, SchemaError
16+
from jsonschema import SchemaError
1717
from jsonschema.validators import validator_for
1818

1919

0 commit comments

Comments
 (0)