{ "info": { "author": "Juan Luis Cano", "author_email": "hello@juanlu.space", "bugtrack_url": null, "classifiers": [], "description": ".. pycephes\n\npycephes\n========\n\n:Name: pycephes\n:Website: https://github.com/poliastro/pycephes\n:Author: Juan Luis Cano Rodr\u00edguez \n:Version: 0.1.0\n\n.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n :target: https://github.com/poliastro/pycephes/raw/master/COPYING\n\n.. |mailing| image:: https://img.shields.io/badge/mailing%20list-groups.io-8cbcd1.svg?style=flat-square\n :target: https://groups.io/g/poliastro-dev\n\n|license| |mailing|\n\npycephes is a thin Python wrapper for the `CEPHES mathematical library`_\nfrom Netlib, written using `CFFI`_ and easy to use with `numba`_.\nIt is released under the MIT license, hence allowing commercial use.\n\n.. _`CEPHES mathematical library`: http://www.netlib.org/cephes/\n.. _`CFFI`: http://cffi.readthedocs.org/\n.. _`numba`: http://numba.pydata.org/\n\nAt present it only interfaces a single hypergeometric function, but\nis provided here both as a proof of concept of the power of\nCFFI + numba and as a support for `poliastro`_, a Python library\nfor interplanetary Astrodynamics. It is therefore a work in progress,\nand all contributions are welcome (see `Contributing`_).\n\n.. _`poliastro`: https://github.com/poliastro/poliastro\n\nPerformance\n-----------\n\nThe motivation for creating this project is mainly achieving a good\nperformance. Time benchmarks are included in the ``tests/`` directory\nwhich can be run using `pytest-benchmark`_.\n\n.. _`pytest-benchmark`: https://github.com/ionelmc/pytest-benchmark\n\nPreliminary studies suggest that pycephes can be nearly **5 times faster**\non average than the equivalent SciPy function.\n\n.. image:: benchmark.png\n :alt: Time benchmarks\n :align: center\n\nRequirements\n============\n\npycephes requires the following Python packages:\n\n* NumPy, for basic array handling\n* CFFI, for interfacing with C code\n* numba, to make it compatible with upstream jitted functions\n\nIn addition, the CEPHES mathematical library must be present on the system.\n\nInstallation\n============\n\nThe easiest and fastest way to get the package up and running is to\ninstall pycephes using `conda `_. This also installs\nthe CEPHES package as a dependency::\n\n $ conda install pycephes --channel poliastro\n\nIt can be installed from PyPI too, provided that the CEPHES library\nis present on the system::\n\n $ pip install pycephes\n\nYou can also `download pycephes source from GitHub`_ and type::\n\n $ pip install .\n\nDevelopment installations are supported as well::\n\n $ pip install -e .\n\n.. _`install poliastro from PyPI`: https://pypi.python.org/pypi/pycephes/\n.. _`download pycephes source from GitHub`: http://github.com/poliastro/pycephes\n\n.. warning::\n\n It is recommended that you **never ever use sudo** with distutils, pip,\n setuptools and friends in Linux because you might seriously break your\n system [1_][2_][3_][4_]. Options are `virtualenvs`_\n or `local installations`_.\n\n.. _1: https://wiki.python.org/moin/CheeseShopTutorial#Python.27s_distutils\n.. _2: http://stackoverflow.com/questions/4314376/how-can-i-install-a-python-egg-file/4314446#comment4690673_4314446\n.. _3: http://workaround.org/easy-install-debian\n.. _4: http://matplotlib.1069221.n5.nabble.com/Why-is-pip-not-mentioned-in-the-Installation-Documentation-tp39779p39812.html\n\n.. _`virtualenvs`: http://pypi.python.org/pypi/virtualenv\n.. _`local installations`: http://stackoverflow.com/a/4325047/554319\n\nContributing\n============\n\nOne obvious area of improvement for the library consists in adding more\nfunctions. Some other ideas:\n\n* Create some script to generate the function headers so they don't have\n to be added manually.\n* Use the ``@generated_jit`` feature `introduced in numba 0.24`_ to\n automatically trigger the appropriate function depending on the dimension\n of the inputs, \u00e0 la Julia.\n\n.. _`introduced in numba 0.24`: http://numba.pydata.org/numba-doc/0.24.0/release-notes.html#version-0-24-0\n\nPotential contributors are encouraged to fork the repository and open a pull request.\n\nSupport\n=======\n\n|mailing|\n\nYou can post support questions regarding pycephes on the\n`poliastro mailing list`_ or the `pycephes issue tracker`_.\n\n.. _`poliastro mailing list`: https://groups.io/g/poliastro-dev\n.. _`pycephes issue tracker`: https://github.com/poliastro/pycephes/issues\n\nLicense\n=======\n\n|license|\n\npycephes is released under the MIT license, hence allowing commercial\nuse of the library. Please refer to the COPYING file.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/poliastro/pycephes", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "pycephes", "package_url": "https://pypi.org/project/pycephes/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pycephes/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/poliastro/pycephes" }, "release_url": "https://pypi.org/project/pycephes/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Python wrapper for CEPHES using CFFI and numba", "version": "0.1.0" }, "last_serial": 1991558, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "bd8c4deb68b14737fd4445d4b9fe196a", "sha256": "152b1896780fb43145fb325f02f1bfcc0fe33ff42f7058f012590f3efab9ef1f" }, "downloads": -1, "filename": "pycephes-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bd8c4deb68b14737fd4445d4b9fe196a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47910, "upload_time": "2016-03-06T00:50:00", "url": "https://files.pythonhosted.org/packages/31/11/4ba8b169e7903ad507f5d78c606946354ce46fd5f9e8f2f1295e278c8ed2/pycephes-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd8c4deb68b14737fd4445d4b9fe196a", "sha256": "152b1896780fb43145fb325f02f1bfcc0fe33ff42f7058f012590f3efab9ef1f" }, "downloads": -1, "filename": "pycephes-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bd8c4deb68b14737fd4445d4b9fe196a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47910, "upload_time": "2016-03-06T00:50:00", "url": "https://files.pythonhosted.org/packages/31/11/4ba8b169e7903ad507f5d78c606946354ce46fd5f9e8f2f1295e278c8ed2/pycephes-0.1.0.tar.gz" } ] }