{"id":31536785,"url":"https://github.com/bids-standard/pybv","last_synced_at":"2025-10-04T07:48:38.362Z","repository":{"id":33735123,"uuid":"157434681","full_name":"bids-standard/pybv","owner":"bids-standard","description":"A lightweight I/O utility for the BrainVision data format, written in Python.","archived":false,"fork":false,"pushed_at":"2025-08-18T07:48:15.000Z","size":621,"stargazers_count":22,"open_issues_count":6,"forks_count":13,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-09-04T23:44:13.914Z","etag":null,"topics":["brain","brainproducts","brainvision","data","eeg","ieeg","products","vhdr","vision","vmrk"],"latest_commit_sha":null,"homepage":"https://pybv.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bids-standard.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-11-13T19:30:16.000Z","updated_at":"2025-08-18T07:48:17.000Z","dependencies_parsed_at":"2024-04-21T14:22:41.392Z","dependency_job_id":"408c4b7f-8ad4-42da-81c6-831ebfc35a17","html_url":"https://github.com/bids-standard/pybv","commit_stats":{"total_commits":232,"total_committers":10,"mean_commits":23.2,"dds":"0.23275862068965514","last_synced_commit":"084379de649958abacd3f0db6e491d8a86845c4a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/bids-standard/pybv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bids-standard%2Fpybv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bids-standard%2Fpybv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bids-standard%2Fpybv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bids-standard%2Fpybv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bids-standard","download_url":"https://codeload.github.com/bids-standard/pybv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bids-standard%2Fpybv/sbom","scorecard":{"id":237020,"data":{"date":"2025-08-11","repo":{"name":"github.com/bids-standard/pybv","commit":"28979865050abf5a98917b83424dd45bb85bb7c7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Code-Review","score":4,"reason":"Found 10/24 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/cffconvert.yml:1","Warn: no topLevel permission defined: .github/workflows/python_build.yml:1","Warn: no topLevel permission defined: .github/workflows/python_tests.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yml:15","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cffconvert.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/cffconvert.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cffconvert.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/cffconvert.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_build.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_build.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_build.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_tests.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_tests.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_tests.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python_tests.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python_tests.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/python_tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/bids-standard/pybv/release.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python_build.yml:34","Warn: pipCommand not pinned by hash: .github/workflows/python_build.yml:35","Warn: pipCommand not pinned by hash: .github/workflows/python_build.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/python_tests.yml:55","Warn: pipCommand not pinned by hash: .github/workflows/python_tests.yml:56","Warn: pipCommand not pinned by hash: .github/workflows/python_tests.yml:61","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:31","Info:   0 out of  12 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   1 out of   9 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":5,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Info: 'stale review dismissal' is required to merge on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Info: 'up-to-date branches' is required to merge on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:40"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T05:57:04.157Z","repository_id":33735123,"created_at":"2025-08-17T05:57:04.158Z","updated_at":"2025-08-17T05:57:04.158Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278283466,"owners_count":25961310,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["brain","brainproducts","brainvision","data","eeg","ieeg","products","vhdr","vision","vmrk"],"created_at":"2025-10-04T07:48:35.738Z","updated_at":"2025-10-04T07:48:38.350Z","avatar_url":"https://github.com/bids-standard.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://github.com/bids-standard/pybv/workflows/Python%20build/badge.svg\n   :target: https://github.com/bids-standard/pybv/actions?query=workflow%3A%22Python+build%22\n   :alt: Python build\n\n.. image:: https://github.com/bids-standard/pybv/workflows/Python%20tests/badge.svg\n   :target: https://github.com/bids-standard/pybv/actions?query=workflow%3A%22Python+tests%22\n   :alt: Python tests\n\n.. image:: https://codecov.io/gh/bids-standard/pybv/branch/main/graph/badge.svg\n   :target: https://codecov.io/gh/bids-standard/pybv\n   :alt: Test coverage\n\n.. image:: https://readthedocs.org/projects/pybv/badge/?version=stable\n   :target: https://pybv.readthedocs.io/en/stable/?badge=stable\n   :alt: Documentation Status\n\n.. image:: https://badge.fury.io/py/pybv.svg\n   :target: https://badge.fury.io/py/pybv\n   :alt: PyPi version\n\n.. image:: https://img.shields.io/conda/vn/conda-forge/pybv.svg\n   :target: https://anaconda.org/conda-forge/pybv\n   :alt: Conda version\n\n.. image:: https://zenodo.org/badge/157434681.svg\n   :target: https://zenodo.org/badge/latestdoi/157434681\n   :alt: Zenodo archive\n\n====\npybv\n====\n\nFor documentation, see the:\n\n- `stable documentation \u003chttps://pybv.rtfd.io/en/stable/\u003e`_\n- `latest (development) documentation \u003chttps://pybv.rtfd.io/en/latest/\u003e`_\n\n.. docs_readme_include_label\n\n``pybv`` is a lightweight I/O utility for the BrainVision data format.\n\nThe BrainVision data format is a recommended data format for use in the\n`Brain Imaging Data Structure \u003chttps://bids.neuroimaging.io\u003e`_.\n\nAbout the BrainVision data format\n=================================\n\nBrainVision is the name of a file format commonly used for storing electrophysiology data.\nOriginally, it was put forward by the company `Brain Products \u003chttps://www.brainproducts.com\u003e`_,\nhowever the simplicity of the format has allowed for a diversity of tools reading from and\nwriting to the format.\n\nThe format consists of three separate files:\n\n1. A text header file (``.vhdr``) containing meta data\n2. A text marker file (``.vmrk``) containing information about events in the\n   data\n3. A binary data file (``.eeg``) containing the voltage values of the EEG\n\nBoth text files are based on the\n`Microsoft Windows INI format \u003chttps://en.wikipedia.org/wiki/INI_file\u003e`_\nconsisting of:\n\n- sections marked as ``[square brackets]``\n- comments marked as ``; comment``\n- key-value pairs marked as ``key=value``\n\nThe binary ``.eeg`` data file is written in little-endian format without a Byte Order\nMark (BOM), in accordance with the specification by Brain Products.\nThis ensures that the data file is uniformly written irrespective of the\nnative system architecture.\n\nA documentation for the BrainVision file format is provided by Brain Products.\nYou can `view the specification \u003chttps://www.brainproducts.com/support-resources/brainvision-core-data-format-1-0/\u003e`_\nas hosted by Brain Products.\n\nInstallation\n============\n\n``pybv`` runs on Python version 3.9 or higher.\n\n``pybv``'s only dependency is ``numpy``.\nHowever, we currently recommend that you install MNE-Python for reading BrainVision data.\nSee their `installation instructions \u003chttps://mne.tools/stable/install/index.html\u003e`_.\n\nAfter you have a working installation of MNE-Python (or only ``numpy`` if you\ndo not want to read data and only write it), you can install ``pybv`` through\nthe following:\n\n.. code-block:: Text\n\n   python -m pip install --upgrade pybv\n\nor if you use `conda \u003chttps://docs.conda.io/en/latest/miniconda.html\u003e`_:\n\n.. code-block:: Text\n\n   conda install --channel conda-forge pybv\n\nFor installing the **latest (development)** version of ``pyprep``, call:\n\n.. code-block:: Text\n\n   python -m pip install --upgrade https://github.com/bids-standard/pybv/archive/refs/heads/main.zip\n\nBoth the *stable* and the *latest* installation will additionally install\nall required dependencies automatically.\nThe dependencies are defined in the ``pyproject.toml`` file under the\n``dependencies`` and ``project.optional-dependencies`` sections.\n\nContributing\n============\n\nThe development of ``pybv`` is taking place on\n`GitHub \u003chttps://github.com/bids-standard/pybv\u003e`_.\n\nFor more information, please see\n`CONTRIBUTING.md \u003chttps://github.com/bids-standard/pybv/blob/main/.github/CONTRIBUTING.md\u003e`_.\n\nCiting\n======\n\nIf you use this software in academic work, please cite it using the `Zenodo entry \u003chttps://zenodo.org/badge/latestdoi/157434681\u003e`_.\nMetadata is encoded in the `CITATION.cff` file.\n\nUsage\n=====\n\nWriting BrainVision files\n-------------------------\n\nThe primary functionality provided by ``pybv`` is the ``write_brainvision``\nfunction. This writes a numpy array of data and provided metadata into a\ncollection of BrainVision files on disk.\n\n.. code-block:: python\n\n    from pybv import write_brainvision\n\n    # for further parameters see our API documentation\n    write_brainvision(data=data, sfreq=sfreq, ch_names=ch_names,\n                      fname_base=fname, folder_out=tmpdir,\n                      events=events)\n\nReading BrainVision files\n-------------------------\n\nCurrently, ``pybv`` recommends using `MNE-Python \u003chttps://mne.tools\u003e`_\nfor reading BrainVision files.\n\nHere is an example of the MNE-Python code required to read BrainVision data:\n\n.. code-block:: python\n\n    import mne\n\n    # Import the BrainVision data into an MNE Raw object\n    raw = mne.io.read_raw_brainvision('tmp/test.vhdr', preload=True)\n\n    # Reconstruct the original events from our Raw object\n    events, event_ids = mne.events_from_annotations(raw)\n\nAlternatives\n============\n\nThe BrainVision data format is very popular and accordingly there are many\nsoftware packages to read this format, or write to it.\nThe following table is intended as a quick overview of packages similar to\n`pybv \u003chttps://github.com/bids-standard/pybv\u003e`_.\nPlease let us know if you know of additional packages that should be listed here.\n\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Name of software                                                            | Language             | Notes                                                                                                                                                       |\n+=============================================================================+======================+=============================================================================================================================================================+\n| `BioSig Project \u003chttp://biosig.sourceforge.net/index.html\u003e`_                | miscellaneous        | Reading and writing capabilities depend on bindings used, see their `overview \u003chttps://pub.ist.ac.at/~schloegl/biosig/TESTED\u003e`_                             |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| `Brainstorm \u003chttps://neuroimage.usc.edu/brainstorm/\u003e`_                      | MATLAB               | Read and write, search for ``brainamp`` in their `io functions \u003chttps://github.com/brainstorm-tools/brainstorm3/tree/master/toolbox/io\u003e`_                   |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| `BrainVision Analyzer \u003chttps://www.brainproducts.com/downloads.php?kid=9\u003e`_ | n/a, GUI for Windows | Read and write, by Brain Products, requires commercial license                                                                                              |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| `brainvisionloader.jl \u003chttps://github.com/agricolab/brainvisionloader.jl\u003e`_ | Julia                | Read                                                                                                                                                        |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| `EEGLAB \u003chttps://sccn.ucsd.edu/eeglab/index.php\u003e`_                          | MATLAB / Octave      | Read and write via `BVA-IO \u003chttps://github.com/arnodelorme/bva-io\u003e`_                                                                                        |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| `FieldTrip \u003chttps://www.fieldtriptoolbox.org\u003e`_                             | MATLAB               | Read and write, search for ``brainvision`` in their `ft_read_data and ft_write_data functions \u003chttps://github.com/fieldtrip/fieldtrip/tree/master/fileio\u003e`_ |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| `MNE-Python \u003chttps://mne.tools\u003e`_                                           | Python               | Read (writing via ``pybv``)                                                                                                                                 |\n+-----------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+\n\nAcknowledgements\n================\n\nThis package was originally adapted from the\n`Philistine package \u003chttps://gitlab.com/palday/philistine\u003e`_ by\n`palday \u003chttps://phillipalday.com/\u003e`_.\nIt copies much of the BrainVision exporting code, but removes the dependence on MNE.\nSeveral features have been added, such as support for individual units for each channel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbids-standard%2Fpybv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbids-standard%2Fpybv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbids-standard%2Fpybv/lists"}