Metadata-Version: 2.1
Name: pharmpy-core
Version: 1.2.0
Summary: Pharmacometric modeling
Home-page: https://pharmpy.github.io
Author: Rikard Nordgren
Author-email: rikard.nordgren@farmaci.uu.se
License: GNU Lesser General Public License v3 (LGPLv3)
Project-URL: Bug Tracker, https://github.com/pharmpy/pharmpy/issues
Project-URL: Source Code, https://github.com/pharmpy/pharmpy
Keywords: pharmacometrics
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Operating System :: Unix
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: LICENSE.LESSER
License-File: AUTHORS.rst
Requires-Dist: lark>=1.1.4
Requires-Dist: sympy>=1.9
Requires-Dist: symengine>=0.11.0
Requires-Dist: pandas!=2.1.0,>=1.4
Requires-Dist: numexpr>=2.7.0
Requires-Dist: altair>=5.0.0
Requires-Dist: jsonschema>=3.1.0
Requires-Dist: sphinx>=2.2.0
Requires-Dist: csscompressor>=0.9.5
Requires-Dist: beautifulsoup4>=4.8.0
Requires-Dist: lxml>=4.4.0
Requires-Dist: numpy>=1.17
Requires-Dist: scipy>=1.4.0
Requires-Dist: dask>=2022.12.1
Requires-Dist: distributed>=2022.12.1
Requires-Dist: networkx>=2.3
Requires-Dist: appdirs>=1.4.4
Requires-Dist: rich>=4.2.0
Requires-Dist: jupyter-sphinx>=0.2.0
Requires-Dist: ipykernel>=5.4.0
Provides-Extra: nlmixr
Requires-Dist: pyreadr; extra == "nlmixr"

|badge1| |badge2| |badge3| |badge4| |badge5| |badge6|

.. |badge1| image:: https://img.shields.io/pypi/v/pharmpy-core.svg
   :target: https://pypi.org/project/pharmpy-core

.. |badge2| image:: https://img.shields.io/pypi/l/pharmpy-core.svg
   :target: https://github.com/pharmpy/pharmpy/blob/main/LICENSE.LESSER

.. |badge3| image:: https://github.com/pharmpy/pharmpy/actions/workflows/main.yml/badge.svg
    :target: https://github.com/pharmpy/pharmpy/actions

.. |badge4| image:: https://img.shields.io/pypi/pyversions/pharmpy-core
   :target: https://www.python.org/downloads/

.. |badge5| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black

.. |badge6| image:: https://codecov.io/gh/pharmpy/pharmpy/branch/main/graph/badge.svg?token=JZTHXXQPII
    :target: https://codecov.io/gh/pharmpy/pharmpy

.. _README:

|logo|
======

.. |logo| image:: https://github.com/pharmpy/pharmpy/raw/main/docs/Pharmpy_logo.svg
   :width: 250

Pharmpy is an open-source software package for pharmacometric modeling. It has functionality ranging from reading and
manipulating model files and datasets to full tools where subsequent results are collected and presented.

Features include:

* A **model abstraction** which splits a model into core components which Pharmpy understands and can manipulate:
  parameters, random variables, statements (including ODE system), dataset, and execution steps
* An **abstraction for modelfit results** which splits a parsed results into core components: e.g. OFV, parameter
  estimates, relative standard errors (RSEs), residuals, predictions
* **Functions for manipulation of models and datasets** in the modeling-module: e.g. change structural model, add
  time-after-dose column, deidentify dataset
* **Tools to aid model development** in the tools-module: execution of models within Python/R scripts, automatic
  development of models (e.g. AMD, IIVSearch, RUVSearch), comparison of estimation methods
* Support for **multiple estimation tools**: parse NONMEM models, execute NONMEM, nlmixr2, and rxODE2 models, run all
  Pharmpy tools with NONMEM and some with nlmixr2

For more comprehensive information and documentation, see: https://pharmpy.github.io

Pharmpy can be used as a regular Python package, in R via the `pharmr <https://github.com/pharmpy/pharmr>`_ package,
or via its built in command line interface.

Getting started
===============

The sections below are intended as first steps, please check our `website <https://pharmpy.github.io>`_ website for
more comprehensive documentation, such as user guides and API references.

Installation
------------

For installation in R, see `pharmr <https://github.com/pharmpy/pharmr>`_.

Install the latest stable version from PyPI:

    pip install pharmpy-core    # or 'pip3 install' if that is your default python3 pip

Python Example
--------------

.. code-block:: none

   >>> from pharmpy.modeling import read_model
   >>> from pharmpy.tools import load_example_modelfit_results
   >>> model = load_example_model("pheno")
   >>> model.parameters
               value  lower upper    fix
   POP_CL   0.004693   0.00     ∞  False
   POP_VC   1.009160   0.00     ∞  False
   COVAPGR  0.100000  -0.99     ∞  False
   IIV_CL   0.030963   0.00     ∞  False
   IIV_VC   0.031128   0.00     ∞  False
   SIGMA    0.013086   0.00     ∞  False
   >>> res = load_example_modelfit_results("pheno")
   >>> res.parameter_estimates
   POP_CL     0.004696
   POP_VC     0.984258
   COVAPGR    0.158920
   IIV_CL     0.029351
   IIV_VC     0.027906
   SIGMA      0.013241
   Name: estimates, dtype: float64
   >>>

CLI Example
-----------

.. code-block:: none

    # Get help
    pharmpy -h

    # Remove first ID from dataset and save new model using new dataset
    pharmpy data filter run1.mod 'ID!=1'

    # Run tool for selecting IIV structure
    pharmpy run iivsearch run1.mod


Contact
=======

This is the `team behind Pharmpy <https://pharmpy.github.io/latest/contributors.html>`_

Please ask a question in an issue or contact one of the maintainers if you have any questions.

Contributing
------------

If you interested in contributing to Pharmpy, you can find more information under
`Contribute <https://pharmpy.github.io/latest/contribute.html#contribute>`_.
