Skip to main content

A package to calculate income tax for Indian taxpayers

Project description

taxcalcindia

A lightweight Python package to calculate Indian income tax for individuals. Designed for local use and packaging on PyPI.

PyPI - Downloads GitHub License PyPI - Status

Release CI PR Approval Code Quality

GitHub tag (with filter) Static Badge Static Badge PyPI - Version

Table of Contents

Highlights

  • Compute tax under both the new and old regimes and recommend the cheaper regime.
  • Support for salary, business, capital gains and other incomes.
  • Common deductions and simple slab lookup.
  • Small, well-documented models suitable for packaging and testing.

Installation

Install from PyPI:

pip install taxcalcindia

Quick start

Example usage:

from taxcalcindia import IncomeTaxCalculator, TaxSettings, SalaryIncome, Deductions

settings = TaxSettings(age=27, financial_year=2025)
salary = SalaryIncome(basic_and_da=500000, other_allowances=500000, bonus_and_commissions=350000)
deductions = Deductions(food_coupons=26400, professional_tax=2500)

calc = IncomeTaxCalculator(settings=settings, salary=salary, deductions=deductions)
result = calc.calculate_tax(is_comparision_needed=True, is_tax_per_slab_needed=True, display_result=False)

print(result)

Example notebook

A longer, runnable example is provided in the repository: example.ipynb. It contains multiple scenarios and is extended based on user requests.

API pointers

  • Main calculator: taxcalcindia.calculator.IncomeTaxCalculator
  • Input models:
    • EmploymentType (Enum)
    • TaxSettings (age, financial_year, is_metro_resident, employment_type)
    • SalaryIncome (basic_and_da, hra, other_allowances, bonus_and_commissions, total, total_eligible_hra(settings))
    • BusinessIncome (business_income, property_income, total)
    • CapitalGainsIncome (short_term_at_normal, short_term_at_20_percent, long_term_at_12_5_percent, long_term_at_20_percent, total, total_capital_gains_tax)
    • OtherIncome (savings_account_interest, fixed_deposit_interest, other_sources, total)
    • Deductions (section_80c, section_80d, section_80gg, section_24b, section_80ccd_1b, section_80ccd_2, section_80eea, section_80u, section_80eeb, section_80e, section_80g_50percent, section_80g_100percent, section_80gga, section_80ggc, rent_for_hra_exemption, professional_tax, food_coupons, other_exemption, section_80tta, section_80ttb, total)
  • Slab retrieval: taxcalcindia.slabs.get_tax_slabs
  • Package exceptions: taxcalcindia.exceptions.TaxCalculationException

Contributing

Contributions via PRs are welcome. Please:

  • Follow standard Python packaging practices.
  • Include tests for new features.
  • Keep changes small and documented.

License

MIT — see LICENSE

Important notice

  • Do NOT use this package as the sole source for filing income tax returns. This project is provided as an aid/reference only. Always audit calculations yourself or consult a government-approved tax professional or authorised tax-filing service before submitting returns. The creator is not responsible for any misfiled tax returns or financial/legal consequences arising from using this package.

Package Naming and trademark

A brief trademark check for the package name is recorded in NAMING.md. The name "taxcalcindia" was searched on the Government of India Registered Trademark site and, at the time of this release, no registrations were found. This information is provided for reference only and does not constitute legal advice.

If you find this project useful, A small cup helps a lot!

Buy Me A Coffee

More from the developer

Reach out or explore other projects by the developer at: https://amraja.in/

If any link in this README does not redirect or returns "Not Found", please locate the referenced document in the parent GitHub repository: https://github.com/amrajacivil/taxcalcindia

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taxcalcindia-0.1.4.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taxcalcindia-0.1.4-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file taxcalcindia-0.1.4.tar.gz.

File metadata

  • Download URL: taxcalcindia-0.1.4.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for taxcalcindia-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0e8fe0fbaf8fb6279b0e921fa4eb3a9f4eda3bb5808c0ea6358519abcaf244e6
MD5 ca910969238abca7db61711d2fb0c3c0
BLAKE2b-256 47fec9c09256be744531995ab0c09aae2b41d01e03a3669d2d804df15198e156

See more details on using hashes here.

Provenance

The following attestation bundles were made for taxcalcindia-0.1.4.tar.gz:

Publisher: release.yaml on amrajacivil/taxcalcindia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file taxcalcindia-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: taxcalcindia-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for taxcalcindia-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bf08f27dd22ae1530b1443ee55686a2d5c7aef7f37980f763a30c6229ea5ec84
MD5 57f0e17d843ddf192421bf7c2be28695
BLAKE2b-256 cb8058993aebcdd8733f7d0601ca9ee9489afe532cdc80be98a59c27172af906

See more details on using hashes here.

Provenance

The following attestation bundles were made for taxcalcindia-0.1.4-py3-none-any.whl:

Publisher: release.yaml on amrajacivil/taxcalcindia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page