# 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": "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/a5/46/dfb3f5363fc71adaf419147fdcb93341029ca638634a5cc6f7e7446416b2/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",
"project_urls": {
"Homepage": "https://github.com/beardypig/pymp4",
"Repository": "https://github.com/beardypig/pymp4"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aaa227fea39af627c0ce5dbf6108bf969ea8f5fc9376d29f11282a80e3426f1d",
"md5": "87fad84be404535affcc36d479a0d2fb",
"sha256": "3401666c1e2a97ac94dffb18c5a5dcbd46d0a436da5272d378a6f9f6506dd12d"
},
"downloads": -1,
"filename": "pymp4-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "87fad84be404535affcc36d479a0d2fb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 14832,
"upload_time": "2023-05-07T15:01:32",
"upload_time_iso_8601": "2023-05-07T15:01:32.293123Z",
"url": "https://files.pythonhosted.org/packages/aa/a2/27fea39af627c0ce5dbf6108bf969ea8f5fc9376d29f11282a80e3426f1d/pymp4-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a546dfb3f5363fc71adaf419147fdcb93341029ca638634a5cc6f7e7446416b2",
"md5": "0fd3b6c174a44d6b974e4b144a7817a1",
"sha256": "bc9e77732a8a143d34c38aa862a54180716246938e4bf3e07585d19252b77bb5"
},
"downloads": -1,
"filename": "pymp4-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "0fd3b6c174a44d6b974e4b144a7817a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 13018,
"upload_time": "2023-05-07T15:01:34",
"upload_time_iso_8601": "2023-05-07T15:01:34.020210Z",
"url": "https://files.pythonhosted.org/packages/a5/46/dfb3f5363fc71adaf419147fdcb93341029ca638634a5cc6f7e7446416b2/pymp4-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-07 15:01:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "beardypig",
"github_project": "pymp4",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pymp4"
}