A python module for modeling and converting salary/income information
Project description
Wage calculator module
Module for salary calculations and conversions
Installation
Use the following command to install the wage
module from PyPi with pip:
pip install wage
Or to install the latest version of the repository with pip:
pip install git+https://github.com/miliarch/wage.git
Or you can clone this repository to your system:
git clone https://github.com/miliarch/wage.git
Usage - Salary object
Import the Salary
class:
>>> from salary import Salary
Create a new salary object - in this example, base the salary on $15 per hour:
>>> s = Salary(15, 'hour')
Access properties (hourly, daily, etc.) as needed:
>>> s.hourly.decimal
Decimal('15')
>>> s.hourly.dollars
'$15.00'
>>> s.hours_in_year
2080
Help and examples
Help on class Salary in module salary.salary:
class Salary(builtins.object)
| Salary(*args, **kwargs)
|
| Class for calculation and conversion of salary by time period
|
| Methods defined here:
|
| __init__(self, *args, **kwargs)
| Salary initialization
|
| Arguments:
| args[0]: required: salary amount (float)
| args[1]: required: salary amount period (string)
| valid options: [hour|day|week|fortnight|month|quarter|semester|year]
|
| Keyword arguments:
| kwargs['hours']: custom hours in year (int) (default: 2080)
| kwargs['days']: custom days in year (int) (default: 260)
| kwargs['weeks']: custom weeks in year (int) (default: 52)
| kwargs['fortnights']: custom fortnights in year (int) (default: 26)
| kwargs['months']: custom months in year (int) (default: 12)
| kwargs['quarters']: custom quarters in year (int) (default: 4)
| kwargs['semesters']: custom semesters in year (int) (default: 2)
|
| Examples:
| Salary(15, 'hour')
| Salary(31200, 'year')
| Salary(15, 'hour', hours=1040, days=130, weeks=26)
|
| __repr__(self)
| Return repr(self).
|
| __str__(self)
| Return str(self).
|
| per_period(self, amount, period, operation=<built-in function truediv>)
| Calculate amount per given period using operation callback function
|
| Parameters:
| amount: required: the amount to base calculation on (Decimal)
| period: required: the period to use for the calculation (str)
| operation: optional: which operator to use against (amount, period) (function)
|
| ----------------------------------------------------------------------
| Readonly properties defined here:
|
| daily
|
| fortnightly
|
| hourly
|
| monthly
|
| quarterly
|
| semesterly
|
| weekly
|
| yearly
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
Usage - command line interface
The command line interface is mainly for demonstration purposes. If you find it helpful, feel free to use it.
The wage
entrypoint uses a similar convention to passing arguments in during a new Salary object instantiation.
Examples:
$ wage 15 hour
Hourly : $15.00
Daily : $120.00
Weekly : $600.00
Fortnightly : $1,200.00
Monthly : $2,600.00
Quarterly : $7,800.00
Semesterly : $15,600.00
Yearly : $31,200.00
$ wage 15 hour hours=1500
Hourly : $15.00
Daily : $86.54
Weekly : $432.69
Fortnightly : $865.38
Monthly : $1,875.00
Quarterly : $5,625.00
Semesterly : $11,250.00
Yearly : $22,500.00
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
Built Distribution
File details
Details for the file wage-0.7.tar.gz
.
File metadata
- Download URL: wage-0.7.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce66a392145fb02e8afa8274b751657f94c72894b78893f9b55b88d45c12e839 |
|
MD5 | c5ebf70bf9baa1d2b0c1ea5a9e4e89c0 |
|
BLAKE2b-256 | e8496f3abe98586f87929a23396b3434456cf7d963a9d01384920a8d077c98ef |
File details
Details for the file wage-0.7-py3-none-any.whl
.
File metadata
- Download URL: wage-0.7-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d97a30f0a7d048b6c83019675aae039200eab2871aad5ccb61c74329f510766e |
|
MD5 | 80ce6b2b556eca97f5510548a128ab65 |
|
BLAKE2b-256 | 7e61fc028f248a84e716fb817eea017d7c702b0ca2f611dee2a6c8e490387a5c |