{ "info": { "author": "Paul Barton", "author_email": "pablo.barton@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# DMXEnttecPro\nControl the Enttec DMX USB Pro with Python3\n\n## Installation\n\nThis package solely depends on `pyserial`. You can install a recent release on\nPyPI:\n\n`pip install DMXEnttecPro`\n\nor by getting the [repository from GitHub](https://github.com/SavinaRoja/DMXEnttecPro)\nand doing something along the lines of:\n```\ngit clone git@github.com:SavinaRoja/DMXEnttecPro.git\ncd DMXEnttecPro\npip install .\n```\n\n## Getting Started\n\nIf you don't know the serial address of the DMX controller yet, you can do the\nfollowing to identify it:\n\n`python -m DMXEnttecPro.utils`\n\nwhich will give you some detailed information on all COM ports like this:\n\n```\nCOM4\n name: None\n description: USB Serial Port (COM4)\n hwid: USB VID:PID=0403:6001 SER=EN055555A\n vid: 1027\n pid: 24577\n serial_number: EN055555A\n location: None\n manufacturer: FTDI\n product: None\n interface: None\n```\n\nOnce you know your serial address, setting up a connection to your Enttec DMX\nUSB Pro is simple:\n\n```\nfrom DMXEnttecPro import Controller\n#dmx = Controller('COM4') # Typical of Windows\ndmx = Controller('/dev/ttyUSB0') # Typical of Linux\n```\n\nThen you can set channel values easily (DMX Channels are 1-indexed, and\n`Controller` maintains that convention for you.) with:\n\n```\ndmx.set_channel(1, 255) # Sets DMX channel 1 to max 255\ndmx.submit() # Sends the update to the controller\n```\n\nIn some environments where you may not be assured of the precise string of your\nCOM port, I recommend using a uniquely identifying mark like the serial number\nor product ID. Some helpers exist in `DMXEnttecPro.utils`:\n\n```\nfrom DMXEnttecPro import Controller\nfrom DMXEnttecPro.utils import get_port_by_serial_number, get_port_by_product_id\nmy_port = get_port_by_serial_number('EN055555A')\nmy_port = get_port_by_product_id(24577)\ndmx = Controller(my_port)\n```\n\n## Additional Features\n\nThere are three main additional features that this package offers:\nauto-submission of changes and configurable size of DMX universe.\n\n### Auto-submission\n\nYou may supply `auto_submit=True` to instantiation of `Controller` to tell it\nto automatically submit changes on any action changing channel values:\n\n```\ndmx = Controller('/dev/ttyUSB0', auto_submit=True)\n```\n\nThe argument `submit_after=` can be provided to any action changing\nchannel values and it will take precedence over the configured `auto_submit`\nvalue of the `Controller`.\n\n### DMX Size Configuration\n\nThe size of the DMX universe defaults to 512 channels. There are apparently\noccasions where finer timescales can be achieved in DMX by constraining this.\n`dmx_size=` may be supplied to instantiation of `Controller`.\n\n```\ndmx = Controller('/dev/ttyUSB0', dmx_size=256) # use only 256 channels\n```\n\n## Acknowledgments\n\nDMXEnttecPro evolved from my re-write of [pysimpledmx](https://github.com/c0z3n/pySimpleDMX)\nfor compatibility with Python3.\n\n[pyenttec](https://github.com/generalelectrix/pyenttec) is another good package.\n\n## Developing\n\nSo far I have only utilized features with which I am personally familiar and\nhave wanted. Please submit any issues or feature requests along with usage\nneeds and I would be happy to evaluate them.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "GPL3", "maintainer": "", "maintainer_email": "", "name": "DMXEnttecPro", "package_url": "https://pypi.org/project/DMXEnttecPro/", "platform": "", "project_url": "https://pypi.org/project/DMXEnttecPro/", "project_urls": null, "release_url": "https://pypi.org/project/DMXEnttecPro/0.4/", "requires_dist": null, "requires_python": "", "summary": "Python control of the Enttec DMX USB Pro", "version": "0.4" }, "last_serial": 5007556, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "6c34a73f2a4a8fac2caec27697f70ba3", "sha256": "084eefc71f38667ff4a3c7b78eefc027ec27ab40b564d8fac31d917254f08bd4" }, "downloads": -1, "filename": "DMXEnttecPro-0.1.tar.gz", "has_sig": false, "md5_digest": "6c34a73f2a4a8fac2caec27697f70ba3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4478, "upload_time": "2019-03-24T23:10:41", "url": "https://files.pythonhosted.org/packages/d3/2c/695a3a016a95a0b081521e646da2191c3f87d9cd5d768cdda710a9819418/DMXEnttecPro-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "b66aec3b6f9e8798b43bb97bb888ab4d", "sha256": "6f5ae0603e260e4e1be5f243587e7fdcdcba7b073004004086f763da39a794c3" }, "downloads": -1, "filename": "DMXEnttecPro-0.2.tar.gz", "has_sig": false, "md5_digest": "b66aec3b6f9e8798b43bb97bb888ab4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5725, "upload_time": "2019-03-25T05:13:30", "url": "https://files.pythonhosted.org/packages/4c/e9/5febf50a8a12018847e45fbdf96a7d7d3157d7c6d4e8785858a8d1a035ac/DMXEnttecPro-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "787a1e32a251487227bfbf1825402eb4", "sha256": "fcc2fbcecceaaffe4ccd321dd7fc2f996208c13ae20526a36730b5693316d12b" }, "downloads": -1, "filename": "DMXEnttecPro-0.3.tar.gz", "has_sig": false, "md5_digest": "787a1e32a251487227bfbf1825402eb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5893, "upload_time": "2019-03-29T03:11:15", "url": "https://files.pythonhosted.org/packages/f0/0c/8ac993f3574d2108c3e39a236b5daacad5759c2149ceaea4af849cc5127a/DMXEnttecPro-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "496e7ede6e0d2de8d53adf9ef592eaff", "sha256": "6ee7659d9e96fe427f31808f4527ba45a2e28a8d5a44a20cdc767166fb7eafe7" }, "downloads": -1, "filename": "DMXEnttecPro-0.4.tar.gz", "has_sig": false, "md5_digest": "496e7ede6e0d2de8d53adf9ef592eaff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5927, "upload_time": "2019-03-30T17:01:19", "url": "https://files.pythonhosted.org/packages/78/49/2ec902d63aeb014a674fb048da556139064f6314eb38ce96ae3d95132209/DMXEnttecPro-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "496e7ede6e0d2de8d53adf9ef592eaff", "sha256": "6ee7659d9e96fe427f31808f4527ba45a2e28a8d5a44a20cdc767166fb7eafe7" }, "downloads": -1, "filename": "DMXEnttecPro-0.4.tar.gz", "has_sig": false, "md5_digest": "496e7ede6e0d2de8d53adf9ef592eaff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5927, "upload_time": "2019-03-30T17:01:19", "url": "https://files.pythonhosted.org/packages/78/49/2ec902d63aeb014a674fb048da556139064f6314eb38ce96ae3d95132209/DMXEnttecPro-0.4.tar.gz" } ] }