{"id":15065090,"url":"https://github.com/labthings/picamerax","last_synced_at":"2025-10-05T01:31:49.515Z","repository":{"id":37630283,"uuid":"293494508","full_name":"labthings/picamerax","owner":"labthings","description":"A pure Python interface for the Raspberry Pi camera module, with extra features and fixes","archived":false,"fork":true,"pushed_at":"2024-03-21T12:15:40.000Z","size":64311,"stargazers_count":32,"open_issues_count":5,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-29T01:17:34.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://picamerax.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"waveform80/picamera","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/labthings.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-07T10:21:59.000Z","updated_at":"2025-05-10T19:17:46.000Z","dependencies_parsed_at":"2023-01-21T11:46:48.353Z","dependency_job_id":null,"html_url":"https://github.com/labthings/picamerax","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/labthings/picamerax","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labthings%2Fpicamerax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labthings%2Fpicamerax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labthings%2Fpicamerax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labthings%2Fpicamerax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/labthings","download_url":"https://codeload.github.com/labthings/picamerax/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/labthings%2Fpicamerax/sbom","scorecard":{"id":576565,"data":{"date":"2025-08-11","repo":{"name":"github.com/labthings/picamerax","commit":"178d0bd688adc1f425a82d78a169fb96c0b373cb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Maintained","score":0,"reason":"0 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":"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":"Code-Review","score":1,"reason":"Found 2/16 approved changesets -- score normalized to 1","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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yaml:15","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yaml:1"],"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":"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":"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":"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":"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt: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":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 24.3.21 not signed: https://api.github.com/repos/labthings/picamerax/releases/147708795","Warn: release artifact 21.9.8 not signed: https://api.github.com/repos/labthings/picamerax/releases/49182033","Warn: release artifact 20.9.1b not signed: https://api.github.com/repos/labthings/picamerax/releases/30861342","Warn: release artifact 20.9.1 not signed: https://api.github.com/repos/labthings/picamerax/releases/30861178","Warn: release artifact 20.9.0 not signed: https://api.github.com/repos/labthings/picamerax/releases/30857570","Warn: release artifact 24.3.21 does not have provenance: https://api.github.com/repos/labthings/picamerax/releases/147708795","Warn: release artifact 21.9.8 does not have provenance: https://api.github.com/repos/labthings/picamerax/releases/49182033","Warn: release artifact 20.9.1b does not have provenance: https://api.github.com/repos/labthings/picamerax/releases/30861342","Warn: release artifact 20.9.1 does not have provenance: https://api.github.com/repos/labthings/picamerax/releases/30861178","Warn: release artifact 20.9.0 does not have provenance: https://api.github.com/repos/labthings/picamerax/releases/30857570"],"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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"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/codeql-analysis.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/labthings/picamerax/release.yaml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/release.yaml:27","Warn: pipCommand not pinned by hash: .github/workflows/release.yaml:28","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 17 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"}},{"name":"Vulnerabilities","score":0,"reason":"17 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: GHSA-4fx9-vc88-q2xc","Warn: Project is vulnerable to: PYSEC-2023-227 / GHSA-8ghj-p4vj-mr35","Warn: Project is vulnerable to: PYSEC-2022-10 / GHSA-8vj2-vxx3-667w","Warn: Project is vulnerable to: PYSEC-2022-168 / GHSA-9j59-75qj-795w","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: PYSEC-2022-42979 / GHSA-m2vv-5vj5-2hm7","Warn: Project is vulnerable to: PYSEC-2022-8 / GHSA-pw3c-h7wp-cvhx","Warn: Project is vulnerable to: PYSEC-2022-9 / GHSA-xrcv-f9gm-v42c","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: PYSEC-2022-42969","Warn: Project is vulnerable to: PYSEC-2023-117 / GHSA-mrwq-x4v8-fh7p"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T17:57:46.345Z","repository_id":37630283,"created_at":"2025-08-20T17:57:46.345Z","updated_at":"2025-08-20T17:57:46.345Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278399628,"owners_count":25980330,"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":[],"created_at":"2024-09-25T00:33:45.749Z","updated_at":"2025-10-05T01:31:45.880Z","avatar_url":"https://github.com/labthings.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. -*- rst -*-\n\n=========\nPiCameraX\n=========\n\nPiCamera + Extras\n-----------------\n\nThis package provides a pure Python interface to the `Raspberry Pi`_ `camera`_\nmodule for Python 3.2 or above, with extra features and fixes.\n\n* Lens-shading table support (from rwb27/master)\n* Read-write analog gain (from rwb27/master)\n* Greyworld AWB (from chrisruk/greyworld)\n* Bayer array support for HQ camera (from AlecVercruysse/master)\n* Dropped support for Python 2\n\nWhy?\n----\n\nThe upstream waveform80/picamera library has reached a point of stability meaning some more cutting-edge \nfeatures will be unsuitable for inclusion, or face delays. \nThis fork will include new features and fixes more rapidly, allowing the latest camera revisions, and\nmore experimental software features, to be easily used much earlier than they would otherwise.\n\nInstallation\n------------\n\n.. code-block::\n\n  pip install picamerax\n\nLinks\n-----\n\n* The code is licensed under the `BSD license`_\n* The `source code`_ can be obtained from GitHub, which also hosts the `bug\n  tracker`_\n* The `documentation`_ (which includes installation, quick-start examples, and\n  lots of code recipes) can be read on ReadTheDocs\n* Packages can be downloaded from `PyPI`_, but reading the installation\n  instructions is more likely to be useful\n\n\n.. _Raspberry Pi: https://www.raspberrypi.org/\n.. _camera: https://www.raspberrypi.org/learning/getting-started-with-picamera/\n.. _PyPI: https://pypi.python.org/pypi/picamerax/\n.. _documentation: https://picamerax.readthedocs.io/\n.. _source code: https://github.com/labthings/picamerax\n.. _bug tracker: https://github.com/labthings/picamerax/issues\n.. _BSD license: https://opensource.org/licenses/BSD-3-Clause\n\nDeveloper notes\n---------------\n\nWhy calendar versioning?\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nWe want `picamerax` to stay more or less in sync with upstream `picamera`. However, this fork\nadds significant new features that would constitute new version numbers under semantic versioning.\nIf we were to adopt semantic versioning, we would rapidly fall completely out of sync with the \nupstream version numbers. \n\nBy using calendar versioning, and clearly tracking new additions to the library, we\ncan ensure the upstream base version is obvious (by looking at its release date in relation to \nour current calendar version), without worrying about what new features count as justifying \nnew semantic versions.\n\nThis can change however if everyone else deems it a bad idea.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabthings%2Fpicamerax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flabthings%2Fpicamerax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabthings%2Fpicamerax/lists"}