{ "info": { "author": "Chris AtLee", "author_email": "catlee@mozilla.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Utilities" ], "description": "========\nOverview\n========\n\n\n\nPackage for handling Mozilla Archive files. MAR file format is documented at https://wiki.mozilla.org/Software_Update:MAR\n\n* Free software: MPL 2.0 license\n\nUsage\n=====\n\nTo list the contents of a mar::\n\n mar -t complete.mar\n\nTo list the contents of a mar with extra detail::\n\n mar -T complete.mar\n\nTo extract a mar::\n\n mar -x complete.mar\n\nTo extract, and uncompress a bz2 compressed mar::\n\n mar -j -x complete.mar\n\nTo verify a mar::\n\n mar -k :mozilla-nightly -v complete.mar\n\nTo create a mar, using bz2 compression::\n\n mar -j -c complete.mar *\n\nTo create a mar, using xz compression::\n\n mar -J -c complete.mar *\n\nTo create a signed mar::\n\n mar -J -c complete.mar -k private.key -H nightly -V 123 tests\n\nInstallation\n============\n\n::\n\n pip install mar\n\nDocumentation\n=============\n\nhttps://mar.readthedocs.io/en/latest/\n\nDevelopment\n===========\n\nTo run the all tests run::\n\n tox\n\nChangelog\n=========\n3.1.0 (2019-02-19)\n------------------\n* Added new autograph stage public key\n* Dropped python3.5 support\n\n3.0.0 (2018-09-06)\n------------------\n* Support extracting mar hash for external signing, and injecting signatures\n into unsigned files.\n* File modes are set on extraction\n* `mar -v` can now verify that unsigned mar files are well formed\n* Added helper productinfo property to MarReader to allow convenient access to\n the product information information\n* Internal signing API changed:\n * Got rid of Verifier/Signer classes\n* Internal API for the mar format changed:\n * offets added for the beginning and end of signature and additional blocks\n * correctly represent additional section padding\n* Support MAR files without additional sections\n\n2.3.0 (2018-07-23)\n------------------\n* Remove deprecated usage of signature generation and verification in\n cryptography library. This changes the type of object returned by the\n make_signer and make_verifier functions.\n\n2.2.3 (2018-01-18)\n------------------\n* Update dependencies; dependencies are now also pinned in setup.py\n* Correct the key size in exception messages\n* Fix for construct 2.8.22 and higher\n* Fix for hypothesis 3.44.16\n\n2.2.2 (2017-07-06)\n-----------------------------------------\n* Fix bug when writing MAR files: the index size was incorrect\n* Support writing interable streams\n* Add new Mozilla SHA384 public keys\n\n2.2.1 (2017-08-23)\n-----------------------------------------\n* Output compression and signature type\n\n2.1.0 (2017-06-28)\n-----------------------------------------\n* Implement XZ compression\n\n2.0.0 (2017-01-12)\n-----------------------------------------\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mozilla/build-mar", "keywords": "mozilla,mar,archive", "license": "MPL 2.0", "maintainer": "", "maintainer_email": "", "name": "mar", "package_url": "https://pypi.org/project/mar/", "platform": "", "project_url": "https://pypi.org/project/mar/", "project_urls": { "Homepage": "https://github.com/mozilla/build-mar" }, "release_url": "https://pypi.org/project/mar/3.1.0/", "requires_dist": [ "asn1crypto", "backports.lzma", "click", "construct", "cryptography" ], "requires_python": "", "summary": "Package for handling Mozilla Archive files.", "version": "3.1.0" }, "last_serial": 4843274, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "8247e49f613891ee6b290ac39cdf235d", "sha256": "03bbba388ecf69cdd9bd4a76fcf3e51b969fb47e28f884ca6eef6df908b42c74" }, "downloads": -1, "filename": "mar-1.0.tar.gz", "has_sig": false, "md5_digest": "8247e49f613891ee6b290ac39cdf235d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10974, "upload_time": "2014-12-24T23:41:30", "url": "https://files.pythonhosted.org/packages/7a/09/3d7e5eb6d459b7dea5e4daf46aa1f90f74d5611885917dbc71725854efd7/mar-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f20de0d1f50a62df002850e5e27073e7", "sha256": "6f4813a1fcfc692d4b0323ea07f0d1400673bd033a0b2ec770527b69b437f666" }, "downloads": -1, "filename": "mar-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f20de0d1f50a62df002850e5e27073e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10990, "upload_time": "2014-12-26T16:25:56", "url": "https://files.pythonhosted.org/packages/0f/bb/7d3e6eab3252391745ca96a74e3e0a7551d41af45eb872d9c6d96ced07ad/mar-1.0.1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "3a2d03466221000e671ada7ea9a1ca71", "sha256": "60b298b197ec813e29429e6fd4f12c4309e2178ddc08971b3f99bc7c5f2d9e42" }, "downloads": -1, "filename": "mar-1.1.tar.gz", "has_sig": false, "md5_digest": "3a2d03466221000e671ada7ea9a1ca71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11226, "upload_time": "2015-01-17T17:20:27", "url": "https://files.pythonhosted.org/packages/c4/d4/d8f4ae383ed3d44f3e2bd60dcdf1888593779ae275a2179fcf7c3735c51e/mar-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "9548432e1cd923a2ec454cc97a4731a0", "sha256": "e51c23b2997aaca386eea845e1621db038b92eb93c9bae0499c2ce9ef051b057" }, "downloads": -1, "filename": "mar-1.2.tar.gz", "has_sig": false, "md5_digest": "9548432e1cd923a2ec454cc97a4731a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12182, "upload_time": "2015-01-20T21:54:22", "url": "https://files.pythonhosted.org/packages/b5/20/f1dfe37c8965228d368b0846ada0fcab83b38d813d5cd21f1a787357494b/mar-1.2.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "554f37ab146a140067fbfd4b4a8413be", "sha256": "9fea3bc2f5b3bfa50cec75b2955de1729f74fde1dd0332ee2f9e11d88b530e80" }, "downloads": -1, "filename": "mar-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "554f37ab146a140067fbfd4b4a8413be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17971, "upload_time": "2017-03-23T16:26:47", "url": "https://files.pythonhosted.org/packages/65/4f/93627a25898edbb689a3976b75cca8bd09d761503fb234d22662fef5ac7a/mar-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "046237183125004ed8dbd13bbdddcbd7", "sha256": "0b31bd7a93218d0c910907cd3d962b5f98dc0df3e5ebd91eea428a47dd5e9b46" }, "downloads": -1, "filename": "mar-2.0.tar.gz", "has_sig": false, "md5_digest": "046237183125004ed8dbd13bbdddcbd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35519, "upload_time": "2017-03-23T16:26:48", "url": "https://files.pythonhosted.org/packages/1e/e0/71fe11287f67313a62c0ffd5c53efaf4fbfc8dc9bfabd5c51374de6070ac/mar-2.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "ec0ceed0247e4d260ad6f2009f9ef7d9", "sha256": "6efa4b3a909d060e6a9ae90c37ce60ecf690997395aa408f360d5b5eaa17667c" }, "downloads": -1, "filename": "mar-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ec0ceed0247e4d260ad6f2009f9ef7d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18999, "upload_time": "2017-07-31T20:49:27", "url": "https://files.pythonhosted.org/packages/30/20/5c42507cca4fa406c0b6f49879dabc6aebabe420d32ebf17abd74beb8537/mar-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39e21482554240995801d769140922d2", "sha256": "fc33c43f2ebdfa33d369dcc9de9debd6f192c7de23455e5e94c88a094a88befe" }, "downloads": -1, "filename": "mar-2.1.1.tar.gz", "has_sig": false, "md5_digest": "39e21482554240995801d769140922d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37301, "upload_time": "2017-07-31T20:49:29", "url": "https://files.pythonhosted.org/packages/54/ed/2b361d039954fe66decdf74be56e83a18a65674911c50d8602052b59c8f7/mar-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "01987b994a869c1f426a427758263bde", "sha256": "570ceaf2ba66ce0366fa082e181bde906bdf84f8760394b8d7a108a2aa1c6fc1" }, "downloads": -1, "filename": "mar-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "01987b994a869c1f426a427758263bde", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19016, "upload_time": "2017-08-01T17:31:53", "url": "https://files.pythonhosted.org/packages/bb/a2/f5679a6459fdaf6f2dd0a5fe48030cb56bc3abb2ab824b970b885ae5df1a/mar-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d42cfa4308c5cb82aff29479e17836a5", "sha256": "85048fdf53cb69d55e1ebe3488d93650d77945a183150ddfad5b251b3749f8d3" }, "downloads": -1, "filename": "mar-2.1.2.tar.gz", "has_sig": false, "md5_digest": "d42cfa4308c5cb82aff29479e17836a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37313, "upload_time": "2017-08-01T17:31:54", "url": "https://files.pythonhosted.org/packages/8d/20/28ffdb315aa4d8dccf3a86312276a91984d8404f7e10d84d7d3c2cb680ad/mar-2.1.2.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "ed5e37728900b74af9b04cb174a7fe2f", "sha256": "c3c50b5d24a06fef356508fc58108980e66381b29147b96a7ec86045afb37f99" }, "downloads": -1, "filename": "mar-2.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ed5e37728900b74af9b04cb174a7fe2f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22593, "upload_time": "2017-09-06T20:02:44", "url": "https://files.pythonhosted.org/packages/bb/3d/16f91121290c51eaa57a4273bd3fe9b0773b7ea171268e5cf435a247ca6e/mar-2.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a6582499ed0223e5b1d04547b86469a", "sha256": "6b10fdd6e1b71d90786762e40c28aed151e7230bace0e1fc361f9fe3f09f18e7" }, "downloads": -1, "filename": "mar-2.2.2.tar.gz", "has_sig": false, "md5_digest": "9a6582499ed0223e5b1d04547b86469a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42951, "upload_time": "2017-09-06T20:02:46", "url": "https://files.pythonhosted.org/packages/c9/aa/b3f7ce2b2418a8e59e2a5cbef1cad5c90ff37f254d59fd69d32d3e517e9b/mar-2.2.2.tar.gz" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "1a514e2479ffd3dfdfe5c7414ec1bc63", "sha256": "0d4a3c1fe6a201f0bb756b1d53c66203952f61df41db34df561667c7515e51d4" }, "downloads": -1, "filename": "mar-2.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a514e2479ffd3dfdfe5c7414ec1bc63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23101, "upload_time": "2018-01-18T19:17:19", "url": "https://files.pythonhosted.org/packages/3c/07/a4e1623c6d387074dff558f201382577e2c3581628550f3d0a316c7071d8/mar-2.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69568501bc68d79aa6dbf1a9cdf6ddde", "sha256": "ad5fd85047254f6c4d8a54d593fe4b4c345ef2139b25e1a78ebca81fbd39eaf0" }, "downloads": -1, "filename": "mar-2.2.3.tar.gz", "has_sig": false, "md5_digest": "69568501bc68d79aa6dbf1a9cdf6ddde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42854, "upload_time": "2018-01-18T19:17:21", "url": "https://files.pythonhosted.org/packages/fc/2c/54f4e8962a376468391647ddbfa2ecaae9799b9052413a449032d4e91b99/mar-2.2.3.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "f5b001fc0aa6d13c2dabd2298183e953", "sha256": "f81306bc55fb31ec06c93a1383e40198952781deacda67068a4a73e904971128" }, "downloads": -1, "filename": "mar-2.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5b001fc0aa6d13c2dabd2298183e953", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22129, "upload_time": "2018-07-23T21:16:00", "url": "https://files.pythonhosted.org/packages/36/e8/f8fc676c9083813428913c7b425163793e7f3ec76e62daf9d85a2a67b4a8/mar-2.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72e4b9fab5d5441a9c28595c25e4f082", "sha256": "1e7b2fbd0714d90587caabe156a63baf73462fca7622b12784559b5a38993695" }, "downloads": -1, "filename": "mar-2.3.0.tar.gz", "has_sig": false, "md5_digest": "72e4b9fab5d5441a9c28595c25e4f082", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44898, "upload_time": "2018-07-23T21:16:01", "url": "https://files.pythonhosted.org/packages/38/63/7f57434251f00c3d2c49d12a89223b66dbc9ce9f50f73fdad024315c9f39/mar-2.3.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "5d3dd368813db6b776e4ea2e119ecfb7", "sha256": "516f840c63bf6769b76f928d0823c07ef9a836e8c2e988dd05eba92fc26e78ab" }, "downloads": -1, "filename": "mar-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d3dd368813db6b776e4ea2e119ecfb7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24258, "upload_time": "2018-09-07T20:01:07", "url": "https://files.pythonhosted.org/packages/ad/68/fad1d3f84f4490eeb9db3293afd415cb8277045af94e280431c218628091/mar-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9320238f694ef0fed8a8dc051a611ee0", "sha256": "9699bd97eede5e289b16d174fa12b51977c89cd673ead5d44ff89d6d27f3ea58" }, "downloads": -1, "filename": "mar-3.0.0.tar.gz", "has_sig": false, "md5_digest": "9320238f694ef0fed8a8dc051a611ee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49960, "upload_time": "2018-09-07T20:01:08", "url": "https://files.pythonhosted.org/packages/e0/9c/a27c21b777136a2a9966d38222414376cafce8ad15aeca5a4a86d04d296f/mar-3.0.0.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "3360c4183cb9e3ed1904383d696aca2d", "sha256": "5d2904a063f0da625e37515fa9eb340082e69fa1c00fdbeb82d28b7ff3c51e28" }, "downloads": -1, "filename": "mar-3.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3360c4183cb9e3ed1904383d696aca2d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30589, "upload_time": "2019-02-20T01:29:12", "url": "https://files.pythonhosted.org/packages/ef/2d/1ec49771a000cc3ca091aa60fd551b8e47e77f8967367ca384bfb34bd811/mar-3.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6799974d535e761bdf85afc26b8c47ea", "sha256": "1939df482f2d3f6221405da00d6286d77d2dd60d372a0fd37532a8f00544f64f" }, "downloads": -1, "filename": "mar-3.1.0.tar.gz", "has_sig": false, "md5_digest": "6799974d535e761bdf85afc26b8c47ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54614, "upload_time": "2019-02-20T01:29:14", "url": "https://files.pythonhosted.org/packages/19/b1/56aebc81c1cd6d8c627a48090672734ef6d0b32d2539be3fc0110d3a78cb/mar-3.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3360c4183cb9e3ed1904383d696aca2d", "sha256": "5d2904a063f0da625e37515fa9eb340082e69fa1c00fdbeb82d28b7ff3c51e28" }, "downloads": -1, "filename": "mar-3.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3360c4183cb9e3ed1904383d696aca2d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30589, "upload_time": "2019-02-20T01:29:12", "url": "https://files.pythonhosted.org/packages/ef/2d/1ec49771a000cc3ca091aa60fd551b8e47e77f8967367ca384bfb34bd811/mar-3.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6799974d535e761bdf85afc26b8c47ea", "sha256": "1939df482f2d3f6221405da00d6286d77d2dd60d372a0fd37532a8f00544f64f" }, "downloads": -1, "filename": "mar-3.1.0.tar.gz", "has_sig": false, "md5_digest": "6799974d535e761bdf85afc26b8c47ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54614, "upload_time": "2019-02-20T01:29:14", "url": "https://files.pythonhosted.org/packages/19/b1/56aebc81c1cd6d8c627a48090672734ef6d0b32d2539be3fc0110d3a78cb/mar-3.1.0.tar.gz" } ] }