{ "info": { "author": "Sam & Max", "author_email": "lesametlemax@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Intended Audience :: Developers", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": "DEVPY\n-----\n\nDevpy is a set of tools to ease Python development.\n\nInstall\n=========\n\n::\n\n pip install devpy\n\nQuick demo\n===========\n\nDevpy provide a quick dev setup for logging that you can replace later by a more robust solution:\n\n.. code:: python\n\n import devpy.develop as log\n\n log.info('This is an info')\n log.warning('This is a warning')\n log.error('This is an error')\n log.critical('This is a critical error')\n\n log.info('Now let me crash the program. This stack trace is automatically in the log file:')\n\n import codecs\n\n codecs.open('/thisdoesnotexist')\n\n\nThis gives:\n\n\n.. image:: screenshot.png\n\n\nAutolog\n========\n\nSetuping proper loging is tedious, so you may want to do it later, but you wish you could get basic logging right now:\n\n.. code:: python\n\n import devpy\n\n # Get a logger that automatically log to console and a rotating file\n # The rotating file is setup in the temp directory of your system, in\n # a subdir named after your script name.\n # Logs are colored in the console according their level.\n # The file path is printed at the begining of the program.\n\n log = devpy.autolog() # log is a regular stdlib logger object\n\n # start logging:\n\n log.info('Yes')\n\nOnce you have time to setup logging seriously, you can just replace the autolog with a regular custom Python logger, and all your logs will still work.\n\nSetting the environment variable DEVPY_LOG_LEVEL to an integer or a level name (debug, info, error, warning, critical...) will set the autolog log to it.\n\nSetting the environment variable DEVPY_COLOR_LOG to 0 disable the color in the log.\n\nautolog parameters:\n\n- level (default=-1): the general log level\n- name (defaul=name of the root module): the name of the log file\n- path (default=OS temp dir + name): path to the log file\n- log_on_crash (default=True): add a hook to log the stack trace in case of a crash\n- log_filename (default=True): log log file pat at the program start\n- color_log (default=True): add colors to the log\n\n\nStacktrace helper\n=================\n\nFormat the stack trace so that:\n\n- it separates the various logicial blocs\n- it emphasis the lines of your program and not the stdlb\n- lines of your program are syntax highlighted\n\nJust do:\n\n.. code:: python\n\n import devpy\n devpy.color_traceback()\n\n\nAll helpers at once\n===================\n\nTwo ways:\n\n.. code:: python\n\n import devpy\n log = devpy.dev_mode() # can set color_traceback=True, autolog=True\n\n # or just\n # import devpy.develop as log\n # for a one liner to activate it all", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sametmax/devpy/", "keywords": "devpy dev", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "devpy", "package_url": "https://pypi.org/project/devpy/", "platform": "", "project_url": "https://pypi.org/project/devpy/", "project_urls": { "Homepage": "https://github.com/sametmax/devpy/" }, "release_url": "https://pypi.org/project/devpy/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "Tools to help development and debugging", "version": "0.1.7" }, "last_serial": 2681214, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2732480ced30947f01a72da0a36e1acc", "sha256": "45bdae80160ddc3e8a98d9293b6ebb020aac0282e2a831e01be66f083fb0c06a" }, "downloads": -1, "filename": "devpy-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2732480ced30947f01a72da0a36e1acc", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 5643, "upload_time": "2017-03-01T14:58:46", "url": "https://files.pythonhosted.org/packages/65/b2/d6483d9529f42268b7933787f47fd1bc6f49d94aaf882daea0bc1dd4b8b5/devpy-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d90fb059daf0017cb4dd5244c21d9400", "sha256": "1389ab4f809f385a84fdeb6c18b6804920503168288dfc28db750a68cae5b112" }, "downloads": -1, "filename": "devpy-0.1.tar.gz", "has_sig": false, "md5_digest": "d90fb059daf0017cb4dd5244c21d9400", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4044, "upload_time": "2017-03-01T14:58:44", "url": "https://files.pythonhosted.org/packages/da/2a/5022c8973489f60ae23a04cee3db39f150c6d910c634c2607d6ed579d619/devpy-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e000979ca09a636b2897d58ea11de76b", "sha256": "e112ee1c3f2a0ac276d488340638e180f0f5dc52d5d4080d4c5ddbcf366c40df" }, "downloads": -1, "filename": "devpy-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e000979ca09a636b2897d58ea11de76b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 5674, "upload_time": "2017-03-01T15:38:37", "url": "https://files.pythonhosted.org/packages/4e/6d/9910f94763d51c07a7ea6d0161acdf1d1eba128d9bb3620f3c40e44744f8/devpy-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0270328e554bb6bfe81a35feb5090f8", "sha256": "d53580ba0c5e8d2fd029ccb9402f94f55dc52dd84d83c45ce40a37f6ca360831" }, "downloads": -1, "filename": "devpy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c0270328e554bb6bfe81a35feb5090f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4059, "upload_time": "2017-03-01T15:38:35", "url": "https://files.pythonhosted.org/packages/7b/16/fb4d062253387e4c6a8fd7c2a8ea14f904975d1fce3de12f35b9c477e542/devpy-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "75468f07f4e504bc644227a348c090f1", "sha256": "790296e89bf8d91ec9060f85123df7c8959c85ece931995a1c0a063dac9f6391" }, "downloads": -1, "filename": "devpy-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "75468f07f4e504bc644227a348c090f1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5705, "upload_time": "2017-03-01T16:08:02", "url": "https://files.pythonhosted.org/packages/89/59/900b1167dac5ef7e6edb1c08f46988b07c202e4beb0aa911a606bd048bed/devpy-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9ae688d56f00bbc86207282a33daf6c", "sha256": "5968ecd78a932e2cdfa4ea129c5250a402752475fc92a72ceb707c80c59fe585" }, "downloads": -1, "filename": "devpy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e9ae688d56f00bbc86207282a33daf6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4106, "upload_time": "2017-03-01T16:08:00", "url": "https://files.pythonhosted.org/packages/ae/1e/687f375e35c3b855273044bba96d869763642baf2ff85ffee5b2cf2d4c9c/devpy-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d743309bdca19b5c63d55e12960de469", "sha256": "f25f88e18de525fe72fae2dde0f8fc959b0f3c2060abd58bb1604b8eb76fb2fb" }, "downloads": -1, "filename": "devpy-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "d743309bdca19b5c63d55e12960de469", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5971, "upload_time": "2017-03-01T23:06:12", "url": "https://files.pythonhosted.org/packages/21/be/a33f92a1a3ab5bff3396c54576c99e8f71832673afd5e5a1d12b68dd3058/devpy-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "684f7f844da127ff45212af795358c9d", "sha256": "a7edb60e79fb681274460566ee631bcd8538687c2913876dc2d131dbc32ccfd9" }, "downloads": -1, "filename": "devpy-0.1.3.tar.gz", "has_sig": false, "md5_digest": "684f7f844da127ff45212af795358c9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4275, "upload_time": "2017-03-01T23:06:09", "url": "https://files.pythonhosted.org/packages/4e/3d/b382685c7bc8edcdf57b1bd50afd5cbd63adea98791f8264e923038a08db/devpy-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b1b273e83e8e68647221ea74f902592f", "sha256": "af481e079fc3b0c699d35064818221cdad831d5855ebb5211c7eb969a08b9fd3" }, "downloads": -1, "filename": "devpy-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "b1b273e83e8e68647221ea74f902592f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5994, "upload_time": "2017-03-01T23:09:59", "url": "https://files.pythonhosted.org/packages/33/2a/282d9709512ec022cdedcd9987e60b5927091fdafee94e52a64c58971cba/devpy-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed17ee32724a668d53de34e372d32212", "sha256": "43827918f322f124157ef2a98e0eb732ef0b3862dadebf8e8073920f82d67f12" }, "downloads": -1, "filename": "devpy-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ed17ee32724a668d53de34e372d32212", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4282, "upload_time": "2017-03-01T23:09:57", "url": "https://files.pythonhosted.org/packages/46/8d/1e1c36aedb0ed36b3d54123910523de71aeaead8c61af67aefe454248fa5/devpy-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8ef80bb0549e66c7d23ba06b28d35a28", "sha256": "ef5bbf56fdbf438d960c154012d62aad5fed0fc19ad07be963f1266f5a3ea06e" }, "downloads": -1, "filename": "devpy-0.1.5-py2-none-any.whl", "has_sig": false, "md5_digest": "8ef80bb0549e66c7d23ba06b28d35a28", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6005, "upload_time": "2017-03-03T17:13:34", "url": "https://files.pythonhosted.org/packages/73/de/9b93d7e94c56b1236385a865b2fc2ab2fb772e4e055cd823faccf3bd5213/devpy-0.1.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0954adc9df22162b71353a1cda9c9099", "sha256": "c872fbd5c91f0a874599f37ae153a868f749dd447fef997bd0bbcb47d2ba2074" }, "downloads": -1, "filename": "devpy-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0954adc9df22162b71353a1cda9c9099", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4300, "upload_time": "2017-03-03T17:13:30", "url": "https://files.pythonhosted.org/packages/8e/b4/dc24ada2285b48b97529bb2879627c8dc739dbb31cf9217aae3f8ca43fb0/devpy-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "97cc1323b32103dafb2df2fc748d131f", "sha256": "e2010653eee1596620f1ab503e8b3fee722e428064285320647c408f886992cf" }, "downloads": -1, "filename": "devpy-0.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "97cc1323b32103dafb2df2fc748d131f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6315, "upload_time": "2017-03-03T19:30:07", "url": "https://files.pythonhosted.org/packages/92/97/07f810687b84031ed39e85b18e5224470779d49d552620205c97103643ee/devpy-0.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3af206b4d8054196c3c6874350074938", "sha256": "58d9abeff7112068315cf62b4fdd7ce869f9ab84ee758528414a29bc1b0f6d9e" }, "downloads": -1, "filename": "devpy-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3af206b4d8054196c3c6874350074938", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4537, "upload_time": "2017-03-03T19:30:06", "url": "https://files.pythonhosted.org/packages/c0/4b/2083cfc95ebd7a35b67b314771db32549190c28e20a91051e474e069c334/devpy-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "6b259846b4db7bc53e6150b1a433a2c4", "sha256": "e10978fb763fd89ba3e373eceac81893ccb2d0765874e80ddeecb0dec59d3f53" }, "downloads": -1, "filename": "devpy-0.1.7-py2-none-any.whl", "has_sig": false, "md5_digest": "6b259846b4db7bc53e6150b1a433a2c4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6999, "upload_time": "2017-03-03T20:03:58", "url": "https://files.pythonhosted.org/packages/91/5e/9e7a174afda66f8cef2675ec88513fe4965ff8254bc84a574fb7665e1361/devpy-0.1.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e91e846c0dc3f948d0ca02b6508d3388", "sha256": "0e508da161fd520c811d87ae92991be3a0f05c38ae2ebdde84137692c91b1fe7" }, "downloads": -1, "filename": "devpy-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e91e846c0dc3f948d0ca02b6508d3388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4977, "upload_time": "2017-03-03T20:03:56", "url": "https://files.pythonhosted.org/packages/53/4b/f1491ef00e0039dd4f688bbac1ff70ad98ee6a01d6a7b27c90c0944af31c/devpy-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6b259846b4db7bc53e6150b1a433a2c4", "sha256": "e10978fb763fd89ba3e373eceac81893ccb2d0765874e80ddeecb0dec59d3f53" }, "downloads": -1, "filename": "devpy-0.1.7-py2-none-any.whl", "has_sig": false, "md5_digest": "6b259846b4db7bc53e6150b1a433a2c4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6999, "upload_time": "2017-03-03T20:03:58", "url": "https://files.pythonhosted.org/packages/91/5e/9e7a174afda66f8cef2675ec88513fe4965ff8254bc84a574fb7665e1361/devpy-0.1.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e91e846c0dc3f948d0ca02b6508d3388", "sha256": "0e508da161fd520c811d87ae92991be3a0f05c38ae2ebdde84137692c91b1fe7" }, "downloads": -1, "filename": "devpy-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e91e846c0dc3f948d0ca02b6508d3388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4977, "upload_time": "2017-03-03T20:03:56", "url": "https://files.pythonhosted.org/packages/53/4b/f1491ef00e0039dd4f688bbac1ff70ad98ee6a01d6a7b27c90c0944af31c/devpy-0.1.7.tar.gz" } ] }