Skip to main content

Add your description here

Project description

syriantaxescli

A command-line tool for calculating and analyzing Syrian salary taxes, built with Typer and leveraging the syriantaxes library.

Features

  • Gross and Net Salary Calculations: Compute taxes for a given gross salary or determine the required gross salary for a target net salary.
  • Batch Calculations: Generate salary tables for a range of amounts.
  • Export Results: Output results to Excel (.xlsx), JSON, or JSONL files.
  • Rich CLI Output: Nicely formatted tables using rich.

Installation

pip install syriantaxescli

Usage

After installation, use the CLI tool:

sytax [COMMAND] [OPTIONS]

Commands

  • gross: Calculate taxes for a given gross salary and compensations.
  • net: Calculate gross salary and compensations for a given target net salary.
  • ar: Generate salaries for a range of amounts (amount range).

Options

  • Bracket configuration: --brackets-mins, --brackets-maxs, --brackets-rates
  • Compensation rate: --compensations-rate
  • Fixed tax rate, minimum allowed salary, social security options, and more.
  • Output file: --write-path (supports .xlsx, .json, .jsonl)

Example

sytax gross --gross-salary 1000000 --compensations 100000
sytax net --target-salary 900000 --compensations-rate 0.1
sytax ar --start 800000 --stop 1200000 --step 50000 --compensations-rate 0.1 --write-path results.xlsx

Project Structure

  • src/syriantaxescli/controllers.py: CLI entry point and command definitions.
  • src/syriantaxescli/services.py: Core tax calculation logic.
  • src/syriantaxescli/writers.py: Export utilities for Excel, JSON, and JSONL.
  • src/syriantaxescli/tables.py: Table formatting for CLI output.
  • src/syriantaxescli/schemas.py: Data models for salary and tax results.
  • src/syriantaxescli/options.py, dependencies.py, constants.py, callbacks.py: CLI options, validation, and configuration.

Requirements

  • Python 3.12+
  • syriantaxes
  • typer, typer-di, xlwings, rich

License

GNU General Public License v3 (GPLv3)

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

syriantaxescli-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

syriantaxescli-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file syriantaxescli-0.1.0.tar.gz.

File metadata

  • Download URL: syriantaxescli-0.1.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for syriantaxescli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8c51d514b4166311d7ba98f24fc1916862680c15adfee02365681d9f6ed83eb9
MD5 f613f21fcf356d898c7a1cae54f960c3
BLAKE2b-256 cfba0436401a61a058452b5f606806aa34f06e90e507f6a2bf8509616105b83d

See more details on using hashes here.

File details

Details for the file syriantaxescli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: syriantaxescli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for syriantaxescli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 919b2bf46c12e45202454f32bf6b4968db66abcbc139f2d55f4b60a89e8fe080
MD5 294f6cb067b21f2c0dd3bef69d1746a0
BLAKE2b-256 5d2875ce5789de35406437364c7d99b66ed75452b1dff62257db254aee8cfcd8

See more details on using hashes here.

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