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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c51d514b4166311d7ba98f24fc1916862680c15adfee02365681d9f6ed83eb9
|
|
| MD5 |
f613f21fcf356d898c7a1cae54f960c3
|
|
| BLAKE2b-256 |
cfba0436401a61a058452b5f606806aa34f06e90e507f6a2bf8509616105b83d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
919b2bf46c12e45202454f32bf6b4968db66abcbc139f2d55f4b60a89e8fe080
|
|
| MD5 |
294f6cb067b21f2c0dd3bef69d1746a0
|
|
| BLAKE2b-256 |
5d2875ce5789de35406437364c7d99b66ed75452b1dff62257db254aee8cfcd8
|