  We present Gravity.jl, a new software for the modeling of gravitational lens
systems. Gravity.jl is written in the Julia programming language, and is
designed to be fast, accurate, and flexible. It can be used to model
gravitational lens systems composed of multiple lensing planes, and to perform
Bayesian inference on the lens model parameters. In this paper we present the
theoretical and statistical ideas behind the code, and we describe its main
features. In this first paper of the series, we focus on the modeling of
point-like and small extended sources, for which we can linearize the lens
equation. We show a practical use of Gravity.jl on a galaxy-scale lens, and we
compare the results with those obtained with other codes. We also show how
Gravity.jl can be used to perform Bayesian inference on cosmological
parameters.
