wotan


Namewotan JSON
Version 1.10 PyPI version JSON
download
home_pagehttps://github.com/hippke/wotan
SummaryDetrending algorithms
upload_time2021-09-24 07:13:01
maintainer
docs_urlNone
authorMichael Hippke
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ![Logo](https://raw.githubusercontent.com/hippke/wotan/master/logo.png)

[![pip](https://img.shields.io/badge/pip-install%20wotan-blue.svg)](https://pypi.org/project/wotan/)
[![Documentation](https://img.shields.io/badge/documentation-%E2%9C%93-blue.svg)](https://wotan.readthedocs.io/en/latest/index.html)
[![Image](https://img.shields.io/badge/tutorials-%E2%9C%93-blue.svg)](https://github.com/hippke/wotan/tree/master/tutorials)
[![Image](https://img.shields.io/badge/arXiv-1906.00966-blue.svg)](https://arxiv.org/abs/1906.00966)
[![Build Status](https://travis-ci.com/hippke/wotan.svg?branch=master)](https://travis-ci.com/hippke/wotan)

Wōtan...
====================

...offers free and open source algorithms to automagically remove trends from time-series data.

> In Germanic mythology, Odin (/ˈoːðinː/ Old High German: Wōtan) is a widely revered god. He gave one of his eyes to Mimir in return for wisdom. Thus, in order to achieve a goal, one sometimes has to turn a blind eye. In Richard Wagner's "Der Ring des Nibelungen", Wotan is the King of the Gods (god of light, air, and wind) and a bass-baritone. According to Wagner, he is the "pinnacle of intelligence".

Example usage
-------------
```
from wotan import flatten
flatten_lc, trend_lc = flatten(time, flux, window_length=0.5, method='biweight', return_trend=True)
```

For more details, have a look at the [interactive playground](https://colab.research.google.com/github/hippke/wotan/blob/master/tutorials/interactive.ipynb#scrollTo=spnftwRjefhQ), the [documentation](https://wotan.readthedocs.io).
We also have examples and tutorials available, such as the [📑Example: Basic wotan functionality](https://github.com/hippke/wotan/blob/master/tutorials/01%20Basic%20functionality.ipynb)

Available detrending algorithms
---------------------------------

- Time-windowed sliders with location estimates: [(📑Example: Comparison of sliders)](https://github.com/hippke/wotan/blob/master/tutorials/02%20Sliders.ipynb)
   - ``biweight`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) using [Tukey's biweight](https://books.google.de/books?id=pGlHAAAAMAAJ) [(📑Example)](https://github.com/hippke/wotan/blob/master/examples/biweight.ipynb)
   - ``huber`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) from  [Huber (1981)](https://books.google.de/books/about/Robust_Statistics.html?id=hVbhlwEACAAJ&redir_esc=y) (iterative)
   - ``huber_psi`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) based on [Huber's ψ](https://books.google.de/books/about/Robust_Statistics.html?id=hVbhlwEACAAJ&redir_esc=y) (one-step)
   - ``hampel`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) based on [Hampel (1972)](https://www.tandfonline.com/doi/abs/10.1080/01621459.1974.10482962), 3-part descending, known as (a,b,c), 17A, 25A
   - ``andrewsinewave`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) using [Andrew's sine wave](http://www.jstor.org/stable/j.ctt13x12sw.3)
   - ``welsch`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) from [Welsch](https://doi.org/10.1080/03610917808812083)-[Leclerc](https://doi.org/10.1007/BF00054839)
   - ``ramsay`` Robust M-estimator from [Ramsay (1977)](https://www.jstor.org/stable/2286228?seq=1#page_scan_tab_contents), known as Ramsay's E<sup>a</sup>
   - ``tau`` Robust τ estimator from [Yohai & Zamar (1986)](https://www.tandfonline.com/doi/abs/10.1080/01621459.1988.10478611)
   - ``hodges`` Rank-based robust R-estimator [Hodges-Lehmann](https://doi.org/10.1214/aoms/1177704172)-[Sen](https://doi.org/10.2307/2527532)
   - ``median`` The most robust (but least efficient)
   - ``medfilt`` A cadence-based median filter (*not* time-windowed) for comparison
   - ``mean`` The least robust (but most efficient for white noise)
   - ``trim_mean`` Trimmed mean (outliers are removed)
   - ``winsorize`` Trimmed mean (outliers are [*winsorized*](https://en.wikipedia.org/wiki/Winsorizing) to a specified percentile)
   - ``hampelfilt`` Trimmed mean (outliers are [replaced](https://link.springer.com/article/10.1186/s13634-016-0383-6) with the median)
- Splines: [(📑Example)](https://github.com/hippke/wotan/blob/master/examples/splines.ipynb)
   - ``rspline`` Spline with iterative sigma-clipping
   - ``hspline`` Spline with a robust Huber estimator ([Huber 1981](https://books.google.de/books?id=hVbhlwEACAAJ))
   - ``pspline`` Penalized spline to automatically select the knot distance [(Eilers 1996)](https://pdfs.semanticscholar.org/5e3d/4cf7824be321af95ac098595957d8a87bf68.pdf), with iterative sigma-clipping
- Polynomials and sines: [(📑Example)](https://github.com/hippke/wotan/blob/master/examples/polynomials_sines_cofiam_cosine_savgol.ipynb)
   - ``cofiam`` Cosine Filtering with Autocorrelation Minimization ([Kipping et al. 2013](http://adsabs.harvard.edu/abs/2013ApJ...770..101K))
   - ``cosine`` Sum of sines and cosines, with option for iterative sigma-clipping
   - ``savgol`` Sliding segments are fit with polynomials ([Savitzky & Golay 1964](https://ui.adsabs.harvard.edu/#abs/1964AnaCh..36.1627S)), cadence-based
- Regressions: [(📑Example)](https://github.com/hippke/wotan/blob/master/examples/regressions_lowess_supersmoother.ipynb)
   - ``lowess`` Locally weighted scatterplot smoothing ([Cleveland 1979](https://doi.org/10.1080/01621459.1979.10481038))
   - ``supersmoother`` [Friedman's (1984)](https://www.slac.stanford.edu/pubs/slacpubs/3250/slac-pub-3477.pdf) Super-Smoother, a local linear regression with adaptive bandwidth

   Fitting a model that is a sum of Gaussian bases: [(📑Example)](https://github.com/hippke/wotan/blob/master/examples/regressions_ridge_lasso_elasticnet.ipynb)
   - ``ridge`` Ridge regression (L2 loss, [Tikhonov regularization](https://en.wikipedia.org/wiki/Tikhonov_regularization))
   - ``lasso`` LASSO regression 
   (L1 loss, [Least Absolute Shrinkage Selector Operator](https://en.wikipedia.org/wiki/Lasso_(statistics)), [Tibshirani (1996)](https://www.jstor.org/stable/2346178?seq=1#page_scan_tab_contents))
   - ``elasticnet`` [Linear regression model](https://en.wikipedia.org/wiki/Elastic_net_regularization) with 50% L1 and 50% L2 norm regularization
- ``gp`` Gaussian Processes offering: [(📑Example: GP Standard vs. robust)](https://github.com/hippke/wotan/blob/master/tutorials/03%20GPs%20-%20standard%20versus%20robust.ipynb)
   - ``squared_exp`` Squared-exponential kernel, with option for iterative sigma-clipping
   - ``matern`` Matern 3/2 kernel, with option for iterative sigma-clipping
   - ``periodic`` Periodic kernel informed by a user-specified period [(📑Example)](https://github.com/hippke/wotan/blob/master/tutorials/04%20GPs%20periodic.ipynb)
   - ``periodic_auto`` Periodic kernel informed by a Lomb-Scargle periodogram pre-search


Available features
-------------------

- ``window_length`` The length of the filter window in units of ``time`` (usually days).
- ``break_tolerance`` If there are large gaps in time, especially with corresponding flux level offsets, the detrending is much improved when splitting the data into several sub-lightcurves and applying the filter to each individually. Comes with an empirical default and is fully adjustable.
- ``edge_cutoff`` Trends near edges are less robust. Depending on the data, it may be beneficial to remove edges.
- ``cval`` Tuning parameter for the robust estimators (see [documentation](https://wotan.readthedocs.io/en/latest/index.html))
- ``return_trend`` If `True`, the method will return a tuple of two elements (``flattened_flux``, ``trend_flux``) where ``trend_flux`` is the removed trend. Otherwise, it will only return ``flattened_flux``.
- ``transit_mask`` Mask known transits during detrending [(📑Example)](https://github.com/hippke/wotan/blob/master/examples/transit%20mask.ipynb)


What method to choose?
-----------------------
It depends on your data and what you like to achieve ([relevant xkcd](https://xkcd.com/2048/)). If possible, try it out! Use wotan with a selection of methods, iterate over their parameter space, and choose what gives the best results for your research.

If that is too much effort, you should first examine your data.
- Is it mostly white (Gaussian) noise? Use a time-windowed sliding mean. This is the most efficient method for white noise.
- With prominent outliers (such as transits or flares), use a robust time-windowed method such as the ``biweight``. This is usually superior to the ``median`` or trimmed methods.
- Are there (semi-) periodic trends? In addition to a time-windowed biweight, try a spline-based method. Experimenting with periodic GPs is worthwhile.


Installation
------------
To install the released version, type

    $ pip install wotan

which automatically installs `numpy`, `numba` and ``scipy`` if not present. Depending on the algorithm, additional dependencies exist:

- `huber`, `ramsay`, and `hampel` depend on `statsmodels`
- `hspline` and `gp` depend on `sklearn`
- `pspline` depends on `pygam`
- `supersmoother` depends on `supersmoother`

To install all additional dependencies, type ``$ pip install statsmodels sklearn supersmoother pygam``.


Originality
----------------
As all scientific work, wōtan is [*standing on the shoulders of giants*](https://en.wikiquote.org/wiki/Isaac_Newton). Particularly, many detrending methods are wrapped from existing packages. Original contributions include:
- A time-windowed detrending master module with edge treatments and segmentation options
- Robust location estimates using Newton-Raphson iteration to a precision threshold for Tukey's biweight, Andrew's sine wave, and the Welsch-Leclerc. This is probably a "first", which reduces jitter in the location estimate by ~10 ppm
- Robustified (iterative sigma-clipping) penalized splines for automatic knot distance determination and outlier resistance
- Robustified (iterative sigma-clipping) Gaussian processes
- GP with a periodic kernel informed by a Lomb-Scargle periodogram pre-search
- Bringing together many methods in one place in a common interface, with sensible defaults
- Providing documentation, tutorials, and a [paper](https://arxiv.org/abs/1906.00966) which compares and benchmarks the methods


Attribution
----------------
Please cite [Hippke et al. (2019, AJ, 158, 143)](https://ui.adsabs.harvard.edu/abs/2019AJ....158..143H/abstract) if you find this code useful in your research. The BibTeX entry for the paper is:

```
@ARTICLE{2019AJ....158..143H,
       author = {{Hippke}, Michael and {David}, Trevor J. and {Mulders}, Gijs D. and
         {Heller}, Ren{\'e}},
        title = "{W{\={o}}tan: Comprehensive Time-series Detrending in Python}",
      journal = {\aj},
     keywords = {eclipses, methods: data analysis, methods: statistical, planetary systems, planets and satellites: detection, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = "2019",
        month = "Oct",
       volume = {158},
       number = {4},
          eid = {143},
        pages = {143},
          doi = {10.3847/1538-3881/ab3984},
archivePrefix = {arXiv},
       eprint = {1906.00966},
 primaryClass = {astro-ph.EP},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2019AJ....158..143H},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}


```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hippke/wotan",
    "name": "wotan",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Michael Hippke",
    "author_email": "michael@hippke.org",
    "download_url": "https://files.pythonhosted.org/packages/0f/21/7fe357a0cfcebe89fd6698a6ca848be7b2ca3f21f99de96c0c85b2de6cf0/wotan-1.10.tar.gz",
    "platform": "",
    "description": "![Logo](https://raw.githubusercontent.com/hippke/wotan/master/logo.png)\n\n[![pip](https://img.shields.io/badge/pip-install%20wotan-blue.svg)](https://pypi.org/project/wotan/)\n[![Documentation](https://img.shields.io/badge/documentation-%E2%9C%93-blue.svg)](https://wotan.readthedocs.io/en/latest/index.html)\n[![Image](https://img.shields.io/badge/tutorials-%E2%9C%93-blue.svg)](https://github.com/hippke/wotan/tree/master/tutorials)\n[![Image](https://img.shields.io/badge/arXiv-1906.00966-blue.svg)](https://arxiv.org/abs/1906.00966)\n[![Build Status](https://travis-ci.com/hippke/wotan.svg?branch=master)](https://travis-ci.com/hippke/wotan)\n\nW\u014dtan...\n====================\n\n...offers free and open source algorithms to automagically remove trends from time-series data.\n\n> In Germanic mythology, Odin (/\u02c8o\u02d0\u00f0in\u02d0/ Old High German: W\u014dtan) is a widely revered god. He gave one of his eyes to Mimir in return for wisdom. Thus, in order to achieve a goal, one sometimes has to turn a blind eye. In Richard Wagner's \"Der Ring des Nibelungen\", Wotan is the King of the Gods (god of light, air, and wind) and a bass-baritone. According to Wagner, he is the \"pinnacle of intelligence\".\n\nExample usage\n-------------\n```\nfrom wotan import flatten\nflatten_lc, trend_lc = flatten(time, flux, window_length=0.5, method='biweight', return_trend=True)\n```\n\nFor more details, have a look at the [interactive playground](https://colab.research.google.com/github/hippke/wotan/blob/master/tutorials/interactive.ipynb#scrollTo=spnftwRjefhQ), the [documentation](https://wotan.readthedocs.io).\nWe also have examples and tutorials available, such as the [\ud83d\udcd1Example: Basic wotan functionality](https://github.com/hippke/wotan/blob/master/tutorials/01%20Basic%20functionality.ipynb)\n\nAvailable detrending algorithms\n---------------------------------\n\n- Time-windowed sliders with location estimates: [(\ud83d\udcd1Example: Comparison of sliders)](https://github.com/hippke/wotan/blob/master/tutorials/02%20Sliders.ipynb)\n   - ``biweight`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) using [Tukey's biweight](https://books.google.de/books?id=pGlHAAAAMAAJ) [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/examples/biweight.ipynb)\n   - ``huber`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) from  [Huber (1981)](https://books.google.de/books/about/Robust_Statistics.html?id=hVbhlwEACAAJ&redir_esc=y) (iterative)\n   - ``huber_psi`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) based on [Huber's \u03c8](https://books.google.de/books/about/Robust_Statistics.html?id=hVbhlwEACAAJ&redir_esc=y) (one-step)\n   - ``hampel`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) based on [Hampel (1972)](https://www.tandfonline.com/doi/abs/10.1080/01621459.1974.10482962), 3-part descending, known as (a,b,c), 17A, 25A\n   - ``andrewsinewave`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) using [Andrew's sine wave](http://www.jstor.org/stable/j.ctt13x12sw.3)\n   - ``welsch`` Robust [M-estimator](https://en.wikipedia.org/wiki/M-estimator) from [Welsch](https://doi.org/10.1080/03610917808812083)-[Leclerc](https://doi.org/10.1007/BF00054839)\n   - ``ramsay`` Robust M-estimator from [Ramsay (1977)](https://www.jstor.org/stable/2286228?seq=1#page_scan_tab_contents), known as Ramsay's E<sup>a</sup>\n   - ``tau`` Robust \u03c4 estimator from [Yohai & Zamar (1986)](https://www.tandfonline.com/doi/abs/10.1080/01621459.1988.10478611)\n   - ``hodges`` Rank-based robust R-estimator [Hodges-Lehmann](https://doi.org/10.1214/aoms/1177704172)-[Sen](https://doi.org/10.2307/2527532)\n   - ``median`` The most robust (but least efficient)\n   - ``medfilt`` A cadence-based median filter (*not* time-windowed) for comparison\n   - ``mean`` The least robust (but most efficient for white noise)\n   - ``trim_mean`` Trimmed mean (outliers are removed)\n   - ``winsorize`` Trimmed mean (outliers are [*winsorized*](https://en.wikipedia.org/wiki/Winsorizing) to a specified percentile)\n   - ``hampelfilt`` Trimmed mean (outliers are [replaced](https://link.springer.com/article/10.1186/s13634-016-0383-6) with the median)\n- Splines: [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/examples/splines.ipynb)\n   - ``rspline`` Spline with iterative sigma-clipping\n   - ``hspline`` Spline with a robust Huber estimator ([Huber 1981](https://books.google.de/books?id=hVbhlwEACAAJ))\n   - ``pspline`` Penalized spline to automatically select the knot distance [(Eilers 1996)](https://pdfs.semanticscholar.org/5e3d/4cf7824be321af95ac098595957d8a87bf68.pdf), with iterative sigma-clipping\n- Polynomials and sines: [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/examples/polynomials_sines_cofiam_cosine_savgol.ipynb)\n   - ``cofiam`` Cosine Filtering with Autocorrelation Minimization ([Kipping et al. 2013](http://adsabs.harvard.edu/abs/2013ApJ...770..101K))\n   - ``cosine`` Sum of sines and cosines, with option for iterative sigma-clipping\n   - ``savgol`` Sliding segments are fit with polynomials ([Savitzky & Golay 1964](https://ui.adsabs.harvard.edu/#abs/1964AnaCh..36.1627S)), cadence-based\n- Regressions: [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/examples/regressions_lowess_supersmoother.ipynb)\n   - ``lowess`` Locally weighted scatterplot smoothing ([Cleveland 1979](https://doi.org/10.1080/01621459.1979.10481038))\n   - ``supersmoother`` [Friedman's (1984)](https://www.slac.stanford.edu/pubs/slacpubs/3250/slac-pub-3477.pdf) Super-Smoother, a local linear regression with adaptive bandwidth\n\n   Fitting a model that is a sum of Gaussian bases: [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/examples/regressions_ridge_lasso_elasticnet.ipynb)\n   - ``ridge`` Ridge regression (L2 loss, [Tikhonov regularization](https://en.wikipedia.org/wiki/Tikhonov_regularization))\n   - ``lasso`` LASSO regression \n   (L1 loss, [Least Absolute Shrinkage Selector Operator](https://en.wikipedia.org/wiki/Lasso_(statistics)), [Tibshirani (1996)](https://www.jstor.org/stable/2346178?seq=1#page_scan_tab_contents))\n   - ``elasticnet`` [Linear regression model](https://en.wikipedia.org/wiki/Elastic_net_regularization) with 50% L1 and 50% L2 norm regularization\n- ``gp`` Gaussian Processes offering: [(\ud83d\udcd1Example: GP Standard vs. robust)](https://github.com/hippke/wotan/blob/master/tutorials/03%20GPs%20-%20standard%20versus%20robust.ipynb)\n   - ``squared_exp`` Squared-exponential kernel, with option for iterative sigma-clipping\n   - ``matern`` Matern 3/2 kernel, with option for iterative sigma-clipping\n   - ``periodic`` Periodic kernel informed by a user-specified period [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/tutorials/04%20GPs%20periodic.ipynb)\n   - ``periodic_auto`` Periodic kernel informed by a Lomb-Scargle periodogram pre-search\n\n\nAvailable features\n-------------------\n\n- ``window_length`` The length of the filter window in units of ``time`` (usually days).\n- ``break_tolerance`` If there are large gaps in time, especially with corresponding flux level offsets, the detrending is much improved when splitting the data into several sub-lightcurves and applying the filter to each individually. Comes with an empirical default and is fully adjustable.\n- ``edge_cutoff`` Trends near edges are less robust. Depending on the data, it may be beneficial to remove edges.\n- ``cval`` Tuning parameter for the robust estimators (see [documentation](https://wotan.readthedocs.io/en/latest/index.html))\n- ``return_trend`` If `True`, the method will return a tuple of two elements (``flattened_flux``, ``trend_flux``) where ``trend_flux`` is the removed trend. Otherwise, it will only return ``flattened_flux``.\n- ``transit_mask`` Mask known transits during detrending [(\ud83d\udcd1Example)](https://github.com/hippke/wotan/blob/master/examples/transit%20mask.ipynb)\n\n\nWhat method to choose?\n-----------------------\nIt depends on your data and what you like to achieve ([relevant xkcd](https://xkcd.com/2048/)). If possible, try it out! Use wotan with a selection of methods, iterate over their parameter space, and choose what gives the best results for your research.\n\nIf that is too much effort, you should first examine your data.\n- Is it mostly white (Gaussian) noise? Use a time-windowed sliding mean. This is the most efficient method for white noise.\n- With prominent outliers (such as transits or flares), use a robust time-windowed method such as the ``biweight``. This is usually superior to the ``median`` or trimmed methods.\n- Are there (semi-) periodic trends? In addition to a time-windowed biweight, try a spline-based method. Experimenting with periodic GPs is worthwhile.\n\n\nInstallation\n------------\nTo install the released version, type\n\n    $ pip install wotan\n\nwhich automatically installs `numpy`, `numba` and ``scipy`` if not present. Depending on the algorithm, additional dependencies exist:\n\n- `huber`, `ramsay`, and `hampel` depend on `statsmodels`\n- `hspline` and `gp` depend on `sklearn`\n- `pspline` depends on `pygam`\n- `supersmoother` depends on `supersmoother`\n\nTo install all additional dependencies, type ``$ pip install statsmodels sklearn supersmoother pygam``.\n\n\nOriginality\n----------------\nAs all scientific work, w\u014dtan is [*standing on the shoulders of giants*](https://en.wikiquote.org/wiki/Isaac_Newton). Particularly, many detrending methods are wrapped from existing packages. Original contributions include:\n- A time-windowed detrending master module with edge treatments and segmentation options\n- Robust location estimates using Newton-Raphson iteration to a precision threshold for Tukey's biweight, Andrew's sine wave, and the Welsch-Leclerc. This is probably a \"first\", which reduces jitter in the location estimate by ~10 ppm\n- Robustified (iterative sigma-clipping) penalized splines for automatic knot distance determination and outlier resistance\n- Robustified (iterative sigma-clipping) Gaussian processes\n- GP with a periodic kernel informed by a Lomb-Scargle periodogram pre-search\n- Bringing together many methods in one place in a common interface, with sensible defaults\n- Providing documentation, tutorials, and a [paper](https://arxiv.org/abs/1906.00966) which compares and benchmarks the methods\n\n\nAttribution\n----------------\nPlease cite [Hippke et al. (2019, AJ, 158, 143)](https://ui.adsabs.harvard.edu/abs/2019AJ....158..143H/abstract) if you find this code useful in your research. The BibTeX entry for the paper is:\n\n```\n@ARTICLE{2019AJ....158..143H,\n       author = {{Hippke}, Michael and {David}, Trevor J. and {Mulders}, Gijs D. and\n         {Heller}, Ren{\\'e}},\n        title = \"{W{\\={o}}tan: Comprehensive Time-series Detrending in Python}\",\n      journal = {\\aj},\n     keywords = {eclipses, methods: data analysis, methods: statistical, planetary systems, planets and satellites: detection, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},\n         year = \"2019\",\n        month = \"Oct\",\n       volume = {158},\n       number = {4},\n          eid = {143},\n        pages = {143},\n          doi = {10.3847/1538-3881/ab3984},\narchivePrefix = {arXiv},\n       eprint = {1906.00966},\n primaryClass = {astro-ph.EP},\n       adsurl = {https://ui.adsabs.harvard.edu/abs/2019AJ....158..143H},\n      adsnote = {Provided by the SAO/NASA Astrophysics Data System}\n}\n\n\n```\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Detrending algorithms",
    "version": "1.10",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "0f613f99f29f3999ca3970899e0b6b70",
                "sha256": "a256aafd01d0980920986e5af00a8d90c8004cba71037b63beaef925fc777d1d"
            },
            "downloads": -1,
            "filename": "wotan-1.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0f613f99f29f3999ca3970899e0b6b70",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 30311,
            "upload_time": "2021-09-24T07:12:59",
            "upload_time_iso_8601": "2021-09-24T07:12:59.215506Z",
            "url": "https://files.pythonhosted.org/packages/e6/ad/4b3c4a2d3216bc4e54422dc49fd96cfd2bcb0dc6c9ea6dc98667976ea882/wotan-1.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f20ddbf9bf2ac5ea09af168c47734ada",
                "sha256": "1c850a138d4bdeae74d677472471d3b745852616dc9032754f2d940a5f2e9723"
            },
            "downloads": -1,
            "filename": "wotan-1.10.tar.gz",
            "has_sig": false,
            "md5_digest": "f20ddbf9bf2ac5ea09af168c47734ada",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 28426,
            "upload_time": "2021-09-24T07:13:01",
            "upload_time_iso_8601": "2021-09-24T07:13:01.012399Z",
            "url": "https://files.pythonhosted.org/packages/0f/21/7fe357a0cfcebe89fd6698a6ca848be7b2ca3f21f99de96c0c85b2de6cf0/wotan-1.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-09-24 07:13:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "hippke",
    "github_project": "wotan",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "lcname": "wotan"
}
        
Elapsed time: 0.01778s