{"id":13813433,"url":"https://github.com/boisgera/bitstream","last_synced_at":"2025-05-07T10:36:01.328Z","repository":{"id":57415455,"uuid":"9811589","full_name":"boisgera/bitstream","owner":"boisgera","description":"Binary Data for Humans","archived":false,"fork":false,"pushed_at":"2023-09-24T17:20:38.000Z","size":937,"stargazers_count":94,"open_issues_count":9,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-03T06:02:35.596Z","etag":null,"topics":["binary-data","bitstream","python"],"latest_commit_sha":null,"homepage":"https://boisgera.github.io/bitstream","language":"Cython","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boisgera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/index.html","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-05-02T11:19:52.000Z","updated_at":"2024-07-15T11:34:34.000Z","dependencies_parsed_at":"2024-06-20T23:30:27.527Z","dependency_job_id":"97b61f99-7a33-4f44-ae20-07bf524012ce","html_url":"https://github.com/boisgera/bitstream","commit_stats":{"total_commits":348,"total_committers":4,"mean_commits":87.0,"dds":0.2816091954022989,"last_synced_commit":"9de5d780e70ef46f53275844bc7043631a902b84"},"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boisgera%2Fbitstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boisgera%2Fbitstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boisgera%2Fbitstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boisgera%2Fbitstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boisgera","download_url":"https://codeload.github.com/boisgera/bitstream/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252860532,"owners_count":21815533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-data","bitstream","python"],"created_at":"2024-08-04T04:01:17.574Z","updated_at":"2025-05-07T10:36:01.306Z","avatar_url":"https://github.com/boisgera.png","language":"Cython","funding_links":[],"categories":["Cython"],"sub_categories":[],"readme":"![Python](https://img.shields.io/pypi/pyversions/bitstream.svg)\n[![PyPI version](https://img.shields.io/pypi/v/bitstream.svg)](https://pypi.python.org/pypi/bitstream)\n[![Downloads](https://pepy.tech/badge/bitstream)](https://pepy.tech/project/bitstream)\n[![Mkdocs](https://img.shields.io/badge/doc-mkdocs-blue.svg)](http://boisgera.github.io/bitstream)\n[![status](http://joss.theoj.org/papers/dd351bf2ed414a623557bb51d75b2536/status.svg)](http://joss.theoj.org/papers/dd351bf2ed414a623557bb51d75b2536)\n[![Travis Build Status](https://travis-ci.org/boisgera/bitstream.svg?branch=master)](https://travis-ci.org/boisgera/bitstream)\n[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/7r59rbtqam0w11fq?svg=true)](https://ci.appveyor.com/project/boisgera/bitstream)\n\n# Bitstream\n\nA Python library to manage binary data as [bitstreams](https://en.wikipedia.org/wiki/Bitstream).\n\nOverview\n--------------------------------------------------------------------------------\n \nBitstream three main features:\n\n  - It is easy to use since the bitstream abstraction is simple.\n\n  - It works seamlessly at the bit and byte level.\n\n  - It supports Python, NumPy and user-defined types.\n\nSee the documentation [Overview](http://boisgera.github.io/bitstream)\nsection for more details.\n\n\nQuickstart\n--------------------------------------------------------------------------------\n\nMake sure that Python 2.7 or Python 3.6 to 3.9 are installed \nand that pip, NumPy and a C compiler are available, \nthen install bitstream with\n\n    $ pip install bitstream\n\n[pip]: https://packaging.python.org/tutorials/installing-packages/#install-pip-setuptools-and-wheel\n\nFor more details, refer to [the documentation](http://boisgera.github.io/bitstream/installation/).\n\nExamples\n--------------------------------------------------------------------------------\n\nFirst, the mandatory \"Hello World!\" example:\n\n    \u003e\u003e\u003e from bitstream import BitStream\n    \u003e\u003e\u003e BitStream(b\"Hello World!\")\n    010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001\n\nThe basic API is made of three methods only:\n\n  - `stream = BitStream()` to create an empty stream.\n\n  - `stream.write(data, type)` to write data `data` of type `type`.\n\n  - `data = stream.read(type, n)` to read `n` items of type `type`.\n\nFor example:\n\n    \u003e\u003e\u003e stream = BitStream()        # \u003cempty\u003e\n    \u003e\u003e\u003e stream.write(True, bool)    # 1\n    \u003e\u003e\u003e stream.write(False, bool)   # 10\n    \u003e\u003e\u003e from numpy import int8\n    \u003e\u003e\u003e stream.write(-128, int8)    # 1010000000\n    \u003e\u003e\u003e stream.write(b\"AB\", bytes)  # 10100000000100000101000010\n    \u003e\u003e\u003e stream.read(bool, 2)        # 100000000100000101000010\n    [True, False]\n    \u003e\u003e\u003e stream.read(int8, 1)        # 0100000101000010\n    array([-128], dtype=int8)\n    \u003e\u003e\u003e stream.read(bytes, 2)       # \u003cempty\u003e\n    b'AB'\n\nRefer to the documentation [Overview](http://boisgera.github.io/bitstream/) \nsection for more elementary examples.\n\n\nContributing\n--------------------------------------------------------------------------------\n\nRefer to [Contributing](http://boisgera.github.io/bitstream/contributing) \nin the documentation.\n\n\nSupport\n--------------------------------------------------------------------------------\n\nIf you need some support with bitstream and you haven't found a solution to your\nproblem [in the documentation](http://boisgera.github.io/bitstream/),\nplease open an issue in the \n[GitHub issue tracker](https://github.com/boisgera/bitstream/issues).\n\nIf you don't feel like you problem belongs there, \nyou can send me an e-mail instead; \nplease include \"bitstream\" in the subject.\nYou will find my e-mail address in my \n[GitHub profile](https://github.com/boisgera).\n\nIn both cases, you will need to sign into GitHub \n(and [join GitHub](https://github.com/join) if you\ndon't already have an account).\n\n\nLicense\n--------------------------------------------------------------------------------\n\nBitstream is open source software released under the [MIT license](https://github.com/boisgera/bitstream/blob/master/LICENSE.txt).\n\nCopyright (c) 2012-2023 Sébastien Boisgérault\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboisgera%2Fbitstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboisgera%2Fbitstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboisgera%2Fbitstream/lists"}