{ "info": { "author": "Jeffrey McLarty", "author_email": "jeffrey.mclarty@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Office/Business", "Topic :: Software Development", "Topic :: System :: Logging", "Topic :: Utilities" ], "description": "Smuggle\n=======\n\n.. image:: https://travis-ci.org/jnmclarty/smuggle.svg?branch=master\n :target: https://travis-ci.org/jnmclarty/smuggle\n \n.. image:: https://coveralls.io/repos/jnmclarty/smuggle/badge.svg \n :target: https://coveralls.io/r/jnmclarty/smuggle\n\n*Catalogue python pickles to reduce development and troubleshooting time.*\n\nDescription\n===========\n\nSmuggle organizes copies of python objects chronologically, \nusing the pickle format, so that they can be retrieved in \na new python session. This allows new approaches during development and \ntroubleshooting production issues. Since objects can be moved from\na prod to dev environment, smuggle becomes exceptionally handy for projects\ninvolving complicated cases or non-idempotent processes.\n\nWhen used correctly, it can also reduce the need for verbosity in logging\nand certain types of error messages.\n\nUsage\n=====\n\n.. code:: python\n\n from smuggle import Smuggler\n \n MySmuggler = Smuggler(\"C:\\MyObjectLogFolder\")\n \n aList = [1,2,3]\n aDict = {'a' : 1, 'b' : 2, 'c' : 3}\n \n MySmuggler.smuggle(MyList=aList,MyDict=aDict,NoteToSelf=\"This is cool\")\n \n print(MySmuggler.passphrases())\n\nOutput\n======\n\nThere are two forms of output & access; passphrases and payloads.\n\nPassphrase\n----------\n\nA passphrase is just auto-generated python code, which looks like this:\n\n.. code:: python\n\n import pickle\n \n # NoteToSelf of type 'str' was smuggled at 21:02:06, 2015/02/01\n # 'This is cool'\n NoteToSelf = pickle.load(open(r\"C:\\MyObjectLogFolder\\NoteToSelf-2015-02-01-21-02-06.smug\",\"rb\"))\n \n # MyList of type 'list' was smuggled at 21:02:06, 2015/02/01\n # [1, 2, 3]\n MyList = pickle.load(open(r\"C:\\MyObjectLogFolder\\MyList-2015-02-01-21-02-06.smug\",\"rb\"))\n \n # MyDict of type 'dict' was smuggled at 21:02:06, 2015/02/01\n # {'a': 1, 'c': 3, 'b': 2}\n MyDict = pickle.load(open(r\"C:\\MyObjectLogFolder\\MyDict-2015-02-01-21-02-06.smug\",\"rb\"))\n\nThis output is just a copy+paste away from functioning in a new \npython file.\n\nPayload\n-------\n\nA payload is a collection of organized pickles accessible via the catalogue functions.\nThere are many plans to expand the catalogue system (eg. SQLite, keyword,\ntime, etc.). The current system is limited to a very simple file naming convention\nwhich includes the time and date. Payloads just scan a folder for ``.smug``\nfiles. These files, are simply pickle files. No other changes are made to the file\nformat.\n\n.. code:: python\n\n >>> MyPayload = Payload(\"C:\\MyObjectLogFolder\")\n >>> varlist = MyPayload.aslist()\n >>> varlist\n [{'a': 1, 'c': 3, 'b': 2}, [1, 2, 3], 'This is cool']\n \n\nRequirements\n============\n\nPython\n------\nWorks on 2.6, 2.7, 3.3 and 3.4.\n\nInstall (OSX, Linux, Posix)\n===========================\n\nThe easiest way to install is with pip::\n\n sudo pip install smuggle\n\nOr manually (assuming all required modules are installed on your system)::\n\n sudo python ./setup.py install\n \nInstructions for Windows\n========================\n\n1) Start Menu > Accessories > Command Prompt\n2) Run the following command: ``pip install smuggle``\n\nContributing\n============\n\nPull requests are welcome. To test, use ``nosetests smuggle`` or ``py.test``.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/jnmclarty/smuggle/tarball/0.2.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jnmclarty/smuggle", "keywords": "debugging,logging,smuggle,smuggler,exception,pickle,pickling", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "smuggle", "package_url": "https://pypi.org/project/smuggle/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/smuggle/", "project_urls": { "Download": "https://github.com/jnmclarty/smuggle/tarball/0.2.0", "Homepage": "https://github.com/jnmclarty/smuggle" }, "release_url": "https://pypi.org/project/smuggle/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Log, catalogue, and move python objects via pickling", "version": "0.2.0" }, "last_serial": 1444106, "releases": { "0.1rc1": [ { "comment_text": "", "digests": { "md5": "36223a8006fab753248d5c50d328b7df", "sha256": "e75c59229ff23b2c7c56a526597cd9419ec3686cb0cb06cc2784afca068170f7" }, "downloads": -1, "filename": "smuggle-0.1rc1.zip", "has_sig": false, "md5_digest": "36223a8006fab753248d5c50d328b7df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9846, "upload_time": "2015-02-02T02:58:27", "url": "https://files.pythonhosted.org/packages/15/e3/78d62bc38812da63356b06b20e0cb08efe8711d8189576edc9469fc8c118/smuggle-0.1rc1.zip" } ], "0.1rc2": [ { "comment_text": "", "digests": { "md5": "77bd5060afbd5e17c3959b0f04442bf9", "sha256": "ed95b5e3db08190e178a4a4c18789b6732d3f43d9629279ce6dbaca60c81f53e" }, "downloads": -1, "filename": "smuggle-0.1rc2.zip", "has_sig": false, "md5_digest": "77bd5060afbd5e17c3959b0f04442bf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9838, "upload_time": "2015-02-06T02:28:10", "url": "https://files.pythonhosted.org/packages/66/d2/ee2d415b516c109bfa06bf0855bd677c76f6cfcd4f693acc8bd661c26d34/smuggle-0.1rc2.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e3dfe14b1a75e9bbeaf2c2bbce40eafb", "sha256": "22c3f25fa4281ed97266c3c182f6e6d1d7cda962ed2e3a8a4d8da0272437cd86" }, "downloads": -1, "filename": "smuggle-0.2.0.zip", "has_sig": false, "md5_digest": "e3dfe14b1a75e9bbeaf2c2bbce40eafb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10135, "upload_time": "2015-03-02T03:40:56", "url": "https://files.pythonhosted.org/packages/73/9d/da8e7fe69618979b81900da5f2587908553ad73adcd2e8d5ccc202c53473/smuggle-0.2.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3dfe14b1a75e9bbeaf2c2bbce40eafb", "sha256": "22c3f25fa4281ed97266c3c182f6e6d1d7cda962ed2e3a8a4d8da0272437cd86" }, "downloads": -1, "filename": "smuggle-0.2.0.zip", "has_sig": false, "md5_digest": "e3dfe14b1a75e9bbeaf2c2bbce40eafb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10135, "upload_time": "2015-03-02T03:40:56", "url": "https://files.pythonhosted.org/packages/73/9d/da8e7fe69618979b81900da5f2587908553ad73adcd2e8d5ccc202c53473/smuggle-0.2.0.zip" } ] }