Skip to main content

pharmacokinetics

downloads repo-size

The pharmacokinetics package is a Python package designed to make pharmacokinetic formulas easier to calculate in your Python code.

Usage

Some functions will use kwargs, which will allow the ability to use alternatives to values, e.g. the parameter t12 can be used instead of ke, which will convert the elimination half-life to the elimination rate constant with the following formula:

$\Large{\frac{\ln2}{t^{1/2}}}$

Calculating Concentrations

Calculating the concentration remaining after an elapsed time after peak concentration using the formula $C \cdot e^{-k_et}$:

import pharmacokinetics as pk
pk.single_dose.calculateRemaining(initial_concentration=10, time_elapsed=4, t12=9)

The above code will calculate the remaining concentration of a drug that has reached peak concentration 4 hours ago with an elimination half-life of 9 hours.

The formula to this function:
$10 \ mg \cdot e^{-\frac{\ln2}{9 \ h}4 \ h}=7.35 \ mg$

To calculate the concentration at any time $T$ (oral administration), the usage is:

import pharmacokinetics as pk
pk.concentrationAtTime(
    dose=200,
    vd=0.7,
    bioavailability=0.99,
    t12=4.5,
    t12abs=7/60,
    elapsed=6
)

This above code follows the formula:

$\frac{F \cdot D \cdot k_a}{Vd(k_a - k_e)}(e^{-k_e \cdot t} - e^{-k_a \cdot t})$

Alternatively, interval can be used if the drug is taken at intervals, this will use the formula:

$\Large{\frac{F \cdot D \cdot k_a}{Vd(k_a - k_e)}(\frac{e^{-k_e \cdot t}}{1 - e^{-k_e \cdot \tau}} - \frac{e^{-k_a \cdot t}}{1 - e^{-k_a \cdot \tau}})}$

Solving Values

Half-lives can be solved if the initial concentration, remaining concentration, and time elapsed are known:

import pharmacokinetics as pk
pk.single_dose.halflifeFromDoses(
    dose=15,
    dose=9,
    elapsed=9
)

Where the time elapsed is the time past since the drug has reached maximum concentration and begins the elimination phase, which will then follow the formula $C = e^{-x \cdot 9 \ h}$ where $x$ is the elimination rate constant. Solving for $x$ becomes $\frac{\ln(\frac{9}{15})}{9} = -k_e$ to get half-life we use $\frac{\ln2}{|-k_e|} = 12.2 \ h$.

Calculating Peak Time

If a drug's absorption and elimination constants are known, the tmax can be calculated:

import pharmacokinetics as pk
pk.calculateTmax(t12=9, t12abs=0.75)

The formula to this calculation: $\frac{1}{k_a - k_e} \ln(\frac{ka}{ke}) = \frac{\ln(\frac{k_a}{k_e})}{k_a - k_e} = T_{max}$, which results in a tmax of 2.93 hours.

Disclaimers

This package uses real formulas, but that does not mean it is free from errors, for example, bugs and typos can result in inaccurate info.
If any bugs or inaccuracies are seen, open an issue so it can be fixed.

Developers

If you intend to install the edited package, create a wheel file:

$ pip3 install setuptools # required to build package (skip if already installed)
$ python3 -m build # builds the package to a wheel file

To install this, I recommend creating a virtual environment:

$ python3 -m venv .venv # creates virtual environment
$ source .venv/bin/activate # activates the virtual environment

Now use pip install with the file that was just created.
To deactivate the virtual environment:

$ deactivate

Contributing

Contributions must not break the code or change formulas.
Contributions that can possibly be accepted:

  • fixed typos
  • fixed bugs
  • new formulas (source required)

Metadata

Release files for pharmacokinetics 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pharmacokinetics 0.1
File Size Uploaded Provenance
pharmacokinetics-0.1.tar.gz 7.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pharmacokinetics 0.1
File Interpreter ABI Platform
pharmacokinetics-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / pharmacokinetics-0.1.tar.gz

Download URL pharmacokinetics-0.1.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
356c2e8391351afb719eeb56a8e034d3a6823e0d5c9b44b2f3eddc56512d42ef
BLAKE2b-256 checksum
How to use checksums
c23f346a474d78c55f3003990fb17351686db303c513cbeb59877c2e66ed4bca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.4

Release files / pharmacokinetics-0.1-py3-none-any.whl

Download URL pharmacokinetics-0.1-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da33a19379f9d11e6ce9ae43561f1fe6452dc57475f60bfee8ac77faddc03dee
BLAKE2b-256 checksum
How to use checksums
e041ccb0fa5982472b2512e1ef0fdbb26ddd08c376bf293e491b38283a4d9733
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.4

Security for pharmacokinetics 0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page