{ "info": { "author": "Santi Villalba", "author_email": "sdvillal@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering", "Topic :: Software Development" ], "description": "PYOPY: PYthon -> Octave/matlab -> PYthon\n========================================\n\nPyopy helps using matlab/octave libraries from python.\nIt provides functionality to parse matlab code and express calls to matlab functions\nas calls to python functions. It also provides a generic mechanism to transfer data to\nand run code in octave/matlab instances. Pyopy was born to provide python bindings to the \n[HCTSA time-series feature extraction library](http://www.comp-engine.org/timeseries/).\nYou can check-out this [quick demo](https://asciinema.org/a/18771).\n\n\nInstallation\n------------\n\nPyopy is tested on linux and mac. It requires python 2.7, octave and/or matlab and the following python dependencies:\n \n - numpy\n - scipy\n - pandas\n - joblib\n - argh\n - whatami\n - lockfile\n \nPyopy design decouples command dispatching and data transfer.\nPyopy relies upon the excellent [oct2py](http://blink1073.github.io/oct2py/)\n(of which a [slightly modified version](https://github.com/sdvillal/oct2py) is provided with pyopy).\nfor generic data transfers. For communicating with octave we recommend to fully install oct2py.\nFor communicating with matlab, we recommend the python matlab engine (available with matlab since\nversion 2014b). If you have an earlier matlab version, a slower and less tested backend\nbased on [pymatbridge](https://github.com/arokem/python-matlab-bridge) is also available.\n\n### Install example using a [conda environment](http://conda.io/)\n\n - Install dependencies.\n```sh\nconda install numpy scipy pandas joblib\npip install argh whatami lockfile\n```\n\n - To use matlab, install the [python matlab engine](http://www.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html). \n\n```sh\ncd /opt/matlab/extern/engines/python # if matlab is installed in /opt/matlab\npython setup.py install # unfortunately, pip would fail here\n```\n\n - To use octave, install oct2py.\n\n```sh\npip install oct2py\n```\n\n - pip-install pyopy in your environment (releases coming sometime soon).\n\n```sh\n# You can install the last release from pypi\npip install pyopy\n\n# Alternatively, you can install master directly from github\npip install https://github.com/strawlab/pyopy/tarball/master\n\n\n# Finally, you could also install a development version\ncd wherever\ngit clone https://github.com/strawlab/pyopy.git\npip install -e pyopy\n```\n\n - If using HCTSA: install and tweak pyopy's internal HCTSA copy.\n\n```sh\n\n# For HCTSA, using matlab is highly recommended.\n\n hctsa-cli install --engine matlab --force-download --generate-bindings\n\n#\n# This command will download or clone HCTSA from github into\n# ~/.pyopy/toolboxes/hctsa/\n# Then it will patch it and mex extensions using either matlab or octave.\n# This version of HCTSA will be dynamically added to the matlab/octave\n# path each time \"hctsa.prepare()\" is called.\n#\n\n#\n# The command will also regenerate the python bindings.\n# This means regenerating the module:\n# \"pyopy/hctsa/hctsa_bindings.py\"\n# Note that for the bindings to be regenerated succesfully,\n# \"hctsa-cli\" needs write permissions on the directory where\n# pyopy has been installed.\n# This should not be a problem if you used \"pip install -e\" or\n# if installed to a conda/virtualenv on your user dir.\n#\n\n\n# If you want to generate the mexes for the other engine, run:\n\n hctsa-cli install --engine octave\n\n#\n# Note not \"--force-download\" (otherwise the mex extensions for the\n# first engine would be removed) nor \"\"--generate-bindings\"\n# (these need to be generated only once) should be specified.\n# The same effect can be achieved running this command:\n# hctsa-cli install --engine all --force-download --generate-bindings\n#\n\n# As a final note, mexing can be redone when changing matlab/octave by:\n hctsa-cli mex --engine matlab\n```\n\n - If all has gone well, this should work\n\n```sh\nhctsa-cli summary\n\nNumber of operators (functions in mfiles): 164\nNumber of operations (function + parameters): 1057\nNumber of features (operation + outvalue): 7778\nFunctions without operation: ['CO_TSTL_amutual', 'DN_Cumulants', 'DN_nlogL_norm', 'IN_AutoMutualInfo', 'IN_Initialize_MI', 'IN_MutualInfo', 'MF_GP_LearnHyperp', 'MF_ResidualAnalysis', 'NL_CaosMethod', 'PP_PreProcess', 'SB_CoarseGrain', 'SD_MakeSurrogates', 'TSTL_predict']\nOperations without functions: ['DK_TheilerQ', 'DK_crinkle_statistic', 'DK_timerev_1', 'DK_timerev_2', 'DK_timerev_3', 'DK_timerev_4']\n (these are probably calls into other toolboxes)\nFeatures without operations: []\n (usually this should be empty)\n\nipython\n```\n\n```python\nIn [1]: import numpy as np\n\nIn [2]: from pyopy.hctsa import hctsa\n\nIn [3]: _ = hctsa.prepare(engine='matlab')\nStarting engine\nWarming up\nConfiguring HCTSA\nSetting up HCTSA operators\nHooray, we can use HCTSA now...\n\nIn [4]: hctsa.operations.AC_1(np.arange(100))\nOut[4]: 0.96999999999999975\n```\n\n\nLicenses\n--------\n\n### Code distributed with pyopy\n\n - PYOPY itself: Modified BSD\n - OCT2PY: Modified BSD\n - OMPC: Modified BSD\n \n### Optional matlab toolboxes\n\n#### HCTSA\n\nHCTSA must be downloaded separately (preferably using the *pyopy/hctsa/hctsa_install.py* script).\n\"Operators\" are GPL licensed. Pyopy bindings rely on operators only.\nOther parts of HCTSA are licensed as [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). \nOther licenses in 3rd party code used by HCTSA (TOOLBOXES directory), mostly GPL, might apply. \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/strawlab/pyopy", "keywords": null, "license": "BSD 3 clause", "maintainer": null, "maintainer_email": null, "name": "pyopy", "package_url": "https://pypi.org/project/pyopy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyopy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/strawlab/pyopy" }, "release_url": "https://pypi.org/project/pyopy/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "PYthon->Octave->PYthon: Tools to pythonize matlab/octave libraries", "version": "0.1.0" }, "last_serial": 2240874, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a1df49542f0b504b24ed4a356d7f328f", "sha256": "028fa0b3f647c4350e696a8c4fa3bbd5a75f46d89e4ebb84c20d95f35916a8f6" }, "downloads": -1, "filename": "pyopy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a1df49542f0b504b24ed4a356d7f328f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183555, "upload_time": "2016-07-24T14:55:47", "url": "https://files.pythonhosted.org/packages/e8/dd/dcbf863396ce7365aacdeee12fdbf70ca68031c38a8d5c50511a659e29c4/pyopy-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1df49542f0b504b24ed4a356d7f328f", "sha256": "028fa0b3f647c4350e696a8c4fa3bbd5a75f46d89e4ebb84c20d95f35916a8f6" }, "downloads": -1, "filename": "pyopy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a1df49542f0b504b24ed4a356d7f328f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183555, "upload_time": "2016-07-24T14:55:47", "url": "https://files.pythonhosted.org/packages/e8/dd/dcbf863396ce7365aacdeee12fdbf70ca68031c38a8d5c50511a659e29c4/pyopy-0.1.0.tar.gz" } ] }