# pymp4
[![Build status](https://github.com/beardypig/pymp4/actions/workflows/ci.yml/badge.svg)](https://github.com/beardypig/pymp4/actions/workflows/ci.yml)
[![License](https://img.shields.io/pypi/l/pymp4)](LICENSE)
[![Python versions](https://img.shields.io/pypi/pyversions/pymp4)](https://pypi.org/project/pymp4)
[![Coverage](https://codecov.io/gh/beardypig/pymp4/branch/master/graph/badge.svg)](https://app.codecov.io/github/beardypig/pymp4)
Python MP4 box parser and toolkit based on the [construct](https://github.com/construct/construct) library.
## Usage
```python
>>> from pymp4.parser import Box
>>> from io import BytesIO
>>> Box.build(dict(
type=b"ftyp",
major_brand="iso5",
minor_version=1,
compatible_brands=["iso5", "avc1"]))
b'\x00\x00\x00\x18ftypiso5\x00\x00\x00\x01iso5avc1'
>>> ftyp = Box.parse(b'\x00\x00\x00\x18ftypiso5\x00\x00\x00\x01iso5avc1')
>>> print(ftyp)
Container:
type = ftyp
major_brand = iso5
minor_version = 1
compatible_brands = ListContainer:
iso5
avc1
```
## Contributors
<a href="https://github.com/beardypig"><img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/16033421?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt=""/></a>
<a href="https://github.com/truedread"><img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/25360375?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt=""/></a>
<a href="https://github.com/orca-eaa5a"><img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/28733566?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt=""/></a>
<a href="https://github.com/rlaphoenix"><img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/17136956?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt=""/></a>
## License
[Apache License, Version 2.0](LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/beardypig/pymp4",
"name": "rlaphoenix-pymp4",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "beardypig",
"author_email": "git@beardypig.com",
"download_url": "https://files.pythonhosted.org/packages/a1/81/bdca9eafde17d0902cdea46a3776e2e357fb67b8ea08a111c924fd0096bd/rlaphoenix_pymp4-1.4.0.tar.gz",
"platform": null,
"description": "# pymp4\n\n[![Build status](https://github.com/beardypig/pymp4/actions/workflows/ci.yml/badge.svg)](https://github.com/beardypig/pymp4/actions/workflows/ci.yml)\n[![License](https://img.shields.io/pypi/l/pymp4)](LICENSE)\n[![Python versions](https://img.shields.io/pypi/pyversions/pymp4)](https://pypi.org/project/pymp4)\n[![Coverage](https://codecov.io/gh/beardypig/pymp4/branch/master/graph/badge.svg)](https://app.codecov.io/github/beardypig/pymp4)\n\nPython MP4 box parser and toolkit based on the [construct](https://github.com/construct/construct) library.\n\n## Usage\n\n```python\n>>> from pymp4.parser import Box\n>>> from io import BytesIO\n\n>>> Box.build(dict(\n type=b\"ftyp\",\n major_brand=\"iso5\",\n minor_version=1,\n compatible_brands=[\"iso5\", \"avc1\"]))\nb'\\x00\\x00\\x00\\x18ftypiso5\\x00\\x00\\x00\\x01iso5avc1'\n\n>>> ftyp = Box.parse(b'\\x00\\x00\\x00\\x18ftypiso5\\x00\\x00\\x00\\x01iso5avc1')\n>>> print(ftyp)\nContainer:\n type = ftyp\n major_brand = iso5\n minor_version = 1\n compatible_brands = ListContainer:\n iso5\n avc1\n\n```\n\n## Contributors\n\n<a href=\"https://github.com/beardypig\"><img src=\"https://images.weserv.nl/?url=avatars.githubusercontent.com/u/16033421?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d\" alt=\"\"/></a>\n<a href=\"https://github.com/truedread\"><img src=\"https://images.weserv.nl/?url=avatars.githubusercontent.com/u/25360375?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d\" alt=\"\"/></a>\n<a href=\"https://github.com/orca-eaa5a\"><img src=\"https://images.weserv.nl/?url=avatars.githubusercontent.com/u/28733566?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d\" alt=\"\"/></a>\n<a href=\"https://github.com/rlaphoenix\"><img src=\"https://images.weserv.nl/?url=avatars.githubusercontent.com/u/17136956?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d\" alt=\"\"/></a>\n\n## License\n\n[Apache License, Version 2.0](LICENSE)\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Python parser for MP4 boxes",
"version": "1.4.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1c6a84e92d5af60f3a92946c4a01cb1d9571f87f1fe972e01508247ee453ef31",
"md5": "3ddbd5f7a6fa0dc032800d7b251d79f8",
"sha256": "dbe15f8b5721066b497dd853393e4a8ee28c2ade1656901128e965bb9a575bd5"
},
"downloads": -1,
"filename": "rlaphoenix_pymp4-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3ddbd5f7a6fa0dc032800d7b251d79f8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 14958,
"upload_time": "2023-04-23T21:20:58",
"upload_time_iso_8601": "2023-04-23T21:20:58.415918Z",
"url": "https://files.pythonhosted.org/packages/1c/6a/84e92d5af60f3a92946c4a01cb1d9571f87f1fe972e01508247ee453ef31/rlaphoenix_pymp4-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a181bdca9eafde17d0902cdea46a3776e2e357fb67b8ea08a111c924fd0096bd",
"md5": "2a4a5ad7ade47b9949619877ca7b7b9c",
"sha256": "aca6094782e4ba8cbfa0f131a892dd97c15eb4db14802bc8b42fc43698512d13"
},
"downloads": -1,
"filename": "rlaphoenix_pymp4-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "2a4a5ad7ade47b9949619877ca7b7b9c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 13114,
"upload_time": "2023-04-23T21:21:00",
"upload_time_iso_8601": "2023-04-23T21:21:00.675186Z",
"url": "https://files.pythonhosted.org/packages/a1/81/bdca9eafde17d0902cdea46a3776e2e357fb67b8ea08a111c924fd0096bd/rlaphoenix_pymp4-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-23 21:21:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "beardypig",
"github_project": "pymp4",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rlaphoenix-pymp4"
}