{ "info": { "author": "Mikael Mortensen", "author_email": "mikaem@math.uio.no", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Shenfun\n=======\n.. image:: https://app.codacy.com/project/badge/Grade/bd772b3ca7134651a9225d8051db8c41\n :target: https://www.codacy.com/gh/spectralDNS/shenfun/dashboard?utm_source=github.com&utm_medium=referral&utm_content=spectralDNS/shenfun&utm_campaign=Badge_Grade\n.. image:: https://dev.azure.com/spectralDNS/shenfun/_apis/build/status/spectralDNS.shenfun?branchName=master\n :target: https://dev.azure.com/spectralDNS/shenfun\n.. image:: https://github.com/spectralDNS/shenfun/workflows/github-CI/badge.svg?branch=master\n :target: https://github.com/spectralDNS/shenfun\n.. image:: https://codecov.io/gh/spectralDNS/shenfun/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/spectralDNS/shenfun\n.. image:: https://anaconda.org/conda-forge/shenfun/badges/platforms.svg\n :target: https://anaconda.org/conda-forge/shenfun\n.. |binder| image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/spectralDNS/shenfun/master?filepath=binder\n\n\nTry it in a jupyter hub using Binder\n\n|binder|\n\nDescription\n-----------\nShenfun is a high performance computing platform for solving partial differential equations (PDEs) by the spectral Galerkin method. The user interface to shenfun is very similar to `FEniCS `_, but applications are limited to multidimensional tensor product grids, using either Cartesian or curvilinear grids (e.g., but not limited to, polar, cylindrical, spherical or parabolic). The code is parallelized with MPI through the `mpi4py-fft `_ package.\n\nShenfun enables fast development of efficient and accurate PDE solvers (spectral order and accuracy), in the comfortable high-level Python language. The spectral accuracy is ensured by using high-order *global* orthogonal basis functions (Fourier, Legendre, Chebyshev first and second kind, Ultraspherical, Jacobi, Laguerre and Hermite), as opposed to finite element codes that are using low-order *local* basis functions. Efficiency is ensured through vectorization (`Numpy `_), parallelization (`mpi4py `_) and by moving critical routines to `Cython `_ or `Numba `_. Shenfun has been used to run turbulence simulations (Direct Numerical Simulations) on thousands of processors on high-performance supercomputers, see the `spectralDNS `_ repository.\n\nThe demo folder contains several examples for the Poisson, Helmholtz and Biharmonic equations. For extended documentation and installation instructions see `ReadTheDocs `_. For interactive demos, see the `jupyter book `_. Note that shenfun currently comes with the possibility to use two non-periodic directions (see `biharmonic demo `_), and equations may be solved coupled and implicit (see `MixedPoisson.py `_).\n\nNote that shenfun works with curvilinear coordinates. For example, it is possible to solve equations on a `sphere `_ (using spherical coordinates), on the surface of a `torus `_, on a `M\u00f6bius strip `_ or along any `curved line in 2D/3D `_. Actually, any new coordinates may be defined by the user as long as the coordinates lead to separable systems of equations. After defining new coordinates, operators like div, grad and curl work automatically with the new curvilinear coordinates. See also `this notebook on the sphere `_ or an illustration of the `vector Laplacian `_.\n\n.. image:: https://cdn.jsdelivr.net/gh/spectralDNS/spectralutilities@master/figures/moebius8_trans.png\n :target: https://mikaem.github.io/shenfun-demos/content/moebius.html\n :alt: The eigenvector of the 8'th smallest eigvalue on a M\u00f6bius strip\n.. image:: https://cdn.jsdelivr.net/gh/spectralDNS/spectralutilities@master/figures/smallcoil2.png\n :alt: Solution of Poisson's equation on a Coil\n.. image:: https://cdn.jsdelivr.net/gh/spectralDNS/spectralutilities@master/figures/spherewhite4.png\n :target: https://mikaem.github.io/shenfun-demos/content/sphericalhelmholtz.html\n :alt: Solution of Poisson's equation on a spherical shell\n.. image:: https://cdn.jsdelivr.net/gh/spectralDNS/spectralutilities@master/figures/torus2.png\n :target: https://github.com/spectralDNS/shenfun/blob/master/binder/Torus.ipynb\n :alt: Solution of Poisson's equation on the surface of a torus\n\n\nFor a more psychedelic experience, have a look at the `simulation `_ of the Ginzburg-Landau equation on the sphere (click for Youtube-video):\n\n.. image:: https://cdn.jsdelivr.net/gh/spectralDNS/spectralutilities@master/figures/GLimage.png\n :target: https://youtu.be/odsIoHVcqek\n :alt: Ginzburg-Landau spherical coordinates\n\nShenfun can also be used to approximate analytical functions with global spectral basis `functions `_, and to integrate over highly complex domains, like the seashell below, see `this demo `_.\n\n.. image:: https://cdn.jsdelivr.net/gh/spectralDNS/spectralutilities@master/figures/seashell3.png\n :alt: The surface of a seashell\n\nInstallation\n------------\n\nShenfun can be installed using either `pip `_ or `conda `_, see `installation chapter on readthedocs `_.\n\nDependencies\n------------\n\n * `Python `_ 3.3 or above. Test suits are run with Python 3.6, 3.7 and 3.8.\n * A functional MPI 2.x/3.x implementation like `MPICH `_ or `Open MPI `_ built with shared/dynamic libraries.\n * `FFTW `_ version 3, also built with shared/dynamic libraries.\n * Python modules:\n * `Numpy `_\n * `Scipy `_\n * `Sympy `_\n * `Cython `_\n * `mpi4py `_\n * `mpi4py-fft `_\n\nContact\n-------\nFor comments, issues, bug-reports and requests, please use the issue tracker of the current repository, or see `How to contribute? `_ at readthedocs. Otherwise the principal author can be reached at::\n\n Mikael Mortensen\n mikaem at math.uio.no\n https://mikaem.github.io/\n Department of Mathematics\n University of Oslo\n Norway\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spectralDNS/shenfun", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "shenfun", "package_url": "https://pypi.org/project/shenfun/", "platform": null, "project_url": "https://pypi.org/project/shenfun/", "project_urls": { "Homepage": "https://github.com/spectralDNS/shenfun" }, "release_url": "https://pypi.org/project/shenfun/4.0.1/", "requires_dist": null, "requires_python": "", "summary": "Shenfun -- Automated Spectral-Galerkin framework", "version": "4.0.1", "yanked": false, "yanked_reason": null }, "last_serial": 13578923, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "779f5c9e09285a3dba364296b6ff9e2a", "sha256": "a7cb126fa9ffec70eff948251545a5ecf6bc524aca5ac27f3023bc6b65bcb8c0" }, "downloads": -1, "filename": "shenfun-1.1.tar.gz", "has_sig": false, "md5_digest": "779f5c9e09285a3dba364296b6ff9e2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69346, "upload_time": "2018-10-26T21:17:58", "upload_time_iso_8601": "2018-10-26T21:17:58.403734Z", "url": "https://files.pythonhosted.org/packages/4e/a8/29c194b55d9ba59ae5edf6100d0aed92d4c22e8c3d839d959f5c5b7b9a0a/shenfun-1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1d89667f065bf99acd5e0fd042497f10", "sha256": "54ece01fd3eb8418a820f59c3b172b8bcbc309107c3d437c9172d489a291d48c" }, "downloads": -1, "filename": "shenfun-1.1.1.tar.gz", "has_sig": false, "md5_digest": "1d89667f065bf99acd5e0fd042497f10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92971, "upload_time": "2018-11-05T10:28:33", "upload_time_iso_8601": "2018-11-05T10:28:33.934883Z", "url": "https://files.pythonhosted.org/packages/6c/53/dbaf072c1afe7b8d3e7e334a029342ce596ded2cd4fe2ad4c238b958157c/shenfun-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "ba4e11986faf6b28daa138e7a0e78056", "sha256": "a0cd7b5c675879f4f46704d2136a56ea7dabe7bc9edd4ff8f36948bc4c314378" }, "downloads": -1, "filename": "shenfun-1.2.0.tar.gz", "has_sig": false, "md5_digest": "ba4e11986faf6b28daa138e7a0e78056", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92840, "upload_time": "2018-11-07T12:53:19", "upload_time_iso_8601": "2018-11-07T12:53:19.133170Z", "url": "https://files.pythonhosted.org/packages/85/b2/852c7add38e6bcfd2ea4379888731fe58a2280ffc176277006db1f340995/shenfun-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "2412df9144ca9e903f6420e99b67ebc4", "sha256": "3daf013a93a4d8e76fcf50ff2be2b1b967bc1d219a554babbd750253997329f5" }, "downloads": -1, "filename": "shenfun-1.2.2.tar.gz", "has_sig": false, "md5_digest": "2412df9144ca9e903f6420e99b67ebc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 101130, "upload_time": "2018-12-12T09:10:20", "upload_time_iso_8601": "2018-12-12T09:10:20.622739Z", "url": "https://files.pythonhosted.org/packages/8f/34/fdbe2bb8ce7ebfd1e9a3a685edcaffa2e17a568601e82d0ac52ea1d69636/shenfun-1.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "eae9361c92a57a4f271c1623b33a3b5a", "sha256": "f52aab105372ebdb57fdea50955ad6bf6308e363bdf44fe8f8e4d408bd075ce5" }, "downloads": -1, "filename": "shenfun-1.2.3.tar.gz", "has_sig": false, "md5_digest": "eae9361c92a57a4f271c1623b33a3b5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103375, "upload_time": "2019-01-25T07:51:38", "upload_time_iso_8601": "2019-01-25T07:51:38.339257Z", "url": "https://files.pythonhosted.org/packages/60/ea/b3552ef60967bb8eded6c8b37e895d814d1bcba69a39246b259792d04099/shenfun-1.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "2441a3aeeb307d1a33820a1a5ce36574", "sha256": "2479729151c3e2a3d0a6fbe6e51178d700733049d4a290ccae249e42488434bb" }, "downloads": -1, "filename": "shenfun-1.3.0.tar.gz", "has_sig": false, "md5_digest": "2441a3aeeb307d1a33820a1a5ce36574", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104507, "upload_time": "2019-01-30T15:00:40", "upload_time_iso_8601": "2019-01-30T15:00:40.583877Z", "url": "https://files.pythonhosted.org/packages/0e/63/1e1fe5d091a11b05631becb282132748c550e032e8449732e15fb6c12068/shenfun-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "743144a3eccd4163a8ae4d85e1043fbf", "sha256": "61a1df21d77840ebaa55b96f1e37ddcbd36d94bf89ac6c7851f731f39a152187" }, "downloads": -1, "filename": "shenfun-1.3.1.tar.gz", "has_sig": false, "md5_digest": "743144a3eccd4163a8ae4d85e1043fbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 105255, "upload_time": "2019-01-31T20:31:08", "upload_time_iso_8601": "2019-01-31T20:31:08.177672Z", "url": "https://files.pythonhosted.org/packages/e6/cb/8884d424801c209c45cb93fd7888c32b0a322549480bcacd4bb69442e427/shenfun-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "83b2f0de78e088edfd74ec31fde25382", "sha256": "18b8d79686efbec6b69872f8305c00e5fdefc2a98142c8061c78e62375a49a61" }, "downloads": -1, "filename": "shenfun-1.4.0.tar.gz", "has_sig": false, "md5_digest": "83b2f0de78e088edfd74ec31fde25382", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109974, "upload_time": "2019-02-08T15:44:46", "upload_time_iso_8601": "2019-02-08T15:44:46.598739Z", "url": "https://files.pythonhosted.org/packages/af/a9/38c5a4b79ad6ed804bb6471a777840889111f05923a25786cfccd74cf7ac/shenfun-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "09ca6db477179b46293d9e1c33e833ad", "sha256": "4e18c5d588fe46612086233edce79a46ea511c2b0669e2d51f1a79948d691d30" }, "downloads": -1, "filename": "shenfun-1.4.1.tar.gz", "has_sig": false, "md5_digest": "09ca6db477179b46293d9e1c33e833ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109982, "upload_time": "2019-02-08T16:10:13", "upload_time_iso_8601": "2019-02-08T16:10:13.311693Z", "url": "https://files.pythonhosted.org/packages/73/59/50f31853798d9179040fec393b6b455fdcf83ba2919b9769912f195fa67b/shenfun-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "1df4af5f0721fe173e3b63873ab57473", "sha256": "a989ca799848ece5b321b58a615562f95cb1a8163e037d4413de31d3a3351f3a" }, "downloads": -1, "filename": "shenfun-2.0.0.tar.gz", "has_sig": false, "md5_digest": "1df4af5f0721fe173e3b63873ab57473", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110735, "upload_time": "2019-03-06T17:01:00", "upload_time_iso_8601": "2019-03-06T17:01:00.882589Z", "url": "https://files.pythonhosted.org/packages/c0/7e/703450dd9bad3adebd9d2ec739d769e1b198473e144ee99dfa6b1987a116/shenfun-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "5c45b52b5eb1a90433d47d78561c18d4", "sha256": "dffbf541693ca338bd6bba033efd8e09a7b4ec6c1be60791b831b6cf2152dd26" }, "downloads": -1, "filename": "shenfun-2.0.1.tar.gz", "has_sig": false, "md5_digest": "5c45b52b5eb1a90433d47d78561c18d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107136, "upload_time": "2019-03-18T13:34:45", "upload_time_iso_8601": "2019-03-18T13:34:45.047816Z", "url": "https://files.pythonhosted.org/packages/ae/cf/43d5154a65b4c7bb17980219b750bfc161fe2d3ddf7c017c57c17733287b/shenfun-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "75a6710739d78ab6a3543e87624454c1", "sha256": "ba41fdfebd1bd54a9c34ec0b378fb7c8e87b6ea625d747f99a5ba7327f7f01d1" }, "downloads": -1, "filename": "shenfun-2.0.2.tar.gz", "has_sig": false, "md5_digest": "75a6710739d78ab6a3543e87624454c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107173, "upload_time": "2019-04-03T11:07:44", "upload_time_iso_8601": "2019-04-03T11:07:44.714046Z", "url": "https://files.pythonhosted.org/packages/fe/ca/0219577debf9b0a0906ed338d01ff943f215392925f23d7c3cefdc0f42f1/shenfun-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "b70f2802980d8ad868429bd5a7c41fa8", "sha256": "6882234226ed62f5c6192ed96e21c25430dd0946e7e3ab7238278928e8095f8a" }, "downloads": -1, "filename": "shenfun-2.0.3.tar.gz", "has_sig": false, "md5_digest": "b70f2802980d8ad868429bd5a7c41fa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110349, "upload_time": "2019-05-08T12:45:22", "upload_time_iso_8601": "2019-05-08T12:45:22.852492Z", "url": "https://files.pythonhosted.org/packages/1f/1d/4a8852485e2eb79c62684f6ccd1af0ba49ce702b6e8750324e000e4e9db9/shenfun-2.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "6bf4ab7f3db4abbb545a66664142cd97", "sha256": "0b9bd642e9d632b9c7e5c01f8ac6efcc0d35951a9906d1ccaecd6e13ad45b2f3" }, "downloads": -1, "filename": "shenfun-2.0.4.tar.gz", "has_sig": false, "md5_digest": "6bf4ab7f3db4abbb545a66664142cd97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110817, "upload_time": "2019-05-21T09:07:42", "upload_time_iso_8601": "2019-05-21T09:07:42.967225Z", "url": "https://files.pythonhosted.org/packages/1b/bc/c1360edde9c6f4b3adb903966526a1e739710eac5dda64f8c41fb5ad51ab/shenfun-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "62cd4efe3f908f21543a1db735bb105b", "sha256": "3110fb7444597d8651353d99a8618eaffc90341c337789014cde9f47e39d30ea" }, "downloads": -1, "filename": "shenfun-2.0.5.tar.gz", "has_sig": false, "md5_digest": "62cd4efe3f908f21543a1db735bb105b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111380, "upload_time": "2019-05-26T07:16:04", "upload_time_iso_8601": "2019-05-26T07:16:04.172625Z", "url": "https://files.pythonhosted.org/packages/35/c3/f79e9aeb7ce19c5f27e61952fa963ba5774a73cb167beca884483da14873/shenfun-2.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "e49ba6301da2ffdebd476e9e2df85ac2", "sha256": "482310bb80409de0393c77a1e525cdfdf31ed21eb36cdb5bf850a854f8755d85" }, "downloads": -1, "filename": "shenfun-2.0.6.tar.gz", "has_sig": false, "md5_digest": "e49ba6301da2ffdebd476e9e2df85ac2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111462, "upload_time": "2019-05-27T13:54:41", "upload_time_iso_8601": "2019-05-27T13:54:41.334494Z", "url": "https://files.pythonhosted.org/packages/8e/9d/fc07a4fc34001355705266a056491bfe7d799492511535c4867a5d730fe3/shenfun-2.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "a96ce2aaf7da4e43a7ac826f9fdfcb46", "sha256": "4f336903cf437be2d5eab098e9556963dcc55cbf0dde092a15853e8de493a806" }, "downloads": -1, "filename": "shenfun-2.0.7.tar.gz", "has_sig": false, "md5_digest": "a96ce2aaf7da4e43a7ac826f9fdfcb46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 117631, "upload_time": "2019-07-05T18:03:23", "upload_time_iso_8601": "2019-07-05T18:03:23.192515Z", "url": "https://files.pythonhosted.org/packages/62/bf/0903c2b42ea5487b761b44bf468e0d7f9c8d1a568fc0356371c1e5ac50d7/shenfun-2.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "9c9c5fc87e23e395682084a522917603", "sha256": "78f4ad218dca3975819f4c82edea4cd81f975e91049e47c6e156036cf1c7d7a8" }, "downloads": -1, "filename": "shenfun-2.0.8.tar.gz", "has_sig": false, "md5_digest": "9c9c5fc87e23e395682084a522917603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 118522, "upload_time": "2019-08-13T16:29:00", "upload_time_iso_8601": "2019-08-13T16:29:00.948140Z", "url": "https://files.pythonhosted.org/packages/b9/a3/caabccff5e2c31dd279606ce8e7630517ac0e12336fa92f8b1be889ed26e/shenfun-2.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "a7ddb3167869c63b16892765e54f7646", "sha256": "8fb0deb4475055991b11b664d23af5f4616bf884ebee073d8bed46e89d2674a0" }, "downloads": -1, "filename": "shenfun-2.0.9.tar.gz", "has_sig": false, "md5_digest": "a7ddb3167869c63b16892765e54f7646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122619, "upload_time": "2019-10-24T08:49:12", "upload_time_iso_8601": "2019-10-24T08:49:12.877547Z", "url": "https://files.pythonhosted.org/packages/ba/46/616c872adba41d92bca93efaae2f1576733500a93a767af38fa8b4f1ab5f/shenfun-2.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "e6ff514af38099f68f0963a6efe82905", "sha256": "6a36da73d6ad21cdc17ce34275c96a22f460e9221dd99a77bdfabd2d5f18da90" }, "downloads": -1, "filename": "shenfun-2.1.0.tar.gz", "has_sig": false, "md5_digest": "e6ff514af38099f68f0963a6efe82905", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128172, "upload_time": "2019-11-13T12:19:22", "upload_time_iso_8601": "2019-11-13T12:19:22.146783Z", "url": "https://files.pythonhosted.org/packages/e7/f1/e01fdd999e883c56449a3e5f25d120370f56aeb880229885acb38030109c/shenfun-2.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "3e672b46bfa5ee40b1e883bf2fe6ccbf", "sha256": "09c133fa5daef4e01554ed659ab5c048cbb3c357b9fb8b35e8bc7af7630b1f51" }, "downloads": -1, "filename": "shenfun-2.1.1.tar.gz", "has_sig": false, "md5_digest": "3e672b46bfa5ee40b1e883bf2fe6ccbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132482, "upload_time": "2020-02-26T09:51:13", "upload_time_iso_8601": "2020-02-26T09:51:13.723550Z", "url": "https://files.pythonhosted.org/packages/d3/17/7853f3e3f17a337f4aa2d77c889da910ca59a224bafab77defb51fa72807/shenfun-2.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "28dbad8e20e04c58b35800e534df8820", "sha256": "fdefcad37c6e48443b0e7e6496fb6321806791e36abb576bc1646eac6c123313" }, "downloads": -1, "filename": "shenfun-2.2.0.tar.gz", "has_sig": false, "md5_digest": "28dbad8e20e04c58b35800e534df8820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138956, "upload_time": "2020-04-08T17:30:25", "upload_time_iso_8601": "2020-04-08T17:30:25.822436Z", "url": "https://files.pythonhosted.org/packages/6c/97/b8ee6067ca135aae5e3ce4ad2860255fdb076e7c314e2a38753a362028e9/shenfun-2.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "db223c9c74db3defc96813f46bab5eaa", "sha256": "7c9d584cd4aa2088d60edf3d53529d5b6cc68871c2ca595650e4b6963335499e" }, "downloads": -1, "filename": "shenfun-2.2.1.tar.gz", "has_sig": false, "md5_digest": "db223c9c74db3defc96813f46bab5eaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 141459, "upload_time": "2020-05-04T15:24:27", "upload_time_iso_8601": "2020-05-04T15:24:27.908801Z", "url": "https://files.pythonhosted.org/packages/9d/a4/d048648af36c6dd8c3ba35afe64e9df187dfd020ff90b9628329edee6e45/shenfun-2.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "beba28d9427ffc644592165f717dc203", "sha256": "17fe02f58f87eb43efcd6db023bb7e0091e261c97f728dfb528f2fdcfa29ca8c" }, "downloads": -1, "filename": "shenfun-2.2.2.tar.gz", "has_sig": false, "md5_digest": "beba28d9427ffc644592165f717dc203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145186, "upload_time": "2020-05-22T09:58:02", "upload_time_iso_8601": "2020-05-22T09:58:02.792131Z", "url": "https://files.pythonhosted.org/packages/37/1c/cbab1e8f211301dc2af9e861be2684880fd5a6709abbaf608f922e860bf7/shenfun-2.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "ffab48167fbcc3bc4c86e097a97b925e", "sha256": "adbc689d5cd8e9cbe4b3c3daa87efd9ed1a61498c069c5297c6f3ce04edccb83" }, "downloads": -1, "filename": "shenfun-3.0.1.tar.gz", "has_sig": false, "md5_digest": "ffab48167fbcc3bc4c86e097a97b925e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146320, "upload_time": "2020-06-23T14:44:01", "upload_time_iso_8601": "2020-06-23T14:44:01.712652Z", "url": "https://files.pythonhosted.org/packages/fa/bb/5fb28b95d645e784d25732d07fed3854d423299722734f64adc088055e63/shenfun-3.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "9d23da1f2c1599331616bac2c61d0605", "sha256": "7ee87d4a9c31895db18892cd14fa7aee3eeccefd074f7c339718605a09ecd991" }, "downloads": -1, "filename": "shenfun-3.0.3.tar.gz", "has_sig": false, "md5_digest": "9d23da1f2c1599331616bac2c61d0605", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 150028, "upload_time": "2020-08-21T16:31:28", "upload_time_iso_8601": "2020-08-21T16:31:28.317231Z", "url": "https://files.pythonhosted.org/packages/0c/66/55022d5ae8aad11fd821e49402ebb90fc63627b906cc725df5b8079969bd/shenfun-3.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.4": [ { "comment_text": "", "digests": { "md5": "ac6bb7de86ce077fcc15350ea7fc7994", "sha256": "a22fe88d8b1ace2e41057fdef865e40bfce522692f614c1aaab5fd86ee7da9be" }, "downloads": -1, "filename": "shenfun-3.0.4.tar.gz", "has_sig": false, "md5_digest": "ac6bb7de86ce077fcc15350ea7fc7994", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147871, "upload_time": "2020-09-06T12:06:01", "upload_time_iso_8601": "2020-09-06T12:06:01.106794Z", "url": "https://files.pythonhosted.org/packages/c8/1c/4e2f46d4ea26c4d8b6fed5512e07e10c134e09024e752c8b440e64cc6fc8/shenfun-3.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.5": [ { "comment_text": "", "digests": { "md5": "f428add726b64e43100d8ca996168684", "sha256": "bb9d7f5409bed5164864edf409117a82db4f6e078142ff9c7da03d9eb6255a6f" }, "downloads": -1, "filename": "shenfun-3.0.5.tar.gz", "has_sig": false, "md5_digest": "f428add726b64e43100d8ca996168684", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147880, "upload_time": "2020-09-09T12:03:55", "upload_time_iso_8601": "2020-09-09T12:03:55.540914Z", "url": "https://files.pythonhosted.org/packages/b5/1d/4b4feeb602ba0550674204493a137a578fba003cc14c401915cf118bab8c/shenfun-3.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.6": [ { "comment_text": "", "digests": { "md5": "c49c13632049b30705e0d85bcbc8d93f", "sha256": "f2a4690d956d596628bd0c2588e3a3b4ac1cfed66bcb7ed3294d175759e7d4de" }, "downloads": -1, "filename": "shenfun-3.0.6.tar.gz", "has_sig": false, "md5_digest": "c49c13632049b30705e0d85bcbc8d93f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 148540, "upload_time": "2020-09-16T13:42:12", "upload_time_iso_8601": "2020-09-16T13:42:12.358994Z", "url": "https://files.pythonhosted.org/packages/fa/fc/02f9f7852f42f344863b0439ceb357eb3cca9d4c916a6972313cc0ab7a50/shenfun-3.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.7": [ { "comment_text": "", "digests": { "md5": "614b6ade7cbe97ff8fa8854ce2f18be9", "sha256": "d5785ed04798ec2f1bb47d6e79227fff04fbeeac80dd3fa8e6a167d174850170" }, "downloads": -1, "filename": "shenfun-3.0.7.tar.gz", "has_sig": false, "md5_digest": "614b6ade7cbe97ff8fa8854ce2f18be9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 153901, "upload_time": "2020-10-15T10:48:54", "upload_time_iso_8601": "2020-10-15T10:48:54.424282Z", "url": "https://files.pythonhosted.org/packages/c6/85/36e691f6d6011315fc6437d3862b8ad8068705c0269f0a527f49d8c5ce30/shenfun-3.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "d322a95a37e1428d9115d5928893e55f", "sha256": "63a70934924271c7c0a20a24eb6f359c722bd44ecee55cf0214b9865160b9ca5" }, "downloads": -1, "filename": "shenfun-3.1.0.tar.gz", "has_sig": false, "md5_digest": "d322a95a37e1428d9115d5928893e55f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174778, "upload_time": "2021-03-12T16:05:54", "upload_time_iso_8601": "2021-03-12T16:05:54.513917Z", "url": "https://files.pythonhosted.org/packages/e9/cf/18148a3a24118e631b6819702918da9a52148e1e7fa2010a169e63dd0e7f/shenfun-3.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "55d9a50e00f5fcfc793fe3fdfbe4c340", "sha256": "02bd63b8095653592cd17cb2b72092bb872def3fbfe42600d27a1c6216256508" }, "downloads": -1, "filename": "shenfun-3.1.1.tar.gz", "has_sig": false, "md5_digest": "55d9a50e00f5fcfc793fe3fdfbe4c340", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174795, "upload_time": "2021-03-14T15:36:53", "upload_time_iso_8601": "2021-03-14T15:36:53.506584Z", "url": "https://files.pythonhosted.org/packages/ee/6f/22203a7bf0e6ad938ff9f6bdc7b246e454b759373a1a5e5a1a83af833f00/shenfun-3.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.2": [ { "comment_text": "", "digests": { "md5": "63d06372d6ff184235bfab366ee5d663", "sha256": "47ffeff56a00958f0340015e46015976681dd1024f0489dd4865934e379d1b1f" }, "downloads": -1, "filename": "shenfun-3.1.2.tar.gz", "has_sig": false, "md5_digest": "63d06372d6ff184235bfab366ee5d663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174846, "upload_time": "2021-03-31T12:18:28", "upload_time_iso_8601": "2021-03-31T12:18:28.488463Z", "url": "https://files.pythonhosted.org/packages/3d/58/eb094fcabb89ab18a58f56c6001309cc0a317a9c88f8b28adaa7c7f1ef53/shenfun-3.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.3": [ { "comment_text": "", "digests": { "md5": "11f31e285b7b3c79e12f930887f933a9", "sha256": "05145cd156b5a1cb9c82596c72f8cffa5c2930473befba9327fd25e28b1ad43f" }, "downloads": -1, "filename": "shenfun-3.1.3.tar.gz", "has_sig": false, "md5_digest": "11f31e285b7b3c79e12f930887f933a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178178, "upload_time": "2021-05-28T15:40:08", "upload_time_iso_8601": "2021-05-28T15:40:08.094517Z", "url": "https://files.pythonhosted.org/packages/21/8e/b72967034b103e40b6127bfde17c85d5e480464269ecf9daecbef46ec643/shenfun-3.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "a830d697db90680054ed3d2630c8645e", "sha256": "4e077dd7f5ba627f031ea86acf0f962ba2fc6c0f820cc9c3bdbac90e0898b944" }, "downloads": -1, "filename": "shenfun-3.2.0.tar.gz", "has_sig": false, "md5_digest": "a830d697db90680054ed3d2630c8645e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 173541, "upload_time": "2021-08-05T18:29:01", "upload_time_iso_8601": "2021-08-05T18:29:01.485296Z", "url": "https://files.pythonhosted.org/packages/aa/cc/1f929dd6f1ff01b9aa79333021e13428db74763e9ad751c3c8697a2380f3/shenfun-3.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.1": [ { "comment_text": "", "digests": { "md5": "b98e18ba1fbbe52165ac1d59c908a782", "sha256": "c4e7d7962a1504b12167b1c5852c3132a030c1e8e3708de331572f31629f3019" }, "downloads": -1, "filename": "shenfun-3.2.1.tar.gz", "has_sig": false, "md5_digest": "b98e18ba1fbbe52165ac1d59c908a782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 169611, "upload_time": "2021-09-16T08:57:47", "upload_time_iso_8601": "2021-09-16T08:57:47.783353Z", "url": "https://files.pythonhosted.org/packages/2e/46/db8aa342702dff26df88f683bc457a4c4d3e3614a6e35104357b8cf81fa7/shenfun-3.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.2": [ { "comment_text": "", "digests": { "md5": "f453da142b6839eef1b0b7ac6d91b7bc", "sha256": "b8bde66fb3d46675f7b359dbe41013b8967c63861d86cd7996dfbc1dadbb9162" }, "downloads": -1, "filename": "shenfun-3.2.2.tar.gz", "has_sig": false, "md5_digest": "f453da142b6839eef1b0b7ac6d91b7bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172082, "upload_time": "2021-10-14T09:52:42", "upload_time_iso_8601": "2021-10-14T09:52:42.772912Z", "url": "https://files.pythonhosted.org/packages/11/5f/c02c93b27d4fac8e2fa027d32c5c07b02e11f875d1eb48d1fe158954bd2d/shenfun-3.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "56275a0cf3ebd6d603be4e12c2f6f924", "sha256": "66ec9ee9489cedf3a9bda03fbbcf013b2069f2588d291edc96131bd3550344f8" }, "downloads": -1, "filename": "shenfun-3.3.0.tar.gz", "has_sig": false, "md5_digest": "56275a0cf3ebd6d603be4e12c2f6f924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186676, "upload_time": "2022-03-03T10:56:41", "upload_time_iso_8601": "2022-03-03T10:56:41.871443Z", "url": "https://files.pythonhosted.org/packages/20/8d/b4af45f4e2dd35cef93d64fa2ff3257435129613ae7ef43842a554dc425d/shenfun-3.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "2daa4a4f2ec017df170c3ffe82fbba0c", "sha256": "b7aa22dbee1bc34ea72205685d0731db953caa0c6aa8c35fa00122b4426fca73" }, "downloads": -1, "filename": "shenfun-4.0.0.tar.gz", "has_sig": false, "md5_digest": "2daa4a4f2ec017df170c3ffe82fbba0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197767, "upload_time": "2022-03-23T16:32:21", "upload_time_iso_8601": "2022-03-23T16:32:21.479611Z", "url": "https://files.pythonhosted.org/packages/3b/f1/756948ec89cf69eaf81cf5cdbf6f5e1f522ad20396dc5dfaf12ef7245ed7/shenfun-4.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "bff3f286cf964053a1f40946ad6c4f9a", "sha256": "1ce8f2d9fb9b04b38c6919a9fa4df01d1897896c0fc949c084fc299ebb45a730" }, "downloads": -1, "filename": "shenfun-4.0.1.tar.gz", "has_sig": false, "md5_digest": "bff3f286cf964053a1f40946ad6c4f9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198386, "upload_time": "2022-04-21T13:06:04", "upload_time_iso_8601": "2022-04-21T13:06:04.079001Z", "url": "https://files.pythonhosted.org/packages/51/b3/eb1fab7f2ac7130d85fe4384e217b22c5397dcc7b4bc9b93bfe18b34abed/shenfun-4.0.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bff3f286cf964053a1f40946ad6c4f9a", "sha256": "1ce8f2d9fb9b04b38c6919a9fa4df01d1897896c0fc949c084fc299ebb45a730" }, "downloads": -1, "filename": "shenfun-4.0.1.tar.gz", "has_sig": false, "md5_digest": "bff3f286cf964053a1f40946ad6c4f9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198386, "upload_time": "2022-04-21T13:06:04", "upload_time_iso_8601": "2022-04-21T13:06:04.079001Z", "url": "https://files.pythonhosted.org/packages/51/b3/eb1fab7f2ac7130d85fe4384e217b22c5397dcc7b4bc9b93bfe18b34abed/shenfun-4.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }