Files
Jyotisha/references/open_source_sources/jyotishganit/pyproject.toml
T
732642856 f83db2fac1 Enhance Jyotish validation and Jaimini modules
- 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
2026-06-10 20:50:52 +08:00

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"]