Skip to main content

Perform calculation with various versions of variables

Project description

Varius

test License: MIT PyPI version

Perform computations using various versions of variables

Varius is the Latin word for "various."

Install

pip install varius

Usage Examples

import varius
from varius import *

# default variables
cst = vr('cost [usd]', 100)
rev = vr('revenue [usd]', 300)

# expressions: if values are not given the expressions will be symbolic
pft = ex('profit [usd]', rev - cst)
pmg = ex('profit margin', pft.expr/rev)

# show() will display the variables or expressions based on your python env
# if in jupyter notebooks, they will be displayed as beautiful latex equations otherwise as plain texts

with note('default') as d:
    show(cst, rev, pft, pmg)
    pft.grad()
    pmg.grad()
    print(d)

# new case
with note('20% discount', copy='default') as d:
    rev(rev['default'] * 0.8)
    show(cst, rev, pft, pmg)
    pft.grad()
    pmg.grad()
    print(d)


# another case
with note('50% discount', copy='default') as d:
    rev(rev['default'] * 0.5)
    show(cst, rev, pft, pmg)
    pft.grad()
    pmg.grad()
    print(d)

You will get summaries as follows:

Scope version: default
  Variables:
    (cost [usd]) = 100
    (revenue [usd]) = 300
  Expressions:
    (profit [usd]) = 200
    (profit margin) = 2/3
    ∂ [(profit [usd])] / ∂ [(cost [usd])] = -1
    ∂ [(profit [usd])] / ∂ [(revenue [usd])] = 1
    ∂ [(profit margin)] / ∂ [(cost [usd])] = -1/300
    ∂ [(profit margin)] / ∂ [(revenue [usd])] = 1/900

Scope version: 20% discount
  Variables:
    (cost [usd]) = 100
    (revenue [usd]) = 240.0
  Expressions:
    ∂ [(profit [usd])] / ∂ [(cost [usd])] = -1
    ∂ [(profit [usd])] / ∂ [(revenue [usd])] = 1
    ∂ [(profit margin)] / ∂ [(cost [usd])] = -0.00416666666666667
    ∂ [(profit margin)] / ∂ [(revenue [usd])] = 0.00173611111111111
    (profit [usd]) = 140.000000000000
    (profit margin) = 0.583333333333333    

Scope version: 50% discount
  Variables:
    (cost [usd]) = 100
    (revenue [usd]) = 150.0
  Expressions:
    ∂ [(profit [usd])] / ∂ [(cost [usd])] = -1
    ∂ [(profit [usd])] / ∂ [(revenue [usd])] = 1
    ∂ [(profit margin)] / ∂ [(cost [usd])] = -0.00666666666666667
    ∂ [(profit margin)] / ∂ [(revenue [usd])] = 0.00444444444444445
    (profit [usd]) = 50.0000000000000
    (profit margin) = 0.333333333333333

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

varius-0.1.10.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

varius-0.1.10-py3-none-any.whl (6.6 kB view hashes)

Uploaded Python 3

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