{ "info": { "author": "eduardo moguillansky", "author_email": "eduardo.moguillansky@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "BPF4\n====\n\nAbout\n-----\n\nbpf4 is a library for curve fitting and break point functions in python. It is mainly programmed in Cython for efficiency. It has been used in itself for functional and numerical analysis.\n\nExample\n-------\n\nFind the intersection between two curves\n\n >>> from bpf4 import bpf # this imports the api\n >>> import pylab\n >>> a = bpf.spline((0, 0), (1, 5), (2, 3), (5, 10)) # each point (x, y)\n >>> b = bpf.expon((0, -10), (2,15), (5, 3), exp=3)\n >>> a.plot() # uses matplotlib\n >>> b.plot() \n >>> zeros = (a - b).zeros()\n >>> pylab.plot(zeros, a.map(zeros), 'o')\n\n \n![1](https://github.com/gesellkammer/bpf4/raw/master/pics/zeros.png)\n\nFeatures\n--------\n\nMany interpolation types besides linear:\n\n* spline\n* half-cosine\n* exponential\n* fibonacci\n* exponantial half-cosine\n* pchip\n* logarithmic\n* etc. \n\nInterpolation types can be mixed, so that each segment has a different interpolation (with the exception of spline interpolation) \nCurves can be combined non-destructively. Following from the example above. \n\n >>> c = (a + b).sin().abs()\n >>> c[1.5:4].plot() # plot only the range (1.5, 4)\n\n![2](https://github.com/gesellkammer/bpf4/raw/master/pics/sinabs.png)\n\nSyntax support for shifting, scaling and slicing a bpf\n\n >>> a >> 2 # a shifted to the right\n >>> (a * 5) ^ 2 # scale the x coord by 2, scale the y coord by 5\n >>> a[2:2.5] # slice only a portion of the bpf\n >>> a[::0.01] # sample the bpf with an interval of 0.01\n\nDerivation and Integration: `c.derivative().plot()` or `c.integrated().integrated().plot()` \nNumerical integration: `c.integrate_between(2, 4)` \n\nDependencies\n------------\n\n* cython >= 0.19 \n* numpy\n\nInstallation\n------------\n\nTo install the latest version (recommended)\n\n $> git clone https://github.com/gesellkammer/bpf4.git\n $> cd bpf4\n $> python setup.py install\n\nOtherwise, via pip or easy_install\n\n $> pip install bpf4\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/gesellkammer/bpf4", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gesellkammer/bpf4", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "bpf4", "package_url": "https://pypi.org/project/bpf4/", "platform": "", "project_url": "https://pypi.org/project/bpf4/", "project_urls": { "Download": "https://github.com/gesellkammer/bpf4", "Homepage": "https://github.com/gesellkammer/bpf4" }, "release_url": "https://pypi.org/project/bpf4/0.7.4/", "requires_dist": null, "requires_python": "", "summary": "Peace-wise interpolation and lazy evaluation in cython", "version": "0.7.4" }, "last_serial": 5474016, "releases": { "0.6.3": [ { "comment_text": "", "digests": { "md5": "b6615d32172a2767697eff2ce9cf20ae", "sha256": "fc6121839f5fcf5b9ee1fc20f27b7491cc8998e84502a8eacae8e9ac63172a2e" }, "downloads": -1, "filename": "bpf4-0.6.3.tar.gz", "has_sig": false, "md5_digest": "b6615d32172a2767697eff2ce9cf20ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72151, "upload_time": "2014-11-20T10:19:12", "url": "https://files.pythonhosted.org/packages/49/e3/57c8f69533e586df378e4f9459519a9539d87e64373464bb62e5c872bc6f/bpf4-0.6.3.tar.gz" } ], "0.6.4": [], "0.6.5": [ { "comment_text": "", "digests": { "md5": "4adc187554421ebf22db7036a685d095", "sha256": "620ff90a84f43d4a15385f476ecc7e76ad0c1805f395f85f513b7106320ec5bc" }, "downloads": -1, "filename": "bpf4-0.6.5.tar.gz", "has_sig": false, "md5_digest": "4adc187554421ebf22db7036a685d095", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70298, "upload_time": "2016-05-16T11:05:17", "url": "https://files.pythonhosted.org/packages/b3/d6/2a004a3fdda2169304e59c6dbf79715674e4735cd2ad078a4cd5bd12fa84/bpf4-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "af7cee56de164ede9de0d22a079e4298", "sha256": "0a10b7998dc5234ce39cbde2c5a633876da5cd2d2c4088cbf32b67ab57285ba9" }, "downloads": -1, "filename": "bpf4-0.6.6.tar.gz", "has_sig": false, "md5_digest": "af7cee56de164ede9de0d22a079e4298", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70308, "upload_time": "2016-05-18T13:49:57", "url": "https://files.pythonhosted.org/packages/e7/1d/0a37ff27028326777e810d6854ff96523a402819b49066aea4383a64afcc/bpf4-0.6.6.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "1a45af9ddf75a3b4af60930f554c2192", "sha256": "432d4278db7a0161e9b7a720f4cab53697ab1aae8cb4ced1a28078e6e88b0961" }, "downloads": -1, "filename": "bpf4-0.7.1.tar.gz", "has_sig": false, "md5_digest": "1a45af9ddf75a3b4af60930f554c2192", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70236, "upload_time": "2017-01-03T14:16:02", "url": "https://files.pythonhosted.org/packages/3a/f9/d54c4ed366e51dfbe8bb29219ca1a830abc6782046953198f02a6e3ba054/bpf4-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "53d073778b360d751b2605e43d89d776", "sha256": "4ccce2da8418130758320a0c2b946369ee4970dfc4c787e88c35ff068075895f" }, "downloads": -1, "filename": "bpf4-0.7.2.tar.gz", "has_sig": false, "md5_digest": "53d073778b360d751b2605e43d89d776", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70566, "upload_time": "2017-01-03T14:25:08", "url": "https://files.pythonhosted.org/packages/15/8a/3fd3215e4a83c34a173099937679747c2e2992952d07bb7040cc4415b931/bpf4-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "b9d9aae1f9c7a210e7017ea373f5072a", "sha256": "5663c6387c20d2cadaf0d18ab79a7db490831071e80f5936e71759e8386e4a28" }, "downloads": -1, "filename": "bpf4-0.7.3.tar.gz", "has_sig": false, "md5_digest": "b9d9aae1f9c7a210e7017ea373f5072a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69197, "upload_time": "2019-07-01T18:15:14", "url": "https://files.pythonhosted.org/packages/e5/2f/cc5247271e410d5720c6570bad1a661dadbb918cc26b66528044789f05aa/bpf4-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "575cabad3bdd669f49ef3cb33370fe48", "sha256": "cf61ee8741556f73dc782e87673d1faede3d1441291cd1cd8a22c83b678791e1" }, "downloads": -1, "filename": "bpf4-0.7.4.tar.gz", "has_sig": false, "md5_digest": "575cabad3bdd669f49ef3cb33370fe48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69198, "upload_time": "2019-07-01T21:46:48", "url": "https://files.pythonhosted.org/packages/85/35/1e546b61ae400dd863fc5dc1002b340c9f6b980ecdf48093599b4bfab2af/bpf4-0.7.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "575cabad3bdd669f49ef3cb33370fe48", "sha256": "cf61ee8741556f73dc782e87673d1faede3d1441291cd1cd8a22c83b678791e1" }, "downloads": -1, "filename": "bpf4-0.7.4.tar.gz", "has_sig": false, "md5_digest": "575cabad3bdd669f49ef3cb33370fe48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69198, "upload_time": "2019-07-01T21:46:48", "url": "https://files.pythonhosted.org/packages/85/35/1e546b61ae400dd863fc5dc1002b340c9f6b980ecdf48093599b4bfab2af/bpf4-0.7.4.tar.gz" } ] }