Skip to content

Commit 589969a

Browse files
committed
- Release prep
1 parent 49948ce commit 589969a

3 files changed

Lines changed: 189 additions & 18 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.vscode/
22
temp/
33
venv/
4+
*_env/
45
__pycache__/
56
*.egg-info/
67
notes/

pyproject.toml

Lines changed: 188 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,201 @@
11
[build-system]
2-
requires = ["setuptools>=61.0"]
2+
requires = ["setuptools>=68.0", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "py-json-analyzer"
77
version = "0.4.0"
88
description = "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"}
912
authors = [
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]
2888
json_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+
]

setup.py

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)