{ "info": { "author": "Michael Hippke", "author_email": "michael@hippke.org", "bugtrack_url": null, "classifiers": [], "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 Ea\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 in press)](https://arxiv.org/abs/1906.00966) if you find this code useful in your research. The BibTeX entry for the paper is:\n\n```\n@ARTICLE{2019arXiv190600966H,\n author = {{Hippke}, Michael and {David}, Trevor J. and {Mulders}, Gijs D. and\n {Heller}, Ren{\\'e}},\n title = \"{Wotan: Comprehensive time-series de-trending in Python}\",\n journal = {arXiv e-prints},\n keywords = {Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},\n year = \"2019\",\n month = \"Jun\",\n eid = {arXiv:1906.00966},\n pages = {arXiv:1906.00966},\narchivePrefix = {arXiv},\n eprint = {1906.00966},\n primaryClass = {astro-ph.EP},\n adsurl = {https://ui.adsabs.harvard.edu/abs/2019arXiv190600966H},\n adsnote = {Provided by the SAO/NASA Astrophysics Data System}\n}\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hippke/wotan", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "wotan", "package_url": "https://pypi.org/project/wotan/", "platform": "", "project_url": "https://pypi.org/project/wotan/", "project_urls": { "Homepage": "https://github.com/hippke/wotan" }, "release_url": "https://pypi.org/project/wotan/1.4/", "requires_dist": [ "numpy", "numba", "scipy" ], "requires_python": "", "summary": "Detrending algorithms", "version": "1.4" }, "last_serial": 5946084, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "4bef8b0f490b730eaabb8dbcf0e0b2a1", "sha256": "ff93c5f982ac1998a868ac1eacf1718e397eaf3f51f4d8b8212f21d30975e185" }, "downloads": -1, "filename": "wotan-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4bef8b0f490b730eaabb8dbcf0e0b2a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18550, "upload_time": "2019-04-23T19:04:44", "url": "https://files.pythonhosted.org/packages/c6/ed/2b426f0a6686a2ae7fd90fdbbcbe15f06ac74a151f9aacf2f3c1f7936278/wotan-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5191b461d886ae827fb48601c18e14c0", "sha256": "abbde74b3470480a0a7c3817187b758aeb05fcc3ce066bfc2d4007574ac8f00c" }, "downloads": -1, "filename": "wotan-1.0.tar.gz", "has_sig": false, "md5_digest": "5191b461d886ae827fb48601c18e14c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17131, "upload_time": "2019-04-23T19:04:46", "url": "https://files.pythonhosted.org/packages/4e/e9/0f7c584e5f536e1e66361a403d0255fc624bbd287f79d2fb9f73c598af53/wotan-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "812a55dd24b5401aceee4a0273dddca9", "sha256": "db5752cc67e51a5221dca1c7aec56bd30ce95fc2f65797375300cb358c3f5c93" }, "downloads": -1, "filename": "wotan-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "812a55dd24b5401aceee4a0273dddca9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21772, "upload_time": "2019-04-30T18:42:01", "url": "https://files.pythonhosted.org/packages/96/e1/09e9df3cf36eb19bf8e91d028a782d732fdce7a46e8fc53108abef48f9db/wotan-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b4ba005e10a2fb61c78c3875430be38", "sha256": "ad3e475246d24a3e1f9b847cdbf22643decd2d10b6392d1ec9fed27029ca8128" }, "downloads": -1, "filename": "wotan-1.0.1.tar.gz", "has_sig": false, "md5_digest": "1b4ba005e10a2fb61c78c3875430be38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19393, "upload_time": "2019-04-30T18:42:04", "url": "https://files.pythonhosted.org/packages/38/10/a7d6229a926e8ff500b964d53c766cbd57844e2dadb7d03ac51d5068ed7f/wotan-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "59a3413fd890afa561388dbe8dc6da4c", "sha256": "59070b18b6604175dabe58cda4e1d536bb2cb431c53bd1d29b5f5c8c010d4cb1" }, "downloads": -1, "filename": "wotan-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "59a3413fd890afa561388dbe8dc6da4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22213, "upload_time": "2019-05-05T19:52:23", "url": "https://files.pythonhosted.org/packages/04/e7/036cc2c86a75d48bd256979877ebb97bbd461f3900a754e46cafc95a8d4f/wotan-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7b668b9c27be247d8c142013ad780ef", "sha256": "ea03d3f4beffe7ef940cf9a993c1e8c80ef087c0787b95052bd8bd199c41b659" }, "downloads": -1, "filename": "wotan-1.0.2.tar.gz", "has_sig": false, "md5_digest": "f7b668b9c27be247d8c142013ad780ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19896, "upload_time": "2019-05-05T19:52:25", "url": "https://files.pythonhosted.org/packages/98/ea/71f9287524c1be2f77b4250efcf2dde91dd77f42375858adf8e4cd680ffb/wotan-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "be0dc40120726f0be743809d827e52d9", "sha256": "3d62588be2d6232ac7789a87ca1bd2e50674c06d585d12c287569baa99c17683" }, "downloads": -1, "filename": "wotan-1.0.3-py3.7.egg", "has_sig": false, "md5_digest": "be0dc40120726f0be743809d827e52d9", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 46106, "upload_time": "2019-06-09T13:34:03", "url": "https://files.pythonhosted.org/packages/f0/0e/0d0739af55b6d61defec61461f705550f4eae057f5894a0a326aad83d3b6/wotan-1.0.3-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "a8639c511821ee9d051ee0efc0478573", "sha256": "49319068a03428263283cf2367cc9b3c4f20b13eabdd85e8fc6e72f30436195b" }, "downloads": -1, "filename": "wotan-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a8639c511821ee9d051ee0efc0478573", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24878, "upload_time": "2019-05-15T20:44:40", "url": "https://files.pythonhosted.org/packages/9e/fc/de87afce1d4f00ce1a4357e98bed3bcb7305cbafa874e5ff7077e46ea9cb/wotan-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71a9f62454f9fedecd5020b2c7beb75a", "sha256": "f210fdc1e8ba3909fd81be2b05aaaf06d8cddb58b1627cb8cb1d74dc44b6de19" }, "downloads": -1, "filename": "wotan-1.0.3.tar.gz", "has_sig": false, "md5_digest": "71a9f62454f9fedecd5020b2c7beb75a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22256, "upload_time": "2019-05-15T20:44:42", "url": "https://files.pythonhosted.org/packages/7e/4f/c7717e0bf64b5f4f2f7b3012ae49d3ba2070a69610bffd4f3d9a130fbb72/wotan-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f3fb5c3f8645ab4dc1180bae7fa07e97", "sha256": "802ffd5ed62e6615e26ac02458219a3c48019c362bd1268db650531ecd3c7b4e" }, "downloads": -1, "filename": "wotan-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f3fb5c3f8645ab4dc1180bae7fa07e97", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25473, "upload_time": "2019-06-09T13:34:01", "url": "https://files.pythonhosted.org/packages/ca/f4/c96a2c97e940e7206ce7315916695fd540391fdc86b05c58587571661a8f/wotan-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f66624e40219c3d8611860d9f01e4959", "sha256": "a320ff9b958c605ec9839a9cd7badc23954f3a67eb0bc812f9a990895c0cd729" }, "downloads": -1, "filename": "wotan-1.0.4.tar.gz", "has_sig": false, "md5_digest": "f66624e40219c3d8611860d9f01e4959", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23180, "upload_time": "2019-06-09T13:34:05", "url": "https://files.pythonhosted.org/packages/86/70/e7b6b039c83bb993c53357e72e9e97d3ef66c1d8c4fb4b97ea59f94a46c7/wotan-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "3bacc02044d8c4a4170630b73865eaef", "sha256": "96ad38bfbe6fb6378649692272d96ebbf303695a77cb41275fea2b1af0f45b71" }, "downloads": -1, "filename": "wotan-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "3bacc02044d8c4a4170630b73865eaef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25482, "upload_time": "2019-06-11T18:02:18", "url": "https://files.pythonhosted.org/packages/79/ae/3b8d40908fce49a934b2a2a551ed161efc5c5ac836db1969450d6ded7913/wotan-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f33e67acbb6a26b4e404accd62e5b52b", "sha256": "6482d1669a864d76ff2b5c21ca4d05f688dc81b04e11f563a3fb644168787d42" }, "downloads": -1, "filename": "wotan-1.0.5.tar.gz", "has_sig": false, "md5_digest": "f33e67acbb6a26b4e404accd62e5b52b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23178, "upload_time": "2019-06-11T18:02:20", "url": "https://files.pythonhosted.org/packages/ce/c1/43833b370c6da7d66c79515f6dfb8321dbd6bb664570f1cdbfad1011935e/wotan-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "485e7bbcc211fb1d42f6b96d9ce99cc3", "sha256": "bb795dc6bb11078e9bcd4e377e275d9a659b8e6446db5445515b51a4bd5272a2" }, "downloads": -1, "filename": "wotan-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "485e7bbcc211fb1d42f6b96d9ce99cc3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26821, "upload_time": "2019-06-14T18:08:33", "url": "https://files.pythonhosted.org/packages/0a/94/6bcd72b00a8a4740bd83ef2ae5f31d27c12ffd9c042259d5f57a8fc69be4/wotan-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5dc064515d6f9476c7095ba5ce41a0c", "sha256": "af312a7f4ed1be5f29f7db0ee79403ea2b276768bcb83ce4660524c5730923ae" }, "downloads": -1, "filename": "wotan-1.0.6.tar.gz", "has_sig": false, "md5_digest": "b5dc064515d6f9476c7095ba5ce41a0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24347, "upload_time": "2019-06-14T18:08:35", "url": "https://files.pythonhosted.org/packages/34/97/82a99634a59242ed37206f5ed0812e9d06394d716cbe53e270331e7954bd/wotan-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "ba14c6f22003c666162a45e75685fc70", "sha256": "9ff3d00e115e4dbb6745c23b6337d7e6027cd9b030d2caa6e49c488021ef45e6" }, "downloads": -1, "filename": "wotan-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ba14c6f22003c666162a45e75685fc70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29237, "upload_time": "2019-07-14T11:48:16", "url": "https://files.pythonhosted.org/packages/72/81/f288487d8d346ee4d8c4b8cb2f039e24f5d0b1dddee8ef6b1cb8b0577247/wotan-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a70b390211b1d6abef6b6076e499b44", "sha256": "abd5ec11f8d4144a5df3bae7908f01b5f222c552307e8b773fdbc92c86bbef21" }, "downloads": -1, "filename": "wotan-1.0.7.tar.gz", "has_sig": false, "md5_digest": "6a70b390211b1d6abef6b6076e499b44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26440, "upload_time": "2019-07-14T11:48:18", "url": "https://files.pythonhosted.org/packages/aa/72/483aa8b55234e661e47af65b45523a9eb4b597aa9cf82c51fe17290c7f7d/wotan-1.0.7.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "bc69d6a6611c569723b3ca431db240e4", "sha256": "bbb8bd37eb98bead697ce85dd6a9221c56cc71653fd9df77e39235858309ca30" }, "downloads": -1, "filename": "wotan-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bc69d6a6611c569723b3ca431db240e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31116, "upload_time": "2019-07-14T19:18:40", "url": "https://files.pythonhosted.org/packages/fa/69/6548ac06bd14e34f6b1f25c957da17f110240edf48f376084766f2806fe7/wotan-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7707e54cecfb89d02f539b0d934ecf8f", "sha256": "9cd0e3ce048842f60dac5cdd6cc9eb2a8bc880e7d77262e7e17f36aa799a2964" }, "downloads": -1, "filename": "wotan-1.1.tar.gz", "has_sig": false, "md5_digest": "7707e54cecfb89d02f539b0d934ecf8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26988, "upload_time": "2019-07-14T19:18:42", "url": "https://files.pythonhosted.org/packages/ef/82/f86a1f92399670a3c8433515231810ca8108f15b14653ef016dd7813b1ca/wotan-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "82dd8211d3f423be2fecd81490ceb2ad", "sha256": "919e31027b14ce48bb39f95f44d5361ff0b7f1ae698ec768c8654802e62732bb" }, "downloads": -1, "filename": "wotan-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "82dd8211d3f423be2fecd81490ceb2ad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31446, "upload_time": "2019-07-16T18:06:58", "url": "https://files.pythonhosted.org/packages/61/72/0b43d88caeda72180097b84dd80d7d27a9d7953581834dac632cd27d51ec/wotan-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7aeff4b536f41158f17c7f2dc28c967", "sha256": "cfb5be1e1ccf5837037a47913c63115e2039033ba603290e12e2db6d8f5d7cfb" }, "downloads": -1, "filename": "wotan-1.2.tar.gz", "has_sig": false, "md5_digest": "e7aeff4b536f41158f17c7f2dc28c967", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27303, "upload_time": "2019-07-16T18:07:00", "url": "https://files.pythonhosted.org/packages/6d/2a/afb8af602b456467c2f8de0275990420d0e97f696856df8e15543dcf4750/wotan-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "29252541475a8a2d3f7e6cf02a022d19", "sha256": "f23e65de5aad39eb9ca6fe3759b6ac13bf78af0bddae5a5e8602c1c4064c86f7" }, "downloads": -1, "filename": "wotan-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "29252541475a8a2d3f7e6cf02a022d19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28804, "upload_time": "2019-09-17T19:38:01", "url": "https://files.pythonhosted.org/packages/b3/64/a45c1ac8fbaab3638fd230574d44d585619f910305aaefb8789b6107214d/wotan-1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a39a69299b21bd5d2b282b97bd0474f5", "sha256": "0eddd4777ffa868f1f2246ae8843e7086bd07902cb25f216bff765cf3e1450f5" }, "downloads": -1, "filename": "wotan-1.3.tar.gz", "has_sig": false, "md5_digest": "a39a69299b21bd5d2b282b97bd0474f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26826, "upload_time": "2019-09-17T19:38:04", "url": "https://files.pythonhosted.org/packages/75/b6/b1c54bf7141c48f2e3b41b6d312b28dcd7cf5a19c387db7fdec360f65b29/wotan-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "57beded5def222cec043b08738094f99", "sha256": "3f1bd910d0709170b10acc0d1c8c35f285ccd74a2ad2c8791ac54abb8fb7678b" }, "downloads": -1, "filename": "wotan-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "57beded5def222cec043b08738094f99", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29619, "upload_time": "2019-10-08T18:29:31", "url": "https://files.pythonhosted.org/packages/4b/c0/7d35c2941a4da983436aa84524e7be30beaed3dc4c714e0ad64eb41dea68/wotan-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8ecf62d471149d642aa44f99a61f59e", "sha256": "62f936b01f19d94741374c280fd9bad08bc4cd33d0ca55486f2b7966eb6775bc" }, "downloads": -1, "filename": "wotan-1.4.tar.gz", "has_sig": false, "md5_digest": "a8ecf62d471149d642aa44f99a61f59e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26845, "upload_time": "2019-10-08T18:29:33", "url": "https://files.pythonhosted.org/packages/db/48/4e51ad55f5af064d0ac510d3d4c4199a5c820be33a1e5f74dbb9bdb1e3b6/wotan-1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "57beded5def222cec043b08738094f99", "sha256": "3f1bd910d0709170b10acc0d1c8c35f285ccd74a2ad2c8791ac54abb8fb7678b" }, "downloads": -1, "filename": "wotan-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "57beded5def222cec043b08738094f99", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29619, "upload_time": "2019-10-08T18:29:31", "url": "https://files.pythonhosted.org/packages/4b/c0/7d35c2941a4da983436aa84524e7be30beaed3dc4c714e0ad64eb41dea68/wotan-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8ecf62d471149d642aa44f99a61f59e", "sha256": "62f936b01f19d94741374c280fd9bad08bc4cd33d0ca55486f2b7966eb6775bc" }, "downloads": -1, "filename": "wotan-1.4.tar.gz", "has_sig": false, "md5_digest": "a8ecf62d471149d642aa44f99a61f59e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26845, "upload_time": "2019-10-08T18:29:33", "url": "https://files.pythonhosted.org/packages/db/48/4e51ad55f5af064d0ac510d3d4c4199a5c820be33a1e5f74dbb9bdb1e3b6/wotan-1.4.tar.gz" } ] }