{ "info": { "author": "R\u00e9my Sanchez", "author_email": "remy.sanchez@activkonnect.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: Other/Proprietary License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3 :: Only" ], "description": "Castor\n======\n\nProvides a way to assemble various Git repositories into one. It's like submodules that don't suck.\n\nUse case: stitch together Wordpress with some themes and plugins before deploying.\n\nUsage\n~~~~~\n\nFirst, you need to create your Castor repository. The following command will create an new Git\nrepository containing an empty ``Castorfile`` and a pre-initialized .gitignore.\n\n.. code-block::\n\n castor init my-proj\n\nThen, you need to edit your ``Castorfile``. It might look like\n\nNote\n++++\n\n``post_freeze`` array is optional. It must be an array, each command will be executed\non the ``target`` directory after executing ``castor freeze``.\n\n.. code-block::\n\n {\n \"lodge\": [\n {\n \"target\": \"/\",\n \"version\": \"1.6.1.0\",\n \"repo\": \"https://github.com/PrestaShop/PrestaShop.git\",\n \"type\": \"git\"\n },\n {\n \"target\": \"/themes/my-prestashop-theme\",\n \"version\": \"e0e7c15789e6ff674cd75cb24981155441c3df09\",\n \"repo\": \"git@bitbucket.org:activkonnect/my-prestashop-theme.git\",\n \"type\": \"git\",\n \"post_freeze\": [\n \"composer update --no-dev\"\n ]\n },\n {\n \"target\": \"/.htaccess\",\n \"type\": \"file\",\n \"source\": \"files/htaccess\"\n }\n ]\n }\n\nYour ``Castorfile`` being filled up, you can now apply it\n\n.. code-block::\n\n castor apply\n\nThis will automatically create your repositories hierarchy, checkout submodules, etc. The root of\nthis hierarchy will be the ``lodge`` directory.\n\nIf you want to execute post freeze commands on apply add the ``--exec-post-freeze``\nargument like so :\n\n.. code-block::\n\n castor apply --exec-post-freeze\n\nNow you can freeze your project into a git-free, commitable and deployable tree of source code.\nThis will go into the ``dam`` directory.\n\nIf you want to execute post freeze commands on apply add the ``--exec-post-freeze``\nargument like so :\n\n.. code-block::\n\n castor apply --exec-post-freeze\n\n.. code-block::\n\n castor freeze\n\nYou can use the ``lodge`` as your working directory during development. If you make updates to the\ncode, you can commit in the git repos. If you simply want to update upstream code, check out the new\ntag/commit you want to use. Then you can use ``castor freeze`` again, and it will update the\n``Castorfile`` automatically with the latest Git HEADs, as well as the ``dam`` directory.", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ActivKonnect/castor", "keywords": null, "license": "WTFPL", "maintainer": null, "maintainer_email": null, "name": "castor", "package_url": "https://pypi.org/project/castor/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/castor/", "project_urls": { "Homepage": "https://github.com/ActivKonnect/castor" }, "release_url": "https://pypi.org/project/castor/0.2.3/", "requires_dist": null, "requires_python": null, "summary": "Assemble Git repos into a deployable tree of code.", "version": "0.2.3" }, "last_serial": 1989547, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6e1ae4bd605b0ce6bf662b122abed889", "sha256": "641d5c728a6e7383dad5d6c02b6b0b0d978c741492a2f1e353c8785f73acf334" }, "downloads": -1, "filename": "castor-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6e1ae4bd605b0ce6bf662b122abed889", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6716, "upload_time": "2015-07-11T19:29:28", "url": "https://files.pythonhosted.org/packages/66/62/2fd55dc5afc732b3a756f55e00defa961224f92a0ca839c66efa5fe653da/castor-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c567e0f24c90e1daa2f4d5a4921f52fd", "sha256": "d66d984cb6d35ed42c697c27edb766031434a8b3731620eec361b2767a778132" }, "downloads": -1, "filename": "castor-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c567e0f24c90e1daa2f4d5a4921f52fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6824, "upload_time": "2015-07-11T19:54:47", "url": "https://files.pythonhosted.org/packages/56/94/a2232bce10d1dad8329404ebee2c18966186a8db765e40a82308a135510e/castor-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "449ffd9be68172689383ad484418e116", "sha256": "73a994ed6afa466ee397edd918ac192114c057f22306991c03f9f9acd942d8c1" }, "downloads": -1, "filename": "castor-0.1.2.tar.gz", "has_sig": false, "md5_digest": "449ffd9be68172689383ad484418e116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6874, "upload_time": "2015-07-11T19:57:14", "url": "https://files.pythonhosted.org/packages/99/86/7513ea3d0248525807ef179e1aee98a94f9d62cad93d705a0d35d2311f1c/castor-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2c90700c196c41c88128a87e39565b60", "sha256": "9c3dee5f73bb124f38ee7558725dc91c65e0e48fc2740bbd5dd357b2a5aa869f" }, "downloads": -1, "filename": "castor-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2c90700c196c41c88128a87e39565b60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6835, "upload_time": "2015-07-11T20:04:07", "url": "https://files.pythonhosted.org/packages/b3/7f/02299378e37c25b81e54727dee8cb31db78e0785be537b97dff74d57368f/castor-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4a3a09b6a71bfb92c184f1ec4f75878e", "sha256": "864f6e42b6cc8d6a2dff478d58cb44e063d2554959cdb4ae9fca8721820c0fb6" }, "downloads": -1, "filename": "castor-0.1.4.tar.gz", "has_sig": false, "md5_digest": "4a3a09b6a71bfb92c184f1ec4f75878e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6877, "upload_time": "2015-07-11T20:13:11", "url": "https://files.pythonhosted.org/packages/f0/a8/23f87406eaced566e468388d60cae708f37126d76ad05b3185fa31e4dca2/castor-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "25fa9a65bb6a8bd962f0d90d9c4f9d52", "sha256": "0c5050dece02e7fc29c48810d7db8dcf746e6fd8c6a536fa238847b550f32a0c" }, "downloads": -1, "filename": "castor-0.1.5.tar.gz", "has_sig": false, "md5_digest": "25fa9a65bb6a8bd962f0d90d9c4f9d52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6985, "upload_time": "2015-07-12T12:38:31", "url": "https://files.pythonhosted.org/packages/40/d8/f529120da6d73bcaa6300c4ef540aae2752e248376ae484498053d83f3c7/castor-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0067a63ef61353c7759201ea74721a41", "sha256": "55e7d53397d7b8bacab8fdb006a757d1a629f8ea17fb1e69eba737c6ea9c3fab" }, "downloads": -1, "filename": "castor-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0067a63ef61353c7759201ea74721a41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6993, "upload_time": "2015-09-21T13:18:36", "url": "https://files.pythonhosted.org/packages/ba/30/643683d86e2b1fa505da22d11f5cb9702ca2a7d3789e544d4156415c0143/castor-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6a120738370aa4ffade5d5833fa1bc7d", "sha256": "50effe2e4f949739d8d36a1c62c79bce9b73d0e9e9015ddb8c4bcf5fc8daf829" }, "downloads": -1, "filename": "castor-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6a120738370aa4ffade5d5833fa1bc7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7238, "upload_time": "2015-09-21T13:20:57", "url": "https://files.pythonhosted.org/packages/bf/92/792068e92799bea77259e9a6d46346896db59f2e5d1b3a8c700b6c51cbd7/castor-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "555d5ff687ab99d37c6251845314bfd6", "sha256": "dfc73b9a5234dcecd1c6e64ace8fcbcfa1c27d6bb0fe90caca2a41272c6efb4b" }, "downloads": -1, "filename": "castor-0.2.2.tar.gz", "has_sig": false, "md5_digest": "555d5ff687ab99d37c6251845314bfd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7262, "upload_time": "2015-10-22T10:47:43", "url": "https://files.pythonhosted.org/packages/ff/88/43750c0261cf303b1db3f06c1807ff1f941339b2ea34d9e83e4b67e67519/castor-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ea44d46d50cbbddb046a4c86b43b9300", "sha256": "e337147f9406581008a186f3e692c72adcf50d223189798e81d146de7ba0a1d6" }, "downloads": -1, "filename": "castor-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ea44d46d50cbbddb046a4c86b43b9300", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7446, "upload_time": "2016-03-04T14:13:14", "url": "https://files.pythonhosted.org/packages/7b/9b/c8f9bcaef016286c55c9eec5705c3fc91a602a85fc7325c5ba3951af577d/castor-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ea44d46d50cbbddb046a4c86b43b9300", "sha256": "e337147f9406581008a186f3e692c72adcf50d223189798e81d146de7ba0a1d6" }, "downloads": -1, "filename": "castor-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ea44d46d50cbbddb046a4c86b43b9300", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7446, "upload_time": "2016-03-04T14:13:14", "url": "https://files.pythonhosted.org/packages/7b/9b/c8f9bcaef016286c55c9eec5705c3fc91a602a85fc7325c5ba3951af577d/castor-0.2.3.tar.gz" } ] }