{ "info": { "author": "Dominik \"Socek\" D\u0142ugajczyk", "author_email": "msocek@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Introduction\n============\n\npymk is a script that provides the sam functionality that \"makefile\" does, but\nthe \"makefile\" (mkfile.py) is a python script. Code of mkfile.py is clean, and\nit can do more things (like check all files from all folders and subfolders named\n\"migrations\").\n\nWhy reimplement makefile?\n=========================\nSetting dependency in makefile is not flexible. Supports only \"if file is newear,\nthen rebuild\". Pymk can have in it's dependency whatever python code you want.\nEvent if you want to check something using network.\n\nDocumentation\n=============\nFull documentation can be found here: http://pythonhosted.org/Pymk/\n\nTutorial\n========\nFirst, we need to make an empty \"mkfile.py\". Pymk will try to search for a list\nof taks and will find nothing.\n::\n $ touch mkfile.py\n $ pymk\n Avalible tasks:\n\nNow we need to make simple task. Put this in mkfile.py\n::\n from pymk.task import Task\n\n class task(Task):\n dependencys = []\n def build(cls):\n print 'Hello'\n\nAnd now we can execute\n::\n $ pymk\n Avalible tasks:\n task\n $ pymk task\n * Building 'task'\n Hello\n\nIf you want pymk to run some task by default, just put this line at the end of\nthe mkfile.py\n::\n SETTINGS = {\n 'default task' : task,\n }\n\nAnd run\n::\n $ pymk\n * Building 'task'\n Hello\n\nOk, but now our task are build every time we make it. We need to make a file in\nour script, and point which file we are creating. Out mkfile.py should look like\nthis\n::\n from pymk.task import Task\n from pymk.extra import touch\n\n class task(Task):\n dependencys = []\n\n output_file = 'a.out'\n\n def build(cls):\n touch(cls.output_file)\n\n SETTINGS = {\n 'default task' : task,\n }\n\nAnd then we execute\n::\n $ pymk\n * Building 'task'\n $ pymk\n * 'task' is up to date\n $ ls a.out\n a.out\n\nAnd now we start playing. We need some dependency. Here's the file\n::\n from pymk.task import Task\n from pymk.dependency import FileChanged\n\n class task(Task):\n output_file = 'a.out'\n\n dependencys = [\n FileChanged('b.out'),\n ]\n\n def build(cls):\n fp = open(cls.output_file, 'a')\n fp.write('bulded!\\n')\n fp.close()\n\n SETTINGS = {\n 'default task' : task,\n }\n\nWe can now try:\n::\n $ pymk\n Could not create file b.out\n $ ls\n mkfile.py mkfile.pyc\n\nBut this will not work becouse of absance of b.out file. So we will create it\nand try again.\n::\n $ touch b.out\n $ pymk\n * Building 'task'\n $ ls\n a.out b.out mkfile.py mkfile.pyc\n $ pymk\n * 'task' is up to date\n $ touch b.out\n $ pymk\n * Building 'task'\n\nAs we can see, a.out will be created when b.out will be changed. This dependency\nis implemented for files that can changed by external programs (or programmers).\nIf we need a task depedency, like \"if task changed, rebuild me\" we can make something\nlike that\n::\n from pymk.task import Task\n\n class secon_task(Task):\n output_file = 'b.out'\n\n dependencys = []\n\n def build(cls):\n fp = open(cls.output_file, 'a')\n fp.write('bulded!\\n')\n fp.close()\n\n class task(Task):\n output_file = 'a.out'\n\n dependencys = [\n secon_task.dependency_FileChanged(),\n ]\n\n def build(cls):\n fp = open(cls.output_file, 'a')\n fp.write('bulded!\\n')\n fp.close()\n\n SETTINGS = {\n 'default task' : task,\n }\n\nAnd new can run this:\n::\n $ rm *.out # if something was left before\n $ pymk\n * Building 'secon_task'\n * Building 'task'\n $ pymk\n * 'task' is up to date\n $ touch b.out\n $ pymk\n * Building 'task'\n", "description_content_type": null, "docs_url": "https://pythonhosted.org/Pymk/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "Pymk", "package_url": "https://pypi.org/project/Pymk/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Pymk/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/Pymk/0.4.1/", "requires_dist": null, "requires_python": null, "summary": "Make like program, which reads python script as makefile.", "version": "0.4.1" }, "last_serial": 947857, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "a5daa51203c0e2ce7511598522eda9c3", "sha256": "962ddaf41b4df2a62ce36c26e90924b062fc0312da7a58ff5492a2dd6043ad22" }, "downloads": -1, "filename": "Pymk-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "a5daa51203c0e2ce7511598522eda9c3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 26230, "upload_time": "2012-12-18T10:15:34", "url": "https://files.pythonhosted.org/packages/67/df/4b9d51b11d34f6e3444c708c7e1c357f7442e95ae53ea0ac2f5e93296876/Pymk-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "9f0c0fe858286931fa524cb7e6298199", "sha256": "d7d4bd8720ad512afd0eca3b2772719d93795c606ba1a4f4130c2756c12f105a" }, "downloads": -1, "filename": "Pymk-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9f0c0fe858286931fa524cb7e6298199", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8299, "upload_time": "2012-12-18T10:15:32", "url": "https://files.pythonhosted.org/packages/19/0c/02d4a5ad82aa62c00758340fcaab3b1bc543dd7aaa32e3afeda09fb3521b/Pymk-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8c0639913bb1958060115cfdcc6635e5", "sha256": "2e78e4f89140b8ff8125982e030f80a19b64eff8b3f3ae18d443ce3e69788f44" }, "downloads": -1, "filename": "Pymk-0.1.3-py2.7.egg", "has_sig": false, "md5_digest": "8c0639913bb1958060115cfdcc6635e5", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27142, "upload_time": "2012-12-18T13:49:34", "url": "https://files.pythonhosted.org/packages/40/e2/e63a11b1bdbc347c8f6bc6345ce609a0d4f0d2427233a8095c82e4629203/Pymk-0.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ad7705bec1ad9bcaca8713f2af9be45e", "sha256": "feb251d60689b1e396c606fbdaaf6b75a3660d6a8d0186b90b4570f7ece5ca51" }, "downloads": -1, "filename": "Pymk-0.1.3.tar.gz", "has_sig": false, "md5_digest": "ad7705bec1ad9bcaca8713f2af9be45e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8596, "upload_time": "2012-12-18T13:49:33", "url": "https://files.pythonhosted.org/packages/cf/04/912e1d598e82eb8a45388e775ee72587d056b79a33d425cea499c4dbfe38/Pymk-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6237ee846f74453fe78f33b9e158f51a", "sha256": "4eb5fac8291b64b49137b3a96a1a31dd44f3bd05fee54dea5925c86322664859" }, "downloads": -1, "filename": "Pymk-0.1.4-py2.7.egg", "has_sig": false, "md5_digest": "6237ee846f74453fe78f33b9e158f51a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27265, "upload_time": "2013-01-02T11:48:49", "url": "https://files.pythonhosted.org/packages/54/ba/4bb8da1306fc5adf285c503c466835ecc6af086029360ab2a5513fa3ee30/Pymk-0.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "bed4364cf2e4f0e944f32467c8e3c21c", "sha256": "6610dc40dd48f132043232e2ff402b3fd5b5650a675a70d65dc26d302c0ee043" }, "downloads": -1, "filename": "Pymk-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bed4364cf2e4f0e944f32467c8e3c21c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8647, "upload_time": "2012-12-26T11:56:32", "url": "https://files.pythonhosted.org/packages/50/87/5367e38d83a912f6d1192dcca0022ca02bab1b2a6267fc5bbdfe6a45a557/Pymk-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c8ca53c43fea3a7a7b1b2b6172f2eb5d", "sha256": "698ea6e72fc39901edca715808c27927efb2b88d9bded23a776e060349758946" }, "downloads": -1, "filename": "Pymk-0.2.0-py2.7.egg", "has_sig": false, "md5_digest": "c8ca53c43fea3a7a7b1b2b6172f2eb5d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 34970, "upload_time": "2013-03-06T06:23:56", "url": "https://files.pythonhosted.org/packages/89/22/f649fcda3fb6203ab4acc921a5f28bae51dd2343c6c6929fcf9256585102/Pymk-0.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8f96ae96fc563ea3564b101efe761449", "sha256": "b764e0e046e663f90004885d61f04e2d50dc8d8869d3deca79e0d7ff51eace52" }, "downloads": -1, "filename": "Pymk-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8f96ae96fc563ea3564b101efe761449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10978, "upload_time": "2013-03-06T06:29:44", "url": "https://files.pythonhosted.org/packages/ad/24/6ac8f7725b04d9a74a25726af2377e8096766264f4b2099cd9df587e9623/Pymk-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1c8e144938371c5220e933bbd84ff882", "sha256": "a16299b5fd54a7b5acb3d929083e1be942fdd50467937c5130b157e3cb201af5" }, "downloads": -1, "filename": "Pymk-0.2.1-py2.7.egg", "has_sig": false, "md5_digest": "1c8e144938371c5220e933bbd84ff882", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 36774, "upload_time": "2013-03-14T20:20:53", "url": "https://files.pythonhosted.org/packages/85/73/62445a5317dae2d54d3f43b1e2f7c882fe748bf17cc3c6b2ad93ab984eeb/Pymk-0.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f51ff70b8ec066fe89e0e2560d41d837", "sha256": "a7c8e1e351b43a9861e96a7065ba1ebdf7e01ee98f11971336820138c2d939c7" }, "downloads": -1, "filename": "Pymk-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f51ff70b8ec066fe89e0e2560d41d837", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11094, "upload_time": "2013-03-14T20:19:23", "url": "https://files.pythonhosted.org/packages/92/4b/d085c3efb69d7fcddb1aa01c002f914b4704bfee13a9f0387b2085bb7dc9/Pymk-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d547632e09eff316110e9f4e7202c85d", "sha256": "6bbc9ae9868b1c31d8d8970b8aca9715c86fb1a6e9852802c0ed290701007638" }, "downloads": -1, "filename": "Pymk-0.3.0-py2.7.egg", "has_sig": false, "md5_digest": "d547632e09eff316110e9f4e7202c85d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 42111, "upload_time": "2013-04-15T18:13:32", "url": "https://files.pythonhosted.org/packages/f3/bb/1f5ac9735433b11e5b644ceb951fde3753930d050fa3b66f43859481ac05/Pymk-0.3.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ff17419eb2400f6b1000a895083b0d18", "sha256": "7dc5dda6004941cfec463266737f7a50dc53eec4aa05af709648fe424048b4dc" }, "downloads": -1, "filename": "Pymk-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ff17419eb2400f6b1000a895083b0d18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12513, "upload_time": "2013-04-15T18:12:48", "url": "https://files.pythonhosted.org/packages/13/0c/a8662a0a498a16166d09f149d38cc82973e64a5a4e254ff388458dfea8f9/Pymk-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "8a8c3e6f59ccab82c8c6a4d087dcd204", "sha256": "1fd2a613e920086692228f7ddb37f27974a9059ff27dddc5d2c8297c4762a5bb" }, "downloads": -1, "filename": "Pymk-0.3.1-py2.7.egg", "has_sig": false, "md5_digest": "8a8c3e6f59ccab82c8c6a4d087dcd204", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 42690, "upload_time": "2013-04-24T12:19:30", "url": "https://files.pythonhosted.org/packages/a0/73/6521c73764543feb06bf01fcdfdf401a883a795978a0c78fdcb854a068dc/Pymk-0.3.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "92deca7210cbf12eadb5151906edb890", "sha256": "26b138331752cd612b49e460331402276a9ef225977f7b3b6b9f2d1bcf559786" }, "downloads": -1, "filename": "Pymk-0.3.1.tar.gz", "has_sig": false, "md5_digest": "92deca7210cbf12eadb5151906edb890", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12668, "upload_time": "2013-04-24T12:19:59", "url": "https://files.pythonhosted.org/packages/db/c1/1bb28b2aedca927c1a909cb4a09e9d98715d1b15488389ad04d5fc8f1cc0/Pymk-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b4ef670c89a5cd9eda11d91f680afe94", "sha256": "8c6ae4f4ddac7d7b2e6077fb9b342493c669c8ebdf217019fc0d97484dab0823" }, "downloads": -1, "filename": "Pymk-0.4.0-py2.7.egg", "has_sig": false, "md5_digest": "b4ef670c89a5cd9eda11d91f680afe94", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 72908, "upload_time": "2013-12-18T06:27:54", "url": "https://files.pythonhosted.org/packages/4a/13/02b911ec6c3369732c673b7e5012f3da8743fffad2480b814fc2b0ee3e0f/Pymk-0.4.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "3c1bd39ddd4b48e4bf4771a737045357", "sha256": "989181373cc94c9756d73658dfb64e8a6a4822d8796be4f7b10f36c0144f4b63" }, "downloads": -1, "filename": "Pymk-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3c1bd39ddd4b48e4bf4771a737045357", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20587, "upload_time": "2013-12-18T06:27:24", "url": "https://files.pythonhosted.org/packages/f0/6e/ad7bd70f32905c9a6a07198b448052fc6e327a08a5dad42d15d85da7c7f6/Pymk-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c25748cd89e1efa223415fe1154a8eb3", "sha256": "f238d7473242a5be08c060697cd4da2faf1ff455600bb8fd44f0cec800e99835" }, "downloads": -1, "filename": "Pymk-0.4.1-py2.7.egg", "has_sig": false, "md5_digest": "c25748cd89e1efa223415fe1154a8eb3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 73226, "upload_time": "2013-12-18T14:45:30", "url": "https://files.pythonhosted.org/packages/c8/d0/0392ad1f1740b70f8ad0f06c489bd7bbed75ce2e161c72ea806f9571a42e/Pymk-0.4.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "00aead1a46e52100530ded11e2bfc98c", "sha256": "2e235efb08036ddf11fe40dfb0d234b6b33aa831785baa593076c687ad441134" }, "downloads": -1, "filename": "Pymk-0.4.1.tar.gz", "has_sig": false, "md5_digest": "00aead1a46e52100530ded11e2bfc98c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20727, "upload_time": "2013-12-18T14:45:09", "url": "https://files.pythonhosted.org/packages/c7/19/befcc0dbb37b51cd3748893ed6649ace22849bd182d79cbe768b6ebd3ffa/Pymk-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c25748cd89e1efa223415fe1154a8eb3", "sha256": "f238d7473242a5be08c060697cd4da2faf1ff455600bb8fd44f0cec800e99835" }, "downloads": -1, "filename": "Pymk-0.4.1-py2.7.egg", "has_sig": false, "md5_digest": "c25748cd89e1efa223415fe1154a8eb3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 73226, "upload_time": "2013-12-18T14:45:30", "url": "https://files.pythonhosted.org/packages/c8/d0/0392ad1f1740b70f8ad0f06c489bd7bbed75ce2e161c72ea806f9571a42e/Pymk-0.4.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "00aead1a46e52100530ded11e2bfc98c", "sha256": "2e235efb08036ddf11fe40dfb0d234b6b33aa831785baa593076c687ad441134" }, "downloads": -1, "filename": "Pymk-0.4.1.tar.gz", "has_sig": false, "md5_digest": "00aead1a46e52100530ded11e2bfc98c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20727, "upload_time": "2013-12-18T14:45:09", "url": "https://files.pythonhosted.org/packages/c7/19/befcc0dbb37b51cd3748893ed6649ace22849bd182d79cbe768b6ebd3ffa/Pymk-0.4.1.tar.gz" } ] }