Skip to content

overlay-market/pystable

Repository files navigation

pystable-ubuntu pystable-macOS coverage

pystable

Python wrapper for the libstable C library.

Example

To fit with ML estimation:

import pystable

init_fit = {'alpha': 2, 'beta': 0, 'sigma': 1, 'mu': 0,
            'parameterization': 1}
dist = pystable.create(init_fit['alpha'], init_fit['beta'],
                       init_fit['sigma'], init_fit['mu'],
                       init_fit['parameterization'])

pystable.fit(dist, data, len(data))
fit_params = [dist.contents.alpha, dist.contents.beta,
              dist.contents.sigma, dist.contents.mu_0, dist.contents.mu_1]

Setup

Dependencies

Install the GNU Scientific Library (GSL).

Arch Linux:

$ yay gsl

Mac:

$ brew install gsl

Ubuntu:

$ sudo apt install gsl-bin libgsl0-dev

Build libstable

$ cd libstable
$ make

or

$ poetry build

Test & Coverage Report

$ poetry run coverage run -m pytest && poetry run coverage report -m

TODO

  • import ctypes as ct
  • create lib structure
  • create example file utilizing pystable lib
  • typings
  • handle errors
    • handle NULL pointer errors
    • handle err
  • stable_checkparams
    • impl
    • test
    • example
    • handle error
    • test error
  • stable_create
    • impl
    • test
    • example
  • stable_cdf
    • impl
    • test
    • example
  • stable_pdf
    • impl
    • test
    • example
  • stable_fit
    • impl
    • test
    • example
  • stable_q
    • impl
    • test
    • example
  • stable_rnd
    • impl
    • test
    • example