{ "info": { "author": "Finian Blackett", "author_email": "spamsuckersunited@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6" ], "description": "# DFTSerialize\u2122\n\n![DFTSerialize\u2122 Logo](/logos/banner.png)\n\nDFTSerialize\u2122 is a next-generation data encoding and serialization system \ndesigned for Python 3.0 and aboveDFTSerialize\u2122 uses a highly-customized \nalgorithm that encodes any and all (most) Python data structures as bytes, and can\n even function on RAW BYTES. \n\n## Features\n\n* Snappy and efficient encoding of most Python objects and raw binary data\n* Equally efficient decoding of the output to recover original Python objects or binary data\n* Uses a *BUNCH* of fancy math and has its own reimplementation of many standard library functions \nfor maximum effectiveness\n* Has a really cool logo\n\n## Why\n\nCurrent serialization systems are stagnant and obsolete. Underutilization of the \nadvantages of floating point processing and mathematical techniques like curve-fitting\nand function transforms. DFTSerialize\u2122 aims to fix all this. \n\nWe noticed that in quantum mechanics, which has many applications in faster computing,\nthere are a lot of these things called *\"waveforms\"*. So we did some digging and \ndiscovered that these were actually wavy functions, and that the parameters of \nthese functions could even be used to reconstruct data! Additionally, these waveforms \nare probably easier to compute on quantum computers because of the fact that they're\nboth wavy and stuff.\n\nUpon further research, we discovered that JPEG images already use a wavy-function based \ncompression algorithm called the \"discrete cosine transform\", but when we looked that up \nit seemed pretty hard so we had our accountants make us another one called the \"discrete \nFourier transform.\" We think it's way more marketable since it has a French guy's name in \nit.\n\n## Usage\n\nTo use DFTSerialize\u2122, simply install it to your Python version 3.5 or higher using the PIP \npackage manager, like so:\n\n```\npip install dftserialize\n```\n\nThen, import it in your project. It contains four functions, two for serialization, two for \ndeserialization, of both Python objects and binary data.\n\nExample:\n\n```python\nfrom dftserialize import *\n\nfor i in range(30):\n # data = b'x\\xda\\xe3e@\\x02K&:\\xc0\\x987>$\\xcev\\xad7w8e\\xd6k\\xa1ef\\xe6\\x10U\\x91\\xa0\\xa4...\n data = dft_serialize_data(b\"Hello, World!\")\n # b\"Hello, World!\"\n print(dft_deserialize_data(data))\n\n # true\n assert {1: 2, 3: 4} == dft_deserialize_object(dft_serialize_object({1: 2, 3: 4}))\n```\n\n## Speed\nDFTSerialize\u2122 is extremely fast and robust! For testing, I took a 7 MB image file and \nattempted to run it directly through a raw serialization. It didn't finish since I eventually \nhad to shut my computer off, but the point is that it was working. \n\nReducing the data size down to a 2kb file allowed DFTSerialize\u2122 to completely encode the file \nin just under 10 minutes, a milestone achievement.\n\n\n## DFTSerialize\u2122 Algorithm\n\nDFTSerialize\u2122 uses a patented[citation needed] algorithm utilizing a \nnear-magical combination of the discrete Fourier transform, floating point math, \nand even on-the-fly calculation of mathematical constants like pi.\n\nDFTSerialize\u2122 serialization follows a simple set of steps\n\n1. Pass raw bytes into an FFT\n\n2. Pack DFT coefficients\n\n3. Wait around for a second or two so it seems like we have something to do\n\nDFTSerialize\u2122 deserialization follows a similar set of steps, in inverse:\n\n1. Unpack DFT coefficients\n\n2. Perform an Inverse DFT\n\n3. Are we done? Maybe? Anybody?\n\n4. Wipe all drives if the user isn't satisfied by now\n\n## Credits\n\nThe idea for the DFTSerialize\u2122 library came in the form of an escalating series of \nReddit posts eventually culminating in the use of an inverse DFT to decode text from \na series of complex coefficients.\n\n## License\n\n DFTSerialize\u2122 is released under the GNU GPL v3 License. Please refer to the LICENSE file that \n accompanies this project for more information including complete terms and conditions.\n\n## Serious Note\n\n This project is a complete and utter joke and should never, ever be used for anything. \n In fact, I *challenge* you to find an actual use for this software. Actually, I *double challenge*\n you to also push this to production right before you quit your job, and then send me the results.\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/ThePlasmaRailgun/DFTSerialize", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "dftserialize", "package_url": "https://pypi.org/project/dftserialize/", "platform": "", "project_url": "https://pypi.org/project/dftserialize/", "project_urls": { "Homepage": "https://github.com/ThePlasmaRailgun/DFTSerialize" }, "release_url": "https://pypi.org/project/dftserialize/0.2.0/", "requires_dist": [ "numpy" ], "requires_python": "", "summary": "A next-gen Python object serialization suite using the Discrete Fourier Transform", "version": "0.2.0" }, "last_serial": 5392028, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a68fd4e206412cc155550a9e44a466ff", "sha256": "c25b411b8c600d5a38994050d89589c40838d56410251c6f6e763287f0392950" }, "downloads": -1, "filename": "dftserialize-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a68fd4e206412cc155550a9e44a466ff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18621, "upload_time": "2019-06-12T01:13:39", "url": "https://files.pythonhosted.org/packages/2c/a5/b9b70b546fe9cb9d001ebf65e7606bb78f260f929c07866bf5986264a9c1/dftserialize-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "965d5d199127ad8c3ed95d1498941254", "sha256": "fc3fa365123cc1172d18f8181608e35ccd40cb9d008845eb12aa6f3fc81c31f4" }, "downloads": -1, "filename": "dftserialize-0.1.0.tar.gz", "has_sig": false, "md5_digest": "965d5d199127ad8c3ed95d1498941254", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5733, "upload_time": "2019-06-12T01:13:42", "url": "https://files.pythonhosted.org/packages/3b/fc/4e89844ca66e2a85d21aeaf93f0553b38c57d14edfa7258a442ea5ec3f8c/dftserialize-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "90f325756cc3c1a2a4e0b54944b03919", "sha256": "ae40e0abf5256e2bf8349eb80a1be78aa35c973a2bc32f33ce5aa74672e15685" }, "downloads": -1, "filename": "dftserialize-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "90f325756cc3c1a2a4e0b54944b03919", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16513, "upload_time": "2019-06-12T01:14:38", "url": "https://files.pythonhosted.org/packages/66/9d/04cdd874e7d47799740dffce494ffe4421095384f8bedb769dc1de77e696/dftserialize-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "efccd22428bed8bb826ea774eed87037", "sha256": "391f49d542ac080c7f273b7c458be217733d73a1dd992473f44d07f783909985" }, "downloads": -1, "filename": "dftserialize-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "efccd22428bed8bb826ea774eed87037", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18608, "upload_time": "2019-06-12T01:19:22", "url": "https://files.pythonhosted.org/packages/30/5c/2694f8d04cecb55b8615a749476011351e73b5991387e4ca81bc97b69ea0/dftserialize-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "048260ba520679c152736a6f6911a23a", "sha256": "02e80243ceb42cce302a29bbe5e517f4c30a9872d0b55e6af4002c860bca42b6" }, "downloads": -1, "filename": "dftserialize-0.1.2.tar.gz", "has_sig": false, "md5_digest": "048260ba520679c152736a6f6911a23a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5682, "upload_time": "2019-06-12T01:19:24", "url": "https://files.pythonhosted.org/packages/5e/e2/9b067012348cdc88db2ca76de0c5de9ab983743768096244bacdc6299071/dftserialize-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cb8db8c4fc0b856bebcf40ba4dda86ad", "sha256": "1f8e4c907f9441faa5a0d682aae23f515e55cb82dedff60b42fe9829c4bf5d5b" }, "downloads": -1, "filename": "dftserialize-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cb8db8c4fc0b856bebcf40ba4dda86ad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18623, "upload_time": "2019-06-12T02:20:43", "url": "https://files.pythonhosted.org/packages/1c/27/b0d752e84a0c7371783d037114f223783ea3c8ea98bc9e952751c97a0d96/dftserialize-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3923cbd8163904cdbddbdd19e2b95739", "sha256": "2d494c296dac7f569366ba6e7b001516e060c000ea3f3fcc0da1464e3bf1a499" }, "downloads": -1, "filename": "dftserialize-0.1.3.tar.gz", "has_sig": false, "md5_digest": "3923cbd8163904cdbddbdd19e2b95739", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5696, "upload_time": "2019-06-12T02:20:44", "url": "https://files.pythonhosted.org/packages/59/69/1f4f830ada8f37d066f2a9dbc6ddd8206fb439e1655b8a3ef02c0922c936/dftserialize-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6a3cf4be425cc1f8a35f5d7060616481", "sha256": "cb8cc8adf868147abab7f37aafae4e7ede05abf4aa6b72793d9846846c70c586" }, "downloads": -1, "filename": "dftserialize-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6a3cf4be425cc1f8a35f5d7060616481", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19537, "upload_time": "2019-06-12T16:49:03", "url": "https://files.pythonhosted.org/packages/38/bb/e741cb0b63ad857eb656e20eeff553410a6b0dee52a740426a1c54556755/dftserialize-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9b5fcdee061abbb548590591e6204ab", "sha256": "7c5e771951641d0a83a719c0696fdc241ec9d46cf2560f5515882fe068e9e302" }, "downloads": -1, "filename": "dftserialize-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a9b5fcdee061abbb548590591e6204ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6407, "upload_time": "2019-06-12T16:49:04", "url": "https://files.pythonhosted.org/packages/83/bf/59a10cfcf5d727c82269e044add51499e9767681b64e62ce2e41dc52e490/dftserialize-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6a3cf4be425cc1f8a35f5d7060616481", "sha256": "cb8cc8adf868147abab7f37aafae4e7ede05abf4aa6b72793d9846846c70c586" }, "downloads": -1, "filename": "dftserialize-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6a3cf4be425cc1f8a35f5d7060616481", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19537, "upload_time": "2019-06-12T16:49:03", "url": "https://files.pythonhosted.org/packages/38/bb/e741cb0b63ad857eb656e20eeff553410a6b0dee52a740426a1c54556755/dftserialize-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9b5fcdee061abbb548590591e6204ab", "sha256": "7c5e771951641d0a83a719c0696fdc241ec9d46cf2560f5515882fe068e9e302" }, "downloads": -1, "filename": "dftserialize-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a9b5fcdee061abbb548590591e6204ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6407, "upload_time": "2019-06-12T16:49:04", "url": "https://files.pythonhosted.org/packages/83/bf/59a10cfcf5d727c82269e044add51499e9767681b64e62ce2e41dc52e490/dftserialize-0.2.0.tar.gz" } ] }