{ "info": { "author": "Daniel Mentiplay", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "Phantom build\n=============\n\n> phantom-build is designed to make building Phantom easier.\n\nThe main aim is to have reproducible [Phantom](https://phantomsph.bitbucket.io/) builds for writing reproducible papers.\n\n[![Build Status](https://travis-ci.org/dmentipl/phantom-build.svg?branch=master)](https://travis-ci.org/dmentipl/phantom-build)\n[![Coverage Status](https://coveralls.io/repos/github/dmentipl/phantom-build/badge.svg?branch=master)](https://coveralls.io/github/dmentipl/phantom-build?branch=master)\n[![PyPI](https://img.shields.io/pypi/v/phantombuild)](https://pypi.org/project/phantombuild/)\n\nInstall\n-------\n\nInstall phantom-build with pip\n\n```bash\npip install phantombuild\n```\n\nUsage\n-----\n\nImport phantom-build\n\n```python\n>>> import phantombuild\n```\n\nphantom-build has four main functions:\n\n- `get_phantom` is used to clone Phantom from the [bitbucket repository](https://bitbucket.org/danielprice/phantom), or to check if it is already cloned.\n- `checkout_phantom_version` is used to check out a particular Phantom version based on a git commit hash.\n- `patch_phantom` is used to apply patches.\n- `build_phantom` is for compiling Phantom with particular Makefile options.\n\nExamples\n--------\n\n### A reproducible Phantom paper\n\nSay you want to have a reproducible Phantom build for a paper. You want to work from a particular version of Phantom, and you need to apply patches to that version.\n\n1. First, clone Phantom.\n\n ```python\n # Clone Phantom\n phantom_dir = pathlib.Path('~/repos/phantom').expanduser()\n phantombuild.get_phantom(phantom_dir=phantom_dir)\n ```\n\n2. Now, check out a particular version of Phantom based on the git commit hash.\n\n ```python\n # Checkout particular commit\n required_phantom_git_commit_hash = '6666c55feea1887b2fd8bb87fbe3c2878ba54ed7'\n phantombuild.checkout_phantom_version(\n phantom_dir=phantom_dir,\n required_phantom_git_commit_hash=required_phantom_git_commit_hash,\n )\n ```\n\n3. Then, apply your patch.\n\n ```python\n # Apply patch\n phantom_patch = pathlib.Path('my-phantom.patch')\n phantombuild.patch_phantom(\n phantom_dir=phantom_dir,\n phantom_patch=phantom_patch,\n )\n ```\n\n4. Now, build Phantom with particular Makefile options.\n\n ```python\n # Makefile options\n setup = 'dustybox'\n system = 'gfortran'\n extra_makefile_options = {'MAXP': '10000000'}\n hdf5_location = pathlib.Path('/usr/local/opt/hdf5')\n\n # Compile Phantom\n phantombuild.build_phantom(\n phantom_dir=phantom_dir,\n setup=setup,\n system=system,\n hdf5_location=hdf5_location,\n extra_makefile_options=extra_makefile_options,\n )\n ```\n\nYou can write the above into a script included with the git repository of the paper to help make your paper reproducible. Of course, you also need to include all the Phantom `.in` and `.setup` files. For managing those files, see [phantom-config](https://github.com/dmentipl/phantom-config). For setting up Phantom simulations, see [phantom-setup](https://github.com/dmentipl/phantom-setup).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/dmentipl/phantom-build", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "phantombuild", "package_url": "https://pypi.org/project/phantombuild/", "platform": "", "project_url": "https://pypi.org/project/phantombuild/", "project_urls": { "Homepage": "http://github.com/dmentipl/phantom-build" }, "release_url": "https://pypi.org/project/phantombuild/0.1.4/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Phantom build", "version": "0.1.4" }, "last_serial": 5876583, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b535f1ff53d461787e95a411ef950ba1", "sha256": "a74213166485f9cdc9ae050136aab57a5b1b0ba811957c007a51a16668f62e15" }, "downloads": -1, "filename": "phantombuild-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b535f1ff53d461787e95a411ef950ba1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4886, "upload_time": "2019-08-27T00:34:37", "url": "https://files.pythonhosted.org/packages/58/9c/d041b3389eee9024d7f6a921c5d192a56ccde825b9b2f8f2fb148c79f330/phantombuild-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a57a60fb31b72daef4dd0ee21d68e51", "sha256": "691e0d59bf6f2508418091b9163080d24ba0aa62c2cfdeace482bb14a4f2e64a" }, "downloads": -1, "filename": "phantombuild-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3a57a60fb31b72daef4dd0ee21d68e51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4328, "upload_time": "2019-08-27T00:34:39", "url": "https://files.pythonhosted.org/packages/fc/bd/21ef41e4414ee9086de344b6f1aa773233ef24614f05bfb686df51eba972/phantombuild-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "297e9d9196a66c5cf96bb7ca94db1359", "sha256": "4763303d3a0414eca2bc74cc4ca010bb4d4b34d73f02b778d06d8ec6e461ff82" }, "downloads": -1, "filename": "phantombuild-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "297e9d9196a66c5cf96bb7ca94db1359", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4952, "upload_time": "2019-08-27T01:48:12", "url": "https://files.pythonhosted.org/packages/c4/08/3c277a55823310284b5a2bfd3d2a68e2918800b9a868e845178b5d2f02d4/phantombuild-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f7da4494ae50cd80dbfba6a15968793", "sha256": "7d5952cf1d838b88c46cf20dcde1aa5d9feb6df6606c6cdc8c9fadda4047d8a4" }, "downloads": -1, "filename": "phantombuild-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2f7da4494ae50cd80dbfba6a15968793", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4393, "upload_time": "2019-08-27T01:48:13", "url": "https://files.pythonhosted.org/packages/e9/57/5ddf3b61816502f16e639b41c9d2d8a4f04f48c2a363fcc4540271cd1bb3/phantombuild-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c7b71f367086973f9643b7e7ced47e6b", "sha256": "569f0a7520a73503f09aff0d04eeb59457177ea18de4266758d13b18a3819331" }, "downloads": -1, "filename": "phantombuild-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c7b71f367086973f9643b7e7ced47e6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4951, "upload_time": "2019-08-28T00:31:45", "url": "https://files.pythonhosted.org/packages/96/48/edc8e60837bfaaef007bb7b57f487741dedf38124ccbda89464567c3301c/phantombuild-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cfd0ba9d8c5ec9f1cb37f76b67df4bf", "sha256": "537edf1d0af5e83c89549ec20abe613cd649deffcc543756bf510182faf9a78f" }, "downloads": -1, "filename": "phantombuild-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5cfd0ba9d8c5ec9f1cb37f76b67df4bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4397, "upload_time": "2019-08-28T00:31:46", "url": "https://files.pythonhosted.org/packages/f7/21/ae5451c3d13143f695a0c63e9c6b9dab21e6e8af393bba71095c44b70fee/phantombuild-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c7afd018423eda74874a657fdb86ec7f", "sha256": "9d844f4fcc4648c356373f573f57dce3b1d54b5805faa9884de20f195441598c" }, "downloads": -1, "filename": "phantombuild-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c7afd018423eda74874a657fdb86ec7f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4964, "upload_time": "2019-08-28T01:31:53", "url": "https://files.pythonhosted.org/packages/da/19/340a05b3b5c61522a95d0b94a5fb5896c053a3573ff851cbb09e5884be98/phantombuild-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cba0f30b7f076ebbd71d27237c607742", "sha256": "4fa15867f56e1aac83b80c644c9cf9a77abe3a731b73492a414e73527209a9dd" }, "downloads": -1, "filename": "phantombuild-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cba0f30b7f076ebbd71d27237c607742", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4407, "upload_time": "2019-08-28T01:31:54", "url": "https://files.pythonhosted.org/packages/f7/51/70b575afe7c04e08781cff247e89d0580e2c770f3b3d585cbe17b65e75cb/phantombuild-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8b3d1a0fa81c75305dc84c10b59a1905", "sha256": "5e31b67a03ac4fdafa5ff0d2f75594518249b11b2378183d0506f78df8d2feb6" }, "downloads": -1, "filename": "phantombuild-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8b3d1a0fa81c75305dc84c10b59a1905", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5741, "upload_time": "2019-09-23T23:24:44", "url": "https://files.pythonhosted.org/packages/21/c0/34f69a397e64d088dcbbe9cd01b393fdf6820e4b83a8300bb54abdb70d69/phantombuild-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "256a829c6fd51310833671ffc5836df0", "sha256": "6c14e10233c0ec89de73ad5425923e5898b5a6c6d3457eaadf28eff36695cfbd" }, "downloads": -1, "filename": "phantombuild-0.1.4.tar.gz", "has_sig": false, "md5_digest": "256a829c6fd51310833671ffc5836df0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5191, "upload_time": "2019-09-23T23:24:49", "url": "https://files.pythonhosted.org/packages/94/54/d24443f46d85fcb3404b7de145b078d76766172652a1f542856983581a05/phantombuild-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8b3d1a0fa81c75305dc84c10b59a1905", "sha256": "5e31b67a03ac4fdafa5ff0d2f75594518249b11b2378183d0506f78df8d2feb6" }, "downloads": -1, "filename": "phantombuild-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8b3d1a0fa81c75305dc84c10b59a1905", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5741, "upload_time": "2019-09-23T23:24:44", "url": "https://files.pythonhosted.org/packages/21/c0/34f69a397e64d088dcbbe9cd01b393fdf6820e4b83a8300bb54abdb70d69/phantombuild-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "256a829c6fd51310833671ffc5836df0", "sha256": "6c14e10233c0ec89de73ad5425923e5898b5a6c6d3457eaadf28eff36695cfbd" }, "downloads": -1, "filename": "phantombuild-0.1.4.tar.gz", "has_sig": false, "md5_digest": "256a829c6fd51310833671ffc5836df0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5191, "upload_time": "2019-09-23T23:24:49", "url": "https://files.pythonhosted.org/packages/94/54/d24443f46d85fcb3404b7de145b078d76766172652a1f542856983581a05/phantombuild-0.1.4.tar.gz" } ] }