{ "info": { "author": "Sanhe Hu", "author_email": "husanhe@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": ".. image:: https://readthedocs.org/projects/sfm/badge/?version=latest\n :target: https://sfm.readthedocs.io/index.html\n :alt: Documentation Status\n\n.. image:: https://travis-ci.org/MacHu-GWU/single_file_module-project.svg?branch=master\n :target: https://travis-ci.org/MacHu-GWU/single_file_module-project?branch=master\n\n.. image:: https://codecov.io/gh/MacHu-GWU/single_file_module-project/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/MacHu-GWU/single_file_module-project\n\n.. image:: https://img.shields.io/pypi/v/sfm.svg\n :target: https://pypi.python.org/pypi/sfm\n\n.. image:: https://img.shields.io/pypi/l/sfm.svg\n :target: https://pypi.python.org/pypi/sfm\n\n.. image:: https://img.shields.io/pypi/pyversions/sfm.svg\n :target: https://pypi.python.org/pypi/sfm\n\n.. image:: https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social\n :target: https://github.com/MacHu-GWU/single_file_module-project\n\n------\n\n\n.. image:: https://img.shields.io/badge/Link-Document-blue.svg\n :target: https://sfm.readthedocs.io/index.html\n\n.. image:: https://img.shields.io/badge/Link-API-blue.svg\n :target: https://sfm.readthedocs.io/py-modindex.html\n\n.. image:: https://img.shields.io/badge/Link-Source_Code-blue.svg\n :target: https://sfm.readthedocs.io/py-modindex.html\n\n.. image:: https://img.shields.io/badge/Link-Install-blue.svg\n :target: `install`_\n\n.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg\n :target: https://github.com/MacHu-GWU/single_file_module-project\n\n.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg\n :target: https://github.com/MacHu-GWU/single_file_module-project/issues\n\n.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg\n :target: https://github.com/MacHu-GWU/single_file_module-project/issues\n\n.. image:: https://img.shields.io/badge/Link-Download-blue.svg\n :target: https://pypi.org/pypi/sfm#files\n\n\nWelcome to ``sfm`` Documentation\n==============================================================================\n\nCollection of useful single file module. Please install required package respectively when needed.\n\n\nwinzip module\n------------------------------------------------------------------------------\nSuppose this is your file structure:\n\n.. code-block:: bash\n\n /alice ($HOME)\n /Document\n /word\n /paper1.doc\n /paper2.doc\n /excel\n /data1.xlsx\n /data2.xlsx\n /readme.txt\n\nUsage:\n\n.. code-block:: python\n\n >>> from sfm.winzip import zip_a_folder, zip_everything_in_a_folder, zip_many_files\n >>> zip_a_folder(\"/Users/alice/Document\", \"/Users/alice/document.zip\")\n >>> zip_everything_in_a_folder(\"/Users/alice/Document\", \"/Users/alice/document.zip\")\n >>> zip_many_files(\n [\n \"/Users/alice/Document/word/paper1.doc\",\n \"/Users/alice/Document/excel/data1.xlsx\",\n \"/Users/alice/Document/readme.txt\",\n ],\n \"/Users/alice/document.zip\"\n )\n\n\ntimer module\n------------------------------------------------------------------------------\nUsage:\n\n.. code-block:: python\n\n >>> import time\n >>> from sfm.timer import DateTimeTimer\n\n >>> with DateTimeTimer(title=\"first measure\") as timer:\n ... time.sleep(1)\n from xxxx-xx-xx xx:xx:xx.xxx to xxxx-xx-xx xx:xx:xx.xxx elapsed 1.000000 second.\n\n >>> timer = DateTimeTimer(title=\"second measure\")\n >>> timer.start()\n >>> time.sleep(1)\n >>> timer.end()\n from xxxx-xx-xx xx:xx:xx.xxx to xxxx-xx-xx xx:xx:xx.xxx elapsed 1.000000 second.\n\n\nAnd a lot more!\n\n\n.. _install:\n\nInstall\n-------------------------------------------------------------------------------\n\n``sfm`` is released on PyPI, so all you need is:\n\n.. code-block:: console\n\n $ pip install sfm\n\nTo upgrade to latest version:\n\n.. code-block:: console\n\n $ pip install --upgrade sfm\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://pypi.python.org/pypi/sfm/0.0.17#downloads", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MacHu-GWU/", "keywords": "", "license": "MIT", "maintainer": "Unknown", "maintainer_email": "", "name": "sfm", "package_url": "https://pypi.org/project/sfm/", "platform": "Windows", "project_url": "https://pypi.org/project/sfm/", "project_urls": { "Download": "https://pypi.python.org/pypi/sfm/0.0.17#downloads", "Homepage": "https://github.com/MacHu-GWU/" }, "release_url": "https://pypi.org/project/sfm/0.0.17/", "requires_dist": [ "six", "sphinx (==1.8.1) ; extra == 'docs'", "sphinx-rtd-theme ; extra == 'docs'", "sphinx-jinja ; extra == 'docs'", "sphinx-copybutton ; extra == 'docs'", "docfly (>=0.0.17) ; extra == 'docs'", "rstobj (>=0.0.5) ; extra == 'docs'", "pygments ; extra == 'docs'", "pytest (==3.2.3) ; extra == 'tests'", "pytest-cov (==2.5.1) ; extra == 'tests'", "Faker ; extra == 'tests'", "sqlalchemy ; extra == 'tests'", "pathlib-mate ; extra == 'tests'", "marshmallow ; extra == 'tests'", "fuzzywuzzy ; extra == 'tests'", "atomicwrites ; extra == 'tests'", "attrs ; extra == 'tests'" ], "requires_python": "", "summary": "Collection of useful single file module.", "version": "0.0.17" }, "last_serial": 5171478, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "67b04e24fac385d69f6a818e2caf0b96", "sha256": "a9b434d5995986372f230372230b9642a0421d02218903cad8bbf6b01cd78b68" }, "downloads": -1, "filename": "sfm-0.0.1.zip", "has_sig": false, "md5_digest": "67b04e24fac385d69f6a818e2caf0b96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42580, "upload_time": "2016-07-27T19:10:01", "url": "https://files.pythonhosted.org/packages/2d/b7/5a4f2c4a8e15ede34f308716e9666166e77fd618ce1c8a57bd92a6ddd3a2/sfm-0.0.1.zip" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "84406ba16c18d84e5cd39840164e2685", "sha256": "b0b3d036c65777ad56f81829f710d578700188fd6ce83e7f1357a9853c32d9f2" }, "downloads": -1, "filename": "sfm-0.0.10.zip", "has_sig": false, "md5_digest": "84406ba16c18d84e5cd39840164e2685", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65001, "upload_time": "2017-02-16T20:40:29", "url": "https://files.pythonhosted.org/packages/8c/a5/d42e82b66805431e8c8839ad25af275fe7ef5077d9ce7196b703cf82e29d/sfm-0.0.10.zip" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "ecce2c27c86aa0d8092069736341c1d3", "sha256": "d11d60a53217322c63c00a7f1b7d6c359ad7441f627e1af169a69b3647748241" }, "downloads": -1, "filename": "sfm-0.0.11.zip", "has_sig": false, "md5_digest": "ecce2c27c86aa0d8092069736341c1d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66000, "upload_time": "2017-02-24T00:04:54", "url": "https://files.pythonhosted.org/packages/cd/d0/4e6e85d2a3e0a8085526e60bda4dba1e2328cf65608a3556ea86b14787a3/sfm-0.0.11.zip" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "c1b41e0246cb3c5af045361fec181efa", "sha256": "5b9edcc8dd70b99b83a533b59ce2d465bb63df7b8f377c94a929750533633a07" }, "downloads": -1, "filename": "sfm-0.0.12.zip", "has_sig": false, "md5_digest": "c1b41e0246cb3c5af045361fec181efa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64354, "upload_time": "2017-04-18T05:59:22", "url": "https://files.pythonhosted.org/packages/28/3e/83aae4c05414701c938cf4a04343226287b916078e486aba6611250ce099/sfm-0.0.12.zip" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "10400a90546d81f5ca7362c0487fe4c6", "sha256": "9ba29f1c0013416be89f9f25def42afe949d6026b4f27e760ff19e127f7fe288" }, "downloads": -1, "filename": "sfm-0.0.13.zip", "has_sig": false, "md5_digest": "10400a90546d81f5ca7362c0487fe4c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63010, "upload_time": "2017-06-15T17:28:47", "url": "https://files.pythonhosted.org/packages/25/67/01417262353619f08370a4090ab30d856adcd488ba5077564d81bfc2efff/sfm-0.0.13.zip" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "29d3f039f41b92f9234c74063440dcf8", "sha256": "5cd312cf3bf010b9d41bdf6d76a42742d6f1dc1643bbe085c307eb1d7b2b03e7" }, "downloads": -1, "filename": "sfm-0.0.14-py2-none-any.whl", "has_sig": false, "md5_digest": "29d3f039f41b92f9234c74063440dcf8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 219515, "upload_time": "2017-11-07T01:10:53", "url": "https://files.pythonhosted.org/packages/27/57/c3054d33e75c3b1dd54b0604f255b016ff863bb8da45302a26b824df8bac/sfm-0.0.14-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2444216214924e8cd8e39b17ca8d440f", "sha256": "6ea5e952f35175c7d151596913db594b104836f74ed50a57b057b62e8af506e2" }, "downloads": -1, "filename": "sfm-0.0.14.tar.gz", "has_sig": false, "md5_digest": "2444216214924e8cd8e39b17ca8d440f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109220, "upload_time": "2017-11-07T01:10:55", "url": "https://files.pythonhosted.org/packages/11/22/cb9aa326b5acb8857491b69c1a6f761aca7cdf6153f15f6cb8a0fb682007/sfm-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "e07a32f984f446c8ac4455ae0e8f916c", "sha256": "ed3a297ff0a54787d8ad51f815bb98d436c9f8b161605e81cef15a6ba877d462" }, "downloads": -1, "filename": "sfm-0.0.15-py2-none-any.whl", "has_sig": false, "md5_digest": "e07a32f984f446c8ac4455ae0e8f916c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 224758, "upload_time": "2018-01-25T20:56:32", "url": "https://files.pythonhosted.org/packages/3c/a1/8bb6f6addee639b9db34767a013b250365b4b8fca8464c460f563332b0db/sfm-0.0.15-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a370b89bac02e78e266838eec79471c", "sha256": "b2c12bed27d038481fd943fbf15f6ea6c7d256207d159a4629e835e7d6b72239" }, "downloads": -1, "filename": "sfm-0.0.15.tar.gz", "has_sig": false, "md5_digest": "9a370b89bac02e78e266838eec79471c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111882, "upload_time": "2018-01-25T20:56:35", "url": "https://files.pythonhosted.org/packages/ad/d7/256399f7a8330b62ac6cff0454fa0ab91210c50602ad94a66d7b882ced44/sfm-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "c33bec626b1def477317744042f1b587", "sha256": "2155e5df0d66a2e226fe8c36f4a65c5dc43e4ea6fcfe302a4bd41fed082b2295" }, "downloads": -1, "filename": "sfm-0.0.16-py2-none-any.whl", "has_sig": false, "md5_digest": "c33bec626b1def477317744042f1b587", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 218397, "upload_time": "2018-05-30T23:15:06", "url": "https://files.pythonhosted.org/packages/5a/a8/93e849431ebd28eeba866931e5c8a15b272410ce030bab96c5e01a86da7d/sfm-0.0.16-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7690c58e676518f93127a09ec38e8ff8", "sha256": "39c34909b015bb37b5e51a9a11b28b585e63558933f9e137b9d957b6a946e20b" }, "downloads": -1, "filename": "sfm-0.0.16.tar.gz", "has_sig": false, "md5_digest": "7690c58e676518f93127a09ec38e8ff8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122326, "upload_time": "2018-05-30T23:15:08", "url": "https://files.pythonhosted.org/packages/50/bf/b65e236438c9e15cae6da0b05192087f24a13fd4f5d768a418cdd411506b/sfm-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "1a66f98ed6f780815004d1d50ed21f96", "sha256": "8d56b2e1b1a45281cb078a15e4c521e035e899e5621cb22feeeaf0c5e0584252" }, "downloads": -1, "filename": "sfm-0.0.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a66f98ed6f780815004d1d50ed21f96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 86483, "upload_time": "2019-04-22T04:46:53", "url": "https://files.pythonhosted.org/packages/eb/7c/d36e83ae90c5e0c892649a8064f90c484c29b2f43de555bad1f83a55acaa/sfm-0.0.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1339030631f200edfe29a1037b9c3542", "sha256": "fa97c0c22183de1b92caab42a75cdb3a54e4772ce8cc0643daf832c331ec245c" }, "downloads": -1, "filename": "sfm-0.0.17.tar.gz", "has_sig": false, "md5_digest": "1339030631f200edfe29a1037b9c3542", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73456, "upload_time": "2019-04-22T04:46:55", "url": "https://files.pythonhosted.org/packages/58/66/9031dfcc6036603a2aab53377c4c21a6be91e7e9f9f812176a23e018d895/sfm-0.0.17.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f78a4cf0ef9c2e4dab1f3dc23d2b4a02", "sha256": "45c5d5ab6281402eda1ca6b395f162d2d8aebee32e56d86a042eb38df47b03b6" }, "downloads": -1, "filename": "sfm-0.0.2.zip", "has_sig": false, "md5_digest": "f78a4cf0ef9c2e4dab1f3dc23d2b4a02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42722, "upload_time": "2016-07-28T20:49:26", "url": "https://files.pythonhosted.org/packages/15/7b/64ff85ecc63c71b13219ceb4453d6b0c42290f96cf3f8f0d9cb1700c7a60/sfm-0.0.2.zip" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "17e4b7b4a9d1ea1b1adb1cf9db24ce6f", "sha256": "6c3c36d3ae12a7256eeda80c58250468fdcb2b4eafad6bdc0bac697259971539" }, "downloads": -1, "filename": "sfm-0.0.3.zip", "has_sig": false, "md5_digest": "17e4b7b4a9d1ea1b1adb1cf9db24ce6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51542, "upload_time": "2016-08-30T19:52:28", "url": "https://files.pythonhosted.org/packages/5f/7c/5ab73199830528f456663d61e4884d4ebb51a0cde7dfb00eb39277e7b562/sfm-0.0.3.zip" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "17bb03b8d636c1564afde2ffc3cedce2", "sha256": "2ee02542e586e76ffe83652f22af740da928e5b73564a5564a15a13daacf2635" }, "downloads": -1, "filename": "sfm-0.0.4.zip", "has_sig": false, "md5_digest": "17bb03b8d636c1564afde2ffc3cedce2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54101, "upload_time": "2016-09-14T18:50:57", "url": "https://files.pythonhosted.org/packages/b1/d8/f98f23e55fefcc51a008cb00345e714abc5534d41841b71ce78f8cfbf665/sfm-0.0.4.zip" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0fb4514b1a319a6b1d010fe103a456b3", "sha256": "b16f9c109e29818b8afec6e73e94108f1f5e98fb4a3545477314e0d4af010a96" }, "downloads": -1, "filename": "sfm-0.0.5.zip", "has_sig": false, "md5_digest": "0fb4514b1a319a6b1d010fe103a456b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58672, "upload_time": "2016-11-28T20:53:10", "url": "https://files.pythonhosted.org/packages/2c/00/e86f2e24d84cab3c1b6780533ff98f656430b8017345165285fd5315d097/sfm-0.0.5.zip" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "23f5f6133ec8bb70358b48c11e9db9da", "sha256": "f4a0f04c2bef30441e86eea43f06c794805061b0bfd5e9b3cfae85b77e27f9e8" }, "downloads": -1, "filename": "sfm-0.0.6.zip", "has_sig": false, "md5_digest": "23f5f6133ec8bb70358b48c11e9db9da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59961, "upload_time": "2016-12-09T19:35:45", "url": "https://files.pythonhosted.org/packages/b1/c6/16fd165e4db85c799185263fba027603c265f9860b1106b26ff0f7ed82e5/sfm-0.0.6.zip" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "c96cb794081c6d30b1240ef21db038dc", "sha256": "cc6d86cd87721bc7925289fd5cda1dec67d10c7f001e3bdd683ac4d45f4661d6" }, "downloads": -1, "filename": "sfm-0.0.7.zip", "has_sig": false, "md5_digest": "c96cb794081c6d30b1240ef21db038dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61680, "upload_time": "2017-01-24T08:26:03", "url": "https://files.pythonhosted.org/packages/a6/78/cbc43f0225145b8c0847fabe92e41c0c23a46624b3d01f593bf40a339ec3/sfm-0.0.7.zip" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "c10ba2194b9d0cc4dd13ada69873c278", "sha256": "c6c3ac8a8f26bacd387dad50a4aba8768e156892616f5cfc3940f5cfd6ede59b" }, "downloads": -1, "filename": "sfm-0.0.8.zip", "has_sig": false, "md5_digest": "c10ba2194b9d0cc4dd13ada69873c278", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62025, "upload_time": "2017-02-02T18:44:31", "url": "https://files.pythonhosted.org/packages/5c/f6/23062e3724abc722496bd291b337e4425636d2a44e9bd703b869125d95c0/sfm-0.0.8.zip" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "2931a408cb0759e865a7d096ac871213", "sha256": "eb032ba6db4a7421189546e6f1575402a7dff886d12ec6681b8d485e9cb0c0e2" }, "downloads": -1, "filename": "sfm-0.0.9.zip", "has_sig": false, "md5_digest": "2931a408cb0759e865a7d096ac871213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62643, "upload_time": "2017-02-09T22:18:04", "url": "https://files.pythonhosted.org/packages/a0/aa/a3ee76b83e4dcaf6a094a792d2c6724be04a8d1b332b73efcc5eedbfa63f/sfm-0.0.9.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1a66f98ed6f780815004d1d50ed21f96", "sha256": "8d56b2e1b1a45281cb078a15e4c521e035e899e5621cb22feeeaf0c5e0584252" }, "downloads": -1, "filename": "sfm-0.0.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a66f98ed6f780815004d1d50ed21f96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 86483, "upload_time": "2019-04-22T04:46:53", "url": "https://files.pythonhosted.org/packages/eb/7c/d36e83ae90c5e0c892649a8064f90c484c29b2f43de555bad1f83a55acaa/sfm-0.0.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1339030631f200edfe29a1037b9c3542", "sha256": "fa97c0c22183de1b92caab42a75cdb3a54e4772ce8cc0643daf832c331ec245c" }, "downloads": -1, "filename": "sfm-0.0.17.tar.gz", "has_sig": false, "md5_digest": "1339030631f200edfe29a1037b9c3542", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73456, "upload_time": "2019-04-22T04:46:55", "url": "https://files.pythonhosted.org/packages/58/66/9031dfcc6036603a2aab53377c4c21a6be91e7e9f9f812176a23e018d895/sfm-0.0.17.tar.gz" } ] }