Skip to main content

No project description provided

Project description

leapfrog-py

PyPI - Version PyPI - Python Version


Table of Contents

Installation

pip install leapfrog-py

Usage

You can use leapfrog-py to run a leapfrog simulation in two ways. Run for multiple years using:

from leapfrog_py import run_leapfrog

run_leapfrog(parameters)

This will run from 1970 to 2030 inclusive by default with 10 HIV time steps per year. You can also run for a single year using:

from leapfrog_py import set_initial_state, project_single_year

set_initial_state(parameters, state)
for i in range(1, 61):
    project_single_year(i, parameters, state)

Parameters and state are both dictionaries of numpy arrays.

Development

Prerequisites

This project uses scikit-build-core to build the C++ project. You'll need a recent version of CMake (>3.15) and Python (>3.7).

I use hatch to manage the project, but this should work without it if you prefer.

If you're using an IDE you might need to set the Python interpreter to the one in the hatch virtual environment. See instructions for VSCode here.

We use Eigen for linear algebra library, install this on linux

sudo apt-get install libeigen3-dev

on windows download from https://eigen.tuxfamily.org/index.php?title=Main_Page, extract the archive and build and install it using cmake. From the extracted dir:

mkdir build
cd build
cmake ..
cmake --build . --target install

Building, installing and running tests

Use hatch

hatch shell
hatch run install
hatch run test
hatch run cov
hatch run install_and_test
hatch run lint:fmt
hatch run lint:style
hatch run lint:typing
hatch run lint:all

To build with pipx

pipx run build

Or simply (in a virtualenv, ideally)

pip install .

License

leapfrog-py is distributed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

leapfrog_py-0.0.1-pp310-pypy310_pp73-win_amd64.whl (2.3 MB view hashes)

Uploaded PyPy Windows x86-64

leapfrog_py-0.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

leapfrog_py-0.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (2.2 MB view hashes)

Uploaded PyPy macOS 10.15+ x86-64

leapfrog_py-0.0.1-pp39-pypy39_pp73-win_amd64.whl (2.3 MB view hashes)

Uploaded PyPy Windows x86-64

leapfrog_py-0.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

leapfrog_py-0.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (2.2 MB view hashes)

Uploaded PyPy macOS 10.15+ x86-64

leapfrog_py-0.0.1-pp38-pypy38_pp73-win_amd64.whl (2.3 MB view hashes)

Uploaded PyPy Windows x86-64

leapfrog_py-0.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

leapfrog_py-0.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (2.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

leapfrog_py-0.0.1-cp312-cp312-win_amd64.whl (2.3 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

leapfrog_py-0.0.1-cp312-cp312-win32.whl (2.2 MB view hashes)

Uploaded CPython 3.12 Windows x86

leapfrog_py-0.0.1-cp312-cp312-musllinux_1_2_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

leapfrog_py-0.0.1-cp312-cp312-musllinux_1_2_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

leapfrog_py-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

leapfrog_py-0.0.1-cp312-cp312-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

leapfrog_py-0.0.1-cp312-cp312-macosx_10_9_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

leapfrog_py-0.0.1-cp311-cp311-win_amd64.whl (2.3 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

leapfrog_py-0.0.1-cp311-cp311-win32.whl (2.2 MB view hashes)

Uploaded CPython 3.11 Windows x86

leapfrog_py-0.0.1-cp311-cp311-musllinux_1_2_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

leapfrog_py-0.0.1-cp311-cp311-musllinux_1_2_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

leapfrog_py-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

leapfrog_py-0.0.1-cp311-cp311-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

leapfrog_py-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

leapfrog_py-0.0.1-cp310-cp310-win_amd64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

leapfrog_py-0.0.1-cp310-cp310-win32.whl (2.2 MB view hashes)

Uploaded CPython 3.10 Windows x86

leapfrog_py-0.0.1-cp310-cp310-musllinux_1_2_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

leapfrog_py-0.0.1-cp310-cp310-musllinux_1_2_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

leapfrog_py-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

leapfrog_py-0.0.1-cp310-cp310-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

leapfrog_py-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

leapfrog_py-0.0.1-cp39-cp39-win_amd64.whl (2.2 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

leapfrog_py-0.0.1-cp39-cp39-win32.whl (2.2 MB view hashes)

Uploaded CPython 3.9 Windows x86

leapfrog_py-0.0.1-cp39-cp39-musllinux_1_2_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

leapfrog_py-0.0.1-cp39-cp39-musllinux_1_2_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

leapfrog_py-0.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

leapfrog_py-0.0.1-cp39-cp39-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

leapfrog_py-0.0.1-cp39-cp39-macosx_10_9_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

leapfrog_py-0.0.1-cp38-cp38-win_amd64.whl (2.3 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

leapfrog_py-0.0.1-cp38-cp38-win32.whl (2.2 MB view hashes)

Uploaded CPython 3.8 Windows x86

leapfrog_py-0.0.1-cp38-cp38-musllinux_1_2_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

leapfrog_py-0.0.1-cp38-cp38-musllinux_1_2_i686.whl (3.4 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

leapfrog_py-0.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

leapfrog_py-0.0.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

leapfrog_py-0.0.1-cp38-cp38-macosx_11_0_arm64.whl (2.2 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

leapfrog_py-0.0.1-cp38-cp38-macosx_10_9_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

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