Skip to main content

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

wage-0.5.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

wage-0.5-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file wage-0.5.tar.gz.

File metadata

  • Download URL: wage-0.5.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for wage-0.5.tar.gz
Algorithm Hash digest
SHA256 ae6ad85e76cefbabd0d12fe195bddadaafd0d71875804866b855ed4386b09ff3
MD5 ceb28b1ca97929f48d72b54db867d363
BLAKE2b-256 6ecf7c045ce86a39e0d9043fb0e6975fa647effc35545b2defd67d3e6c5bf6ef

See more details on using hashes here.

File details

Details for the file wage-0.5-py3-none-any.whl.

File metadata

  • Download URL: wage-0.5-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for wage-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 35cd302abd6f7107fc90f947d6fcae2d9198fb20dec8e0d7ab56c245b02a1c40
MD5 5acee01928ba599dd478cb111e72be2b
BLAKE2b-256 b4d36a341b78d7de2f96e7f5e924693a125b168df60a38f6153284a4175d7233

See more details on using hashes here.

Supported by

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