11[build-system ]
2- requires = [" setuptools>=61.0 " ]
2+ requires = [" setuptools>=68.0 " , " wheel " ]
33build-backend = " setuptools.build_meta"
44
55[project ]
66name = " py-json-analyzer"
77version = " 0.4.0"
88description = " A powerful CLI and Python library for analyzing, visualizing, exploring, and generating code from JSON data"
9+ readme = " README.md"
10+ requires-python = " >=3.11"
11+ license = {text = " MIT" }
912authors = [
10- {
name = " MS-32154" ,
email = " [email protected] " }
13+ {
name = " MS-32154" ,
email = " [email protected] " }
1114]
12- dependencies = [
13- " dateparser" ,
15+ maintainers = [
16+ {
name =
" MS-32154" ,
email =
" [email protected] " }
17+ ]
18+ keywords = [
19+ " json" ,
20+ " analyzer" ,
21+ " visualization" ,
22+ " json-statistics" ,
23+ " plot" ,
1424 " jmespath" ,
15- " jinja2" ,
16- " plotly" ,
17- " prompt_toolkit" ,
18- " requests" ,
19- " rich" ,
20- " setuptools" ,
21- " windows-curses; sys_platform == 'win32'"
22- ]
23- requires-python = " >=3.7"
24- readme = " README.md"
25- license = " MIT"
25+ " json-search" ,
26+ " cli" ,
27+ " interactive-cli" ,
28+ " data-analysis" ,
29+ " schema" ,
30+ " code-generation" ,
31+ " go" ,
32+ " json-to-go" ,
33+ " json-to-golang" ,
34+ " python" ,
35+ " pydantic" ,
36+ " dataclass" ,
37+ " json-to-python"
38+ ]
39+ classifiers = [
40+ " Development Status :: 4 - Beta" ,
41+ " Intended Audience :: Developers" ,
42+ " License :: OSI Approved :: MIT License" ,
43+ " Operating System :: OS Independent" ,
44+ " Programming Language :: Python :: 3" ,
45+ " Programming Language :: Python :: 3.11" ,
46+ " Programming Language :: Python :: 3.12" ,
47+ " Programming Language :: Python :: 3.13" ,
48+ " Topic :: Software Development :: Code Generators" ,
49+ " Topic :: Software Development :: Libraries :: Python Modules" ,
50+ " Topic :: Utilities" ,
51+ " Typing :: Typed"
52+ ]
53+
54+ dependencies = [
55+ " jmespath>=1.0.1" ,
56+ " rich>=13.0.0" ,
57+ " plotly>=5.0.0" ,
58+ " requests>=2.32.0" ,
59+ " dateparser>=1.2.0" ,
60+ " jinja2>=3.0.0" ,
61+ " prompt-toolkit>=3.0.0" ,
62+ " windows-curses; sys_platform == 'win32'" ,
63+ ]
64+
65+ [project .optional-dependencies ]
66+ dev = [
67+ " pytest>=7.0.0" ,
68+ " pytest-cov>=4.0.0" ,
69+ " black>=23.0.0" ,
70+ " isort>=5.12.0" ,
71+ " mypy>=1.0.0" ,
72+ " flake8>=6.0.0" ,
73+ " types-requests>=2.31.0" ,
74+ " types-dateparser>=1.1.0" ,
75+ ]
76+ all = [
77+ " py-json-analyzer[dev]" ,
78+ ]
79+
80+ [project .urls ]
81+ Homepage = " https://github.com/MS-32154/py-json-analyzer"
82+ Documentation = " https://ms-32154.github.io/py-json-analyzer/"
83+ Repository = " https://github.com/MS-32154/py-json-analyzer"
84+ "Bug Tracker" = " https://github.com/MS-32154/py-json-analyzer/issues"
85+ Changelog = " https://github.com/MS-32154/py-json-analyzer/blob/main/CHANGELOG.md"
2686
2787[project .scripts ]
2888json_explorer = " json_explorer.main:main"
89+
90+ [tool .setuptools ]
91+ packages = [" json_explorer" , " json_explorer.codegen" , " json_explorer.codegen.core" , " json_explorer.codegen.languages" , " json_explorer.codegen.languages.go" , " json_explorer.codegen.languages.python" ]
92+
93+ [tool .setuptools .package-data ]
94+ "json_explorer.codegen.languages.go" = [" templates/*.j2" ]
95+ "json_explorer.codegen.languages.python" = [" templates/*.j2" ]
96+
97+ [tool .pytest .ini_options ]
98+ testpaths = [" tests" ]
99+ python_files = [" test_*.py" ]
100+ python_classes = [" Test*" ]
101+ python_functions = [" test_*" ]
102+ addopts = [
103+ " --verbose" ,
104+ " --strict-markers" ,
105+ " --tb=short" ,
106+ " --cov=json_explorer" ,
107+ " --cov-report=term-missing" ,
108+ " --cov-report=html" ,
109+ ]
110+ markers = [
111+ " slow: marks tests as slow (deselect with '-m \" not slow\" ')" ,
112+ " integration: marks tests as integration tests" ,
113+ " unit: marks tests as unit tests" ,
114+ ]
115+
116+ [tool .coverage .run ]
117+ source = [" json_explorer" ]
118+ omit = [
119+ " */tests/*" ,
120+ " */__pycache__/*" ,
121+ " */.venv/*" ,
122+ " */venv/*" ,
123+ ]
124+
125+ [tool .coverage .report ]
126+ exclude_lines = [
127+ " pragma: no cover" ,
128+ " def __repr__" ,
129+ " raise AssertionError" ,
130+ " raise NotImplementedError" ,
131+ " if __name__ == .__main__.:" ,
132+ " if TYPE_CHECKING:" ,
133+ " class .*\\ bProtocol\\ ):" ,
134+ " @(abc\\ .)?abstractmethod" ,
135+ ]
136+
137+ [tool .black ]
138+ line-length = 88
139+ target-version = [' py311' ]
140+ include = ' \.pyi?$'
141+ extend-exclude = '''
142+ /(
143+ # directories
144+ \.eggs
145+ | \.git
146+ | \.hg
147+ | \.mypy_cache
148+ | \.tox
149+ | \.venv
150+ | build
151+ | dist
152+ )/
153+ '''
154+
155+ [tool .isort ]
156+ profile = " black"
157+ line_length = 88
158+ multi_line_output = 3
159+ include_trailing_comma = true
160+ force_grid_wrap = 0
161+ use_parentheses = true
162+ ensure_newline_before_comments = true
163+
164+ [tool .mypy ]
165+ python_version = " 3.11"
166+ warn_return_any = true
167+ warn_unused_configs = true
168+ disallow_untyped_defs = false
169+ disallow_incomplete_defs = false
170+ check_untyped_defs = true
171+ no_implicit_optional = true
172+ warn_redundant_casts = true
173+ warn_unused_ignores = true
174+ warn_no_return = true
175+ warn_unreachable = true
176+ strict_optional = true
177+
178+ [[tool .mypy .overrides ]]
179+ module = [
180+ " jmespath.*" ,
181+ " dateparser.*" ,
182+ " plotly.*" ,
183+ " prompt_toolkit.*" ,
184+ ]
185+ ignore_missing_imports = true
186+
187+ [tool .flake8 ]
188+ max-line-length = 88
189+ extend-ignore = [" E203" , " W503" ]
190+ exclude = [
191+ " .git" ,
192+ " __pycache__" ,
193+ " build" ,
194+ " dist" ,
195+ " .eggs" ,
196+ " .venv" ,
197+ " venv" ,
198+ ]
199+ per-file-ignores = [
200+ " __init__.py:F401" ,
201+ ]
0 commit comments