{ "info": { "author": "Ievgen Varavva", "author_email": "yvaravva@google.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.6", "Topic :: Multimedia :: Sound/Audio :: Analysis", "Topic :: Multimedia :: Sound/Audio :: Editors" ], "description": "# DJ Tools\n\nThe project contains a set of libraries for reading, writing and converting\nmedia library information between different DJ Software applications.\n\n# Features\n\n * Algoriddim djay Pro 2: read and parse library. Limited writing.\n * Rekordbox: read explorted XML library.\n\n * Conversion:\n * Convert cue points from Rekordbox XML format to matching tracks in djay Pro 2 library.\n\n# Installing\n\n```\n$ pip install Djtools\n\n# Tests\n$ pip install Djtools[test]\n$ nosetests\n```\n\n# Usage\n\n```\n>>> # Explore djay Pro 2 database.\n>>> from djtools.djay import Explorer\n>>> e = Explorer()\n>>> track = e.get_all_tracks()[0]\n>>> print('{} - {}'.format(track.title.artist, track.title.title))\n\n>>> # Parse rekordbox XML library.\n>>> from djtools import rekordbox, matching, convert\n>>> rbts = rekordbox.parse_xml_file()\n>>> print(rbts[0].Artist, rbts[0].Name)\n\n>>> # Transfer cue points from rekordbox XML library to matching tracks in djay Pro 2.\n>>> for dj_t in e.get_all_tracks():\n>>> print('Djay track: ' + dj_t.title.artist + ' - ' + dj_t.title.title)\n>>> match = matching.find_matching_track(dj_t, rbts)\n>>> if match is not None:\n>>> result = convert.transfer_cue_points(match, dj_t)\n>>> if result.user_data and result.user_data.cuePoints:\n>>> print(f\"Transferred {len(result.user_data.cuePoints)} cue points.\")\n>>> else:\n>>> print(\"No cue points in RB track\")\n>>> e.save_track(result)\n>>> else:\n>>> print(\"No matching track in RB\")\n>>> print('===')\n```\n\n# Disclaimer\n\nThis is not an officially supported Google product.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xa4a/djtools", "keywords": "dj djay rekordbox cue points", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "Djtools", "package_url": "https://pypi.org/project/Djtools/", "platform": "", "project_url": "https://pypi.org/project/Djtools/", "project_urls": { "Homepage": "https://github.com/xa4a/djtools" }, "release_url": "https://pypi.org/project/Djtools/0.4/", "requires_dist": [ "bpylist2 (==2.0.3)", "dataclasses; python_version < \"3.7\"" ], "requires_python": ">=3.0", "summary": "Tools for reading and writing DJ software media libraries.", "version": "0.4" }, "last_serial": 4347819, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "e75eb46549fdfbc6ccda5b977342b8d6", "sha256": "fea596c67a029424b16484faea6fdf9a6c048340aa9681c6418b85741999245c" }, "downloads": -1, "filename": "Djtools-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e75eb46549fdfbc6ccda5b977342b8d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12826, "upload_time": "2018-07-15T02:59:13", "url": "https://files.pythonhosted.org/packages/65/7e/6efe8c7201d32d21ebb1451cd34c749435bd6bd383f24fc25c418aeb71fc/Djtools-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b2e67e9084fc012ed3efd8729dbb92c", "sha256": "9f4c05c5905f585f8eebc005e18230d0d55f911807b4758d60fcc1f2798b24b3" }, "downloads": -1, "filename": "Djtools-0.2.tar.gz", "has_sig": false, "md5_digest": "0b2e67e9084fc012ed3efd8729dbb92c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 8692, "upload_time": "2018-07-15T02:59:14", "url": "https://files.pythonhosted.org/packages/bc/5f/0e7129141552c584ec268579f46ae040357e70f91f7644531fd9b9bf91d9/Djtools-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ed75ec0d4bd34e7cc13921773cda00fd", "sha256": "ed1cc4d5b8be7882a5100f374e5ee2ad5cc8390bce8e19630a4f1558d3723718" }, "downloads": -1, "filename": "Djtools-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ed75ec0d4bd34e7cc13921773cda00fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12665, "upload_time": "2018-09-08T01:16:48", "url": "https://files.pythonhosted.org/packages/e1/50/cc84d0f145afa357d2a28ab6662faafe0fe9963155e69133f8cfcccae04a/Djtools-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e960cd988e1c7b14374670377c256c13", "sha256": "eea957638870651b022b001e504c31012b04c10c7552c56932c3781926dd2f1d" }, "downloads": -1, "filename": "Djtools-0.3.tar.gz", "has_sig": false, "md5_digest": "e960cd988e1c7b14374670377c256c13", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 8689, "upload_time": "2018-09-08T01:16:51", "url": "https://files.pythonhosted.org/packages/82/c6/1267b98882a2d4d6c7891d5d2581ecbd95d9475e6c0b1dc6fdb6eab289d2/Djtools-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "445fa54a046851d3b74d901e583c297d", "sha256": "96a8e31e1edc75ed25656a57f52221cb3aee2d75a64c35b4d4b873b490604505" }, "downloads": -1, "filename": "Djtools-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "445fa54a046851d3b74d901e583c297d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12689, "upload_time": "2018-10-06T19:23:31", "url": "https://files.pythonhosted.org/packages/fa/0d/0abb5f02c3f06fc8671c33c38b223b1431947b1894536bda978932385617/Djtools-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bec7db6e38ecee4f7209684f3554826c", "sha256": "407cbbf0552e0e72e34d1ef40f40b6c209fdedcfd2dd2b1b9fbfe51ef57576df" }, "downloads": -1, "filename": "Djtools-0.4.tar.gz", "has_sig": false, "md5_digest": "bec7db6e38ecee4f7209684f3554826c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 8714, "upload_time": "2018-10-06T19:23:33", "url": "https://files.pythonhosted.org/packages/50/9d/ae470368eea7d32ad1884a094d7a723074b1c0cd5f26726a15403c4a55c9/Djtools-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "445fa54a046851d3b74d901e583c297d", "sha256": "96a8e31e1edc75ed25656a57f52221cb3aee2d75a64c35b4d4b873b490604505" }, "downloads": -1, "filename": "Djtools-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "445fa54a046851d3b74d901e583c297d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12689, "upload_time": "2018-10-06T19:23:31", "url": "https://files.pythonhosted.org/packages/fa/0d/0abb5f02c3f06fc8671c33c38b223b1431947b1894536bda978932385617/Djtools-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bec7db6e38ecee4f7209684f3554826c", "sha256": "407cbbf0552e0e72e34d1ef40f40b6c209fdedcfd2dd2b1b9fbfe51ef57576df" }, "downloads": -1, "filename": "Djtools-0.4.tar.gz", "has_sig": false, "md5_digest": "bec7db6e38ecee4f7209684f3554826c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 8714, "upload_time": "2018-10-06T19:23:33", "url": "https://files.pythonhosted.org/packages/50/9d/ae470368eea7d32ad1884a094d7a723074b1c0cd5f26726a15403c4a55c9/Djtools-0.4.tar.gz" } ] }