{ "info": { "author": "Vincenzo Arcidiacono", "author_email": "vinci1it2000@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: European Union Public Licence 1.1 (EUPL 1.1)", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: OS Independent", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": ".. _start-intro:\n\n\nWhat is syncing?\n****************\n\n**syncing** is an useful library to synchronise and re-sample time\nseries.\n\n**Synchronization** is based on the **fourier transform** and the\n**re-sampling** is performed with a specific interpolation method.\n\n\nInstallation\n************\n\nTo install it use (with root privileges):\n\n::\n\n $ pip install syncing\n\nOr download the last git version and use (with root privileges):\n\n::\n\n $ python setup.py install\n\n\nInstall extras\n==============\n\nSome additional functionality is enabled installing the following\nextras:\n\n* cli: enables the command line interface.\n\n* plot: enables to plot the model process and its workflow.\n\n* dev: installs all libraries plus the development libraries.\n\nTo install syncing and all extras (except development libraries), do:\n\n::\n\n $ pip install syncing[all]\n\n.. _end-quick:\n\n\nSynchronising Laboratory Data\n*****************************\n\nThis example shows how to synchronise two data-sets *obd* and *dyno*\n(respectively they are the On-Board Diagnostics of a vehicle and\nChassis dynamometer) with a reference signal *ref*. To achieve this we\nuse the model syncing model to visualize the model:\n\n..\n\n >>> from syncing.model import dsp\n >>> model = dsp.register()\n >>> model.plot(view=False)\n SiteMap(...)\n\n [graph]\n\nTip: You can explore the diagram by clicking on it.\n\nFirst of all, we generate synthetically the data-sets to feed the\nmodel:\n\n>>> import numpy as np\n>>> data_sets = {}\n>>> time = np.arange(0, 150, .1)\n>>> velocity = (1 + np.sin(time / 10)) * 60\n>>> data_sets['ref'] = dict(\n... time=time, # [10 Hz]\n... velocity=velocity / 3.6 # [m/s]\n... )\n>>> data_sets['obd'] = dict(\n... time=time[::10] + 12, # 1 Hz\n... velocity=velocity[::10] + np.random.normal(0, 5, 150), # [km/h]\n... engine_rpm=np.maximum(\n... np.random.normal(velocity[::10] * 3 + 600, 5), 800\n... ) # [RPM]\n... )\n>>> data_sets['dyno'] = dict(\n... time=time + 6.66, # 10 Hz\n... velocity=velocity + np.random.normal(0, 1, 1500) # [km/h]\n... )\n\nTo synchronize the data-sets and plot the workflow:\n\n..\n\n >>> from syncing.model import dsp\n >>> sol = dsp(dict(\n ... data=data_sets, x_label='time', y_label='velocity',\n ... reference_name='ref', interpolation_method='cubic'\n ... ))\n >>> sol.plot(view=False)\n SiteMap(...)\n\n [graph]\n\nFinally, we can analyze the time shifts and the synchronized and\nre-sampled data-sets:\n\n>>> import pandas as pd\n>>> import schedula as sh\n>>> pd.DataFrame(sol['shifts'], index=[0]) # doctest: +SKIP\n obd dyno\n...\n>>> df = pd.DataFrame(dict(sh.stack_nested_keys(sol['resampled'])))\n>>> df.columns = df.columns.map('/'.join)\n>>> df['ref/velocity'] *= 3.6\n>>> ax = df.set_index('ref/time').plot(secondary_y='obd/engine_rpm')\n>>> ax.set_ylabel('[km/h]'); ax.right_ax.set_ylabel('[RPM]')\nText(...)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/vinci1it2000/syncing/tarball/v1.0.4", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vinci1it2000/syncing", "keywords": "python,utility,library,synchronize,data,scientific,engineering,resample,time series", "license": "EUPL 1.1+", "maintainer": "", "maintainer_email": "", "name": "syncing", "package_url": "https://pypi.org/project/syncing/", "platform": "", "project_url": "https://pypi.org/project/syncing/", "project_urls": { "Documentation": "http://syncing.readthedocs.io", "Donate": "https://donorbox.org/syncing", "Download": "https://github.com/vinci1it2000/syncing/tarball/v1.0.4", "Homepage": "https://github.com/vinci1it2000/syncing", "Issue tracker": "https://github.com/vinci1it2000/syncing/issues" }, "release_url": "https://pypi.org/project/syncing/1.0.4/", "requires_dist": [ "numpy", "openpyxl", "pandas", "scipy", "schedula (>=0.3.1)", "xlrd (>=1.0.0)", "Pygments; extra == 'all'", "beautifulsoup4; extra == 'all'", "click; extra == 'all'", "click-log; extra == 'all'", "docutils; extra == 'all'", "flask; extra == 'all'", "graphviz; extra == 'all'", "jinja2; extra == 'all'", "lxml; extra == 'all'", "regex; extra == 'all'", "click; extra == 'cli'", "click-log; extra == 'cli'", "Pygments; extra == 'dev'", "beautifulsoup4; extra == 'dev'", "click; extra == 'dev'", "click-log; extra == 'dev'", "docutils; extra == 'dev'", "flask; extra == 'dev'", "graphviz; extra == 'dev'", "jinja2; extra == 'dev'", "lxml; extra == 'dev'", "regex; extra == 'dev'", "wheel; extra == 'dev'", "sphinx; extra == 'dev'", "gitchangelog; extra == 'dev'", "mako; extra == 'dev'", "sphinx-rtd-theme; extra == 'dev'", "setuptools (>=36.0.1); extra == 'dev'", "sphinxcontrib-restbuilder; extra == 'dev'", "nose; extra == 'dev'", "coveralls; extra == 'dev'", "ddt; extra == 'dev'", "sphinx-click; extra == 'dev'", "matplotlib; extra == 'dev'", "graphviz; extra == 'plot'", "regex; extra == 'plot'", "flask; extra == 'plot'", "Pygments; extra == 'plot'", "lxml; extra == 'plot'", "jinja2; extra == 'plot'", "beautifulsoup4; extra == 'plot'", "docutils; extra == 'plot'" ], "requires_python": "", "summary": "Time series synchronization and resample library.", "version": "1.0.4" }, "last_serial": 5704770, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "955df2c6ad4ec465b5e46d0143ad953b", "sha256": "4ac502224d0ca0ea748cb866072eace8efc27af3c42a445e7a30ac339ce12ccd" }, "downloads": -1, "filename": "syncing-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "955df2c6ad4ec465b5e46d0143ad953b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13567, "upload_time": "2019-02-23T16:31:58", "url": "https://files.pythonhosted.org/packages/4d/ab/e84de07088eccd9c1bbe37e7776ecaa9df6e17f68ef3ef62f591afa58bc4/syncing-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49a525c9301c748311b83fba192bcc9d", "sha256": "025ea657bed1c73ddcc7e74cdc65aacf31a2c11c4882b1e95e2a049d0176ce68" }, "downloads": -1, "filename": "syncing-1.0.0.tar.gz", "has_sig": false, "md5_digest": "49a525c9301c748311b83fba192bcc9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14650, "upload_time": "2019-02-23T16:32:00", "url": "https://files.pythonhosted.org/packages/73/66/67e8f6c75814b035da9b923f5debebc12b3b311bacee0acd0608bb9066f8/syncing-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "1d1618df26cb6edad5b3e6031ae695e8", "sha256": "da1ef94cf55e0bd3b1fef21cd93b46d3d9179fc98769d6948adba566c5b39027" }, "downloads": -1, "filename": "syncing-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1d1618df26cb6edad5b3e6031ae695e8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13585, "upload_time": "2019-07-12T18:28:59", "url": "https://files.pythonhosted.org/packages/94/44/4b37c2a76a9478a5a708b34088d56afe6f52d52b03f1f70afbf749dd04fc/syncing-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b3ed39ccf3d77705c8b421c319fddaa", "sha256": "87fb0f402665c93663fa4f7e57a7b73a30f2123fc965ad1e52cddb2fce3a666a" }, "downloads": -1, "filename": "syncing-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0b3ed39ccf3d77705c8b421c319fddaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14699, "upload_time": "2019-07-12T18:29:00", "url": "https://files.pythonhosted.org/packages/f4/80/7cee092e16ef226467a62691cf786dc1659bfd2058acf9e7a52ed202b72c/syncing-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "9deba5c5413bcffa2b687e02ead9ad0e", "sha256": "c846aa9b8b680bcbd571325d0f235d1ff0d3568e45e24f1a2d17c8898a1589b3" }, "downloads": -1, "filename": "syncing-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9deba5c5413bcffa2b687e02ead9ad0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13549, "upload_time": "2019-07-14T23:36:19", "url": "https://files.pythonhosted.org/packages/02/1d/1c63a066b99b65ece7c2dae84e23d0e941df5de6fba4881b29cf33c1105e/syncing-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfd500c1c5df57ffcb749b6fe6de3257", "sha256": "d914a298dd2915058bab0e08f273677607c5eec8923ccc43eaa59963d21207cb" }, "downloads": -1, "filename": "syncing-1.0.2.tar.gz", "has_sig": false, "md5_digest": "dfd500c1c5df57ffcb749b6fe6de3257", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14593, "upload_time": "2019-07-14T23:36:21", "url": "https://files.pythonhosted.org/packages/07/bf/f4f883cd836a9b4d4ed3cbbbbd665d7f856354d05111b517c02655109fc0/syncing-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0795f0885213db62f4c1caba25e3dac3", "sha256": "ceeec69af49eb748c7908e9703bc450858b3f7ecfd34361ac4333826a6ee9080" }, "downloads": -1, "filename": "syncing-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0795f0885213db62f4c1caba25e3dac3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13592, "upload_time": "2019-08-20T17:33:54", "url": "https://files.pythonhosted.org/packages/ce/e3/9b9d16142d208a2a99842030c37f8159fea69103063fb6a6e196ea46869d/syncing-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0777c17820ea5abc7502fd657bef9904", "sha256": "af94e23afc92fedacffa8207cb9ba3340988ea0e0ab02957f5f5bb5aac2fa948" }, "downloads": -1, "filename": "syncing-1.0.3.tar.gz", "has_sig": false, "md5_digest": "0777c17820ea5abc7502fd657bef9904", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14718, "upload_time": "2019-08-20T17:33:56", "url": "https://files.pythonhosted.org/packages/f7/3d/d7e4a860159872e0bbe403be457a61548e731a8db7d4439799441a5e3840/syncing-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "68fe38df2483eff8abe86e6b6d26a737", "sha256": "01ad9fdec1d268c5b086af6753199c458c9b7d2e8ab58f7bf7656dfe7f1985f6" }, "downloads": -1, "filename": "syncing-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68fe38df2483eff8abe86e6b6d26a737", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13642, "upload_time": "2019-08-20T17:57:56", "url": "https://files.pythonhosted.org/packages/0b/f8/21071e5c78b9a8b894de263733123acabfb8bffc8d0a41a1b0446129f184/syncing-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0f9a0e2b969ee78c2ea5903d1bd303a", "sha256": "74f3750939943576fead63efdfae1574e7dbb73a2caf329846e8590ffdc832f5" }, "downloads": -1, "filename": "syncing-1.0.4.tar.gz", "has_sig": false, "md5_digest": "c0f9a0e2b969ee78c2ea5903d1bd303a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14769, "upload_time": "2019-08-20T17:57:58", "url": "https://files.pythonhosted.org/packages/d5/5b/f298979dab1f8e990b83365577d527b6a8fec531a53c63575d06976456ba/syncing-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "68fe38df2483eff8abe86e6b6d26a737", "sha256": "01ad9fdec1d268c5b086af6753199c458c9b7d2e8ab58f7bf7656dfe7f1985f6" }, "downloads": -1, "filename": "syncing-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68fe38df2483eff8abe86e6b6d26a737", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13642, "upload_time": "2019-08-20T17:57:56", "url": "https://files.pythonhosted.org/packages/0b/f8/21071e5c78b9a8b894de263733123acabfb8bffc8d0a41a1b0446129f184/syncing-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0f9a0e2b969ee78c2ea5903d1bd303a", "sha256": "74f3750939943576fead63efdfae1574e7dbb73a2caf329846e8590ffdc832f5" }, "downloads": -1, "filename": "syncing-1.0.4.tar.gz", "has_sig": false, "md5_digest": "c0f9a0e2b969ee78c2ea5903d1bd303a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14769, "upload_time": "2019-08-20T17:57:58", "url": "https://files.pythonhosted.org/packages/d5/5b/f298979dab1f8e990b83365577d527b6a8fec531a53c63575d06976456ba/syncing-1.0.4.tar.gz" } ] }