f83db2fac1
- add external validation reports and open-source comparison references - integrate Jaimini arudha/graha pada, enhanced argala, and additional synastry kutas - update skill docs and capability matrices - add smoke tests for open-source integrations
104 lines
2.8 KiB
TOML
104 lines
2.8 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "jyotishganit"
|
|
version = "0.1.3"
|
|
authors = [
|
|
{name = "NorthTara Research", email = "sid@northtara.ai"},
|
|
]
|
|
description = "High precision Vedic astrology calculations in Python"
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
requires-python = ">=3.10"
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Scientific/Engineering :: Astronomy",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
]
|
|
keywords = ["astrology", "vedic", "jyotisha", "astronomy", "calculations", "birth-chart"]
|
|
dependencies = [
|
|
"skyfield>=1.45",
|
|
"pandas>=1.3.0",
|
|
"numpy>=1.20.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=7.0",
|
|
"pytest-cov>=4.0",
|
|
"pytest-mock>=3.10",
|
|
"pre-commit>=4.0",
|
|
"ruff>=0.8",
|
|
"mypy>=1.0",
|
|
"build>=0.9",
|
|
"twine>=4.0",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/northtara/jyotishganit"
|
|
Documentation = "https://github.com/northtara/jyotishganit#readme"
|
|
Repository = "https://github.com/northtara/jyotishganit"
|
|
"Bug Reports" = "https://github.com/northtara/jyotishganit/issues"
|
|
Changelog = "https://github.com/northtara/jyotishganit/blob/main/CHANGELOG.md"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["jyotishganit*"]
|
|
exclude = ["tests*", "docs*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
addopts = "--cov=jyotishganit --cov-report=html --cov-report=term-missing"
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 88
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E",
|
|
"W",
|
|
"F",
|
|
"I",
|
|
"UP",
|
|
"S",
|
|
"B",
|
|
"C4",
|
|
"SIM",
|
|
]
|
|
ignore = ["S101", "E501"]
|
|
# E501: line length; formatter handles most.
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["jyotishganit"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
warn_return_any = false
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = false
|
|
check_untyped_defs = true
|
|
disallow_any_generics = false
|
|
no_implicit_optional = true
|
|
strict_optional = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["skyfield.*", "pandas.*"]
|
|
ignore_missing_imports = true
|
|
|
|
# Incremental: fix type errors in follow-ups. These modules use untyped dict constants.
|
|
[[tool.mypy.overrides]]
|
|
module = ["jyotishganit.core.astronomical", "jyotishganit.components.strengths", "jyotishganit.components.ashtakavarga"]
|
|
disable_error_code = ["attr-defined", "index", "no-any-return", "return-value", "union-attr", "operator", "arg-type", "dict-item", "call-overload"]
|