{"id":153990,"name":null,"description":"Automatically build and upload python packages to devpi","url":"https://github.com/blue-yonder/devpi-builder","last_synced_at":"2025-09-09T16:11:47.760Z","repository":{"id":19207378,"uuid":"22441115","full_name":"blue-yonder/devpi-builder","owner":"blue-yonder","description":"Automatically build and upload python packages to devpi","archived":false,"fork":false,"pushed_at":"2025-06-19T06:55:58.000Z","size":311,"stargazers_count":75,"open_issues_count":3,"forks_count":29,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-09-02T01:46:50.606Z","etag":null,"topics":["devpi","packaging","python","wheels"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blue-yonder.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"COPYING","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":"2014-07-30T19:08:40.000Z","updated_at":"2025-07-23T21:46:44.000Z","dependencies_parsed_at":"2023-09-23T08:21:32.128Z","dependency_job_id":"4a4f16e0-44db-4e6a-b29a-fe9fca2cccc2","html_url":"https://github.com/blue-yonder/devpi-builder","commit_stats":{"total_commits":339,"total_committers":23,"mean_commits":14.73913043478261,"dds":0.5486725663716814,"last_synced_commit":"91741ed433da5e622753cbc943786491061ede3b"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/blue-yonder/devpi-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blue-yonder","download_url":"https://codeload.github.com/blue-yonder/devpi-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder/sbom","scorecard":{"id":244319,"data":{"date":"2025-08-11","repo":{"name":"github.com/blue-yonder/devpi-builder","commit":"0253a8f47f2182bb3920349554b91bf29b21c8cc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":5,"reason":"Found 2/4 approved changesets -- score normalized to 5","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":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: tests/fixture/non-pure_package/dist/test_package-0.1.dev1-cp27-none-linux_x86_64.whl:1","Warn: binary detected: tests/fixture/pure_package/dist/test_package-0.1.dev1-py2.py3-none-any.whl:1"],"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":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/blue-yonder/devpi-builder/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:56","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:70","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:24","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:28","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   1 out of   8 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":"Maintained","score":3,"reason":"4 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 3","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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","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":"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":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2014-11 / GHSA-53mr-44pp-crf4","Warn: Project is vulnerable to: PYSEC-2021-437 / GHSA-5xp3-jfq3-5q8x","Warn: Project is vulnerable to: PYSEC-2020-173 / GHSA-gpvv-69j7-gwj8","Warn: Project is vulnerable to: PYSEC-2023-228 / GHSA-mq26-g339-26xf","Warn: Project is vulnerable to: PYSEC-2013-22 / GHSA-27x4-j476-jp5f","Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5","Warn: Project is vulnerable to: PYSEC-2022-43012 / GHSA-r9hx-vwmv-q579","Warn: Project is vulnerable to: PYSEC-2022-43017 / GHSA-qwmp-2cf2-g9g6","Warn: Project is vulnerable to: PYSEC-2022-42969"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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-17T07:16:12.651Z","repository_id":19207378,"created_at":"2025-08-17T07:16:12.651Z","updated_at":"2025-08-17T07:16:12.651Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274323339,"owners_count":25264070,"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-09-09T02:00:10.223Z","response_time":80,"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"}},"owner":{"login":"blue-yonder","name":"Blue Yonder GmbH","uuid":"6234170","kind":"organization","description":"","email":null,"website":"https://www.blueyonder.com","location":"Karlsruhe, Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6234170?v=4","repositories_count":32,"last_synced_at":"2024-04-16T03:02:17.580Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/blue-yonder","funding_links":[],"total_stars":9197,"followers":50,"following":0,"created_at":"2022-11-04T13:50:56.417Z","updated_at":"2024-04-16T03:02:29.617Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blue-yonder","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blue-yonder/repositories"},"packages":null,"commits":{"id":557626,"full_name":"blue-yonder/devpi-builder","default_branch":"master","committers":[{"name":"Matthias Bach","email":"matthias.bach@blue-yonder.com","login":"matthias-bach-by","count":186},{"name":"requires.io","email":"support@requires.io","login":"requires","count":76},{"name":"Stephan Erb","email":"github@stephanerb.eu","login":"StephanErb","count":51},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":23},{"name":"Matthias Bach","email":"marix@marix.org","login":"theMarix","count":8},{"name":"sax","email":"s.apostolico@gmail.com","login":"saxix","count":7},{"name":"Jan","email":"BY-jk","login":"BY-jk","count":5},{"name":"David Szotten","email":"davidszotten@gmail.com","login":"davidszotten","count":5},{"name":"snyk-bot","email":"snyk-bot@snyk.io","login":"snyk-bot","count":3},{"name":"pyup-bot","email":"github-bot@pyup.io","login":"pyup-bot","count":3},{"name":"pari","email":"patrick.ringl@blueyonder.com","login":"patrick-ringl-by","count":2},{"name":"Denis Otkidach","email":"denis.otkidach@gmail.com","login":"ods","count":2},{"name":"Damian Wąsik","email":"damianwasik98@gmail.com","login":"damianwasik98","count":2},{"name":"Christian Stefanescu","email":"christian.stefanescu@native-instruments.de","login":null,"count":1},{"name":"Frank Fischer","email":"frank.fischer@jda.com","login":null,"count":1},{"name":"Danny Hermes","email":"daniel.j.hermes@gmail.com","login":"dhermes","count":1},{"name":"Gabriel Sailer","email":"gabriel.sailer@blueyonder.com","login":"gabriel-sailer-by","count":1},{"name":"Hans Lawrenz","email":"hrlawrenz@gmail.com","login":"hlawrenz","count":1},{"name":"Holger Peters","email":"holger.peters@blue-yonder.com","login":"HolgerPeters","count":1},{"name":"Matt Ghantous","email":"matt@addgene.org","login":"mghantous","count":1},{"name":"Mikhail Lukyanchenko","email":"ml@akabos.com","login":"mikluko","count":1},{"name":"Travis Mehlinger","email":"tmehlinger@gmail.com","login":"tmehlinger","count":1}],"total_commits":382,"total_committers":22,"total_bot_commits":23,"total_bot_committers":1,"mean_commits":17.363636363636363,"dds":0.5130890052356021,"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":7},{"name":"Matthias Bach","email":"matthias.bach@blueyonder.com","login":"matthias-bach-by","count":5},{"name":"Matthias Bach","email":"marix@marix.org","login":"theMarix","count":4}],"past_year_total_commits":16,"past_year_total_committers":3,"past_year_total_bot_commits":7,"past_year_total_bot_committers":1,"past_year_mean_commits":5.333333333333333,"past_year_dds":0.5625,"last_synced_at":"2025-05-26T07:03:43.216Z","last_synced_commit":"8590a5553a7760e0d2b8fd32484677b87d9ec005","created_at":"2023-03-09T04:57:11.355Z","updated_at":"2025-05-26T07:03:43.247Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5483322,"commits_count":854270774,"contributors_count":31138750,"owners_count":908526,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"blue-yonder/devpi-builder","html_url":"https://github.com/blue-yonder/devpi-builder","last_synced_at":"2025-07-28T17:42:40.677Z","status":"error","issues_count":8,"pull_requests_count":122,"avg_time_to_close_issue":52817711.25,"avg_time_to_close_pull_request":1256526.524590164,"issues_closed_count":8,"pull_requests_closed_count":122,"pull_request_authors_count":15,"issue_authors_count":8,"avg_comments_per_issue":3.5,"avg_comments_per_pull_request":1.4672131147540983,"merged_pull_requests_count":58,"bot_issues_count":0,"bot_pull_requests_count":31,"past_year_issues_count":0,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":286193.6,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":10,"created_at":"2023-05-14T11:49:30.055Z","updated_at":"2025-09-02T16:50:25.689Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/blue-yonder%2Fdevpi-builder/issues","issue_labels_count":{"help wanted":3,"bug":2,"invalid":1,"enhancement":1},"pull_request_labels_count":{"dependencies":42,"python":3,"enhancement":1},"issue_author_associations_count":{"NONE":5,"CONTRIBUTOR":2,"COLLABORATOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":119,"COLLABORATOR":13,"MEMBER":2},"issue_authors":{"davidszotten":1,"jmaroeder":1,"ghost":1,"matthias-bach-by":1,"pyup-bot":1,"cb109":1,"aadis":1,"simon-weber":1},"pull_request_authors":{"pyup-bot":55,"dependabot[bot]":42,"matthias-bach-by":12,"theMarix":9,"snyk-bot":5,"patrick-ringl-by":2,"gsailer":1,"StephanErb":1,"saxix":1,"jank":1,"tmehlinger":1,"damianwasik98":1,"mghantous":1,"HolgerPeters":1,"ods":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.273Z","repositories_count":10058116,"issues_count":30985287,"pull_requests_count":93679802,"authors_count":10684821,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":5,"python":3},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":9,"COLLABORATOR":2},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":5,"theMarix":4,"matthias-bach-by":2},"maintainers":[{"login":"matthias-bach-by","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matthias-bach-by"},{"login":"StephanErb","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/StephanErb"},{"login":"jank","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jank"},{"login":"HolgerPeters","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/HolgerPeters"}],"active_maintainers":[{"login":"matthias-bach-by","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matthias-bach-by"}]},"events":{"total":{"DeleteEvent":2,"IssueCommentEvent":3,"PushEvent":5,"PullRequestReviewEvent":3,"PullRequestEvent":8,"ForkEvent":1,"CreateEvent":2},"last_year":{"DeleteEvent":2,"IssueCommentEvent":3,"PushEvent":5,"PullRequestReviewEvent":3,"PullRequestEvent":8,"ForkEvent":1,"CreateEvent":2}},"keywords":["devpi","packaging","python","wheels"],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.in","sha":null,"kind":"manifest","created_at":"2022-07-06T21:54:06.645Z","updated_at":"2022-07-06T21:54:06.645Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/requirements.in","dependencies":[{"id":108926779,"package_name":"setuptools_scm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926780,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926781,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926782,"package_name":"pytest-mock","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926783,"package_name":"mock","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926784,"package_name":"devpi-plumber","ecosystem":"pypi","requirements":"\u003e=0.4.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"lockfile","created_at":"2022-07-06T21:54:06.656Z","updated_at":"2022-07-06T21:54:06.656Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/requirements.txt","dependencies":[{"id":108926785,"package_name":"apipkg","ecosystem":"pypi","requirements":"==1.5","direct":false,"kind":"runtime","optional":false},{"id":108926786,"package_name":"appdirs","ecosystem":"pypi","requirements":"==1.4.4","direct":false,"kind":"runtime","optional":false},{"id":108926787,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"==20.1.0","direct":false,"kind":"runtime","optional":false},{"id":108926788,"package_name":"attrs","ecosystem":"pypi","requirements":"==20.3.0","direct":false,"kind":"runtime","optional":false},{"id":108926789,"package_name":"bleach","ecosystem":"pypi","requirements":"==4.1.0","direct":false,"kind":"runtime","optional":false},{"id":108926790,"package_name":"build","ecosystem":"pypi","requirements":"==0.3.1.post1","direct":false,"kind":"runtime","optional":false},{"id":108926791,"package_name":"certifi","ecosystem":"pypi","requirements":"==2020.12.5","direct":false,"kind":"runtime","optional":false},{"id":108926792,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.14.5","direct":false,"kind":"runtime","optional":false},{"id":108926793,"package_name":"chardet","ecosystem":"pypi","requirements":"==4.0.0","direct":false,"kind":"runtime","optional":false},{"id":108926794,"package_name":"check-manifest","ecosystem":"pypi","requirements":"==0.46","direct":false,"kind":"runtime","optional":false},{"id":108926795,"package_name":"coverage","ecosystem":"pypi","requirements":"==5.5","direct":false,"kind":"runtime","optional":false},{"id":108926796,"package_name":"devpi-client","ecosystem":"pypi","requirements":"==5.2.2","direct":false,"kind":"runtime","optional":false},{"id":108926797,"package_name":"devpi-common","ecosystem":"pypi","requirements":"==3.6.0","direct":false,"kind":"runtime","optional":false},{"id":108926798,"package_name":"devpi-plumber","ecosystem":"pypi","requirements":"==0.5.1","direct":false,"kind":"runtime","optional":false},{"id":108926799,"package_name":"devpi-server","ecosystem":"pypi","requirements":"==5.5.1","direct":false,"kind":"runtime","optional":false},{"id":108926800,"package_name":"distlib","ecosystem":"pypi","requirements":"==0.3.1","direct":false,"kind":"runtime","optional":false},{"id":108926801,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.16","direct":false,"kind":"runtime","optional":false},{"id":108926802,"package_name":"entry-points-txt","ecosystem":"pypi","requirements":"==0.1.0","direct":false,"kind":"runtime","optional":false},{"id":108926803,"package_name":"execnet","ecosystem":"pypi","requirements":"==1.8.0","direct":false,"kind":"runtime","optional":false},{"id":108926804,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.0.12","direct":false,"kind":"runtime","optional":false},{"id":108926805,"package_name":"headerparser","ecosystem":"pypi","requirements":"==0.4.0","direct":false,"kind":"runtime","optional":false},{"id":108926806,"package_name":"hupper","ecosystem":"pypi","requirements":"==1.10.2","direct":false,"kind":"runtime","optional":false},{"id":108926807,"package_name":"idna","ecosystem":"pypi","requirements":"==2.10","direct":false,"kind":"runtime","optional":false},{"id":108926808,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==1.1.1","direct":false,"kind":"runtime","optional":false},{"id":108926809,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==1.1.0","direct":false,"kind":"runtime","optional":false},{"id":108926810,"package_name":"junit-xml","ecosystem":"pypi","requirements":"==1.9","direct":false,"kind":"runtime","optional":false},{"id":108926811,"package_name":"lazy","ecosystem":"pypi","requirements":"==1.4","direct":false,"kind":"runtime","optional":false},{"id":108926812,"package_name":"mock","ecosystem":"pypi","requirements":"==4.0.3","direct":false,"kind":"runtime","optional":false},{"id":108926813,"package_name":"packaging","ecosystem":"pypi","requirements":"==20.9","direct":false,"kind":"runtime","optional":false},{"id":108926814,"package_name":"passlib","ecosystem":"pypi","requirements":"==1.7.4","direct":false,"kind":"runtime","optional":false},{"id":108926815,"package_name":"pastedeploy","ecosystem":"pypi","requirements":"==2.1.1","direct":false,"kind":"runtime","optional":false},{"id":108926816,"package_name":"pep517","ecosystem":"pypi","requirements":"==0.10.0","direct":false,"kind":"runtime","optional":false},{"id":108926817,"package_name":"pkginfo","ecosystem":"pypi","requirements":"==1.7.0","direct":false,"kind":"runtime","optional":false},{"id":108926818,"package_name":"plaster","ecosystem":"pypi","requirements":"==1.0","direct":false,"kind":"runtime","optional":false},{"id":108926819,"package_name":"plaster-pastedeploy","ecosystem":"pypi","requirements":"==0.7","direct":false,"kind":"runtime","optional":false},{"id":108926820,"package_name":"pluggy","ecosystem":"pypi","requirements":"==0.13.1","direct":false,"kind":"runtime","optional":false},{"id":108926821,"package_name":"py","ecosystem":"pypi","requirements":"==1.10.0","direct":false,"kind":"runtime","optional":false},{"id":108926822,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.20","direct":false,"kind":"runtime","optional":false},{"id":108926823,"package_name":"pygments","ecosystem":"pypi","requirements":"==2.8.1","direct":false,"kind":"runtime","optional":false},{"id":108926824,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==2.4.7","direct":false,"kind":"runtime","optional":false},{"id":108926825,"package_name":"pyramid","ecosystem":"pypi","requirements":"==1.10.8","direct":false,"kind":"runtime","optional":false},{"id":108926826,"package_name":"pytest","ecosystem":"pypi","requirements":"==6.2.2","direct":false,"kind":"runtime","optional":false},{"id":108926827,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==2.11.1","direct":false,"kind":"runtime","optional":false},{"id":108926828,"package_name":"pytest-mock","ecosystem":"pypi","requirements":"==3.5.1","direct":false,"kind":"runtime","optional":false},{"id":108926829,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.1","direct":false,"kind":"runtime","optional":false},{"id":108926830,"package_name":"readme-renderer","ecosystem":"pypi","requirements":"==24.0","direct":false,"kind":"runtime","optional":false},{"id":108926831,"package_name":"repoze-lru","ecosystem":"pypi","requirements":"==0.7","direct":false,"kind":"runtime","optional":false},{"id":108926832,"package_name":"requests","ecosystem":"pypi","requirements":"==2.25.1","direct":false,"kind":"runtime","optional":false},{"id":108926833,"package_name":"ruamel-yaml","ecosystem":"pypi","requirements":"==0.17.0","direct":false,"kind":"runtime","optional":false},{"id":108926834,"package_name":"ruamel-yaml-clib","ecosystem":"pypi","requirements":"==0.2.2","direct":false,"kind":"runtime","optional":false},{"id":108926835,"package_name":"setuptools-scm","ecosystem":"pypi","requirements":"==6.0.1","direct":false,"kind":"runtime","optional":false},{"id":108926836,"package_name":"six","ecosystem":"pypi","requirements":"==1.15.0","direct":false,"kind":"runtime","optional":false},{"id":108926837,"package_name":"strictyaml","ecosystem":"pypi","requirements":"==1.3.2","direct":false,"kind":"runtime","optional":false},{"id":108926838,"package_name":"toml","ecosystem":"pypi","requirements":"==0.10.2","direct":false,"kind":"runtime","optional":false},{"id":108926839,"package_name":"tox","ecosystem":"pypi","requirements":"==3.23.0","direct":false,"kind":"runtime","optional":false},{"id":108926840,"package_name":"translationstring","ecosystem":"pypi","requirements":"==1.4","direct":false,"kind":"runtime","optional":false},{"id":108926841,"package_name":"twitter-common-contextutil","ecosystem":"pypi","requirements":"==0.3.11","direct":false,"kind":"runtime","optional":false},{"id":108926842,"package_name":"twitter-common-dirutil","ecosystem":"pypi","requirements":"==0.3.11","direct":false,"kind":"runtime","optional":false},{"id":108926843,"package_name":"twitter-common-lang","ecosystem":"pypi","requirements":"==0.3.11","direct":false,"kind":"runtime","optional":false},{"id":108926844,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.5","direct":false,"kind":"runtime","optional":false},{"id":108926845,"package_name":"venusian","ecosystem":"pypi","requirements":"==3.0.0","direct":false,"kind":"runtime","optional":false},{"id":108926846,"package_name":"virtualenv","ecosystem":"pypi","requirements":"==20.4.3","direct":false,"kind":"runtime","optional":false},{"id":108926847,"package_name":"waitress","ecosystem":"pypi","requirements":"==2.0.0","direct":false,"kind":"runtime","optional":false},{"id":108926848,"package_name":"webencodings","ecosystem":"pypi","requirements":"==0.5.1","direct":false,"kind":"runtime","optional":false},{"id":108926849,"package_name":"webob","ecosystem":"pypi","requirements":"==1.8.7","direct":false,"kind":"runtime","optional":false},{"id":108926850,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.36.2","direct":false,"kind":"runtime","optional":false},{"id":108926851,"package_name":"wheel-filename","ecosystem":"pypi","requirements":"==1.3.0","direct":false,"kind":"runtime","optional":false},{"id":108926852,"package_name":"wheel-inspect","ecosystem":"pypi","requirements":"==1.7.0","direct":false,"kind":"runtime","optional":false},{"id":108926853,"package_name":"zope-deprecation","ecosystem":"pypi","requirements":"==4.4.0","direct":false,"kind":"runtime","optional":false},{"id":108926854,"package_name":"zope-interface","ecosystem":"pypi","requirements":"==5.3.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-07-06T21:54:06.682Z","updated_at":"2022-07-06T21:54:06.682Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/setup.py","dependencies":[{"id":108926855,"package_name":"devpi-plumber","ecosystem":"pypi","requirements":"\u003e=0.2.14","direct":true,"kind":"runtime","optional":false},{"id":108926856,"package_name":"setuptools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926857,"package_name":"wheel","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926858,"package_name":"wheel-filename","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":108926859,"package_name":"wheel-inspect","ecosystem":"pypi","requirements":"\u003e=1.6.0","direct":true,"kind":"runtime","optional":false},{"id":108926860,"package_name":"pip","ecosystem":"pypi","requirements":"\u003e=1.5.3","direct":true,"kind":"runtime","optional":false},{"id":108926861,"package_name":"junit-xml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T20:14:03.872Z","updated_at":"2023-01-13T20:14:03.872Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/.github/workflows/publish.yml","dependencies":[{"id":6891260974,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6891260975,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":6891260976,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T20:14:03.887Z","updated_at":"2023-01-13T20:14:03.887Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/.github/workflows/tests.yml","dependencies":[{"id":6891260977,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6891260978,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"core-requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-13T20:14:03.902Z","updated_at":"2023-01-13T20:14:03.902Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/core-requirements.txt","dependencies":[{"id":6891260979,"package_name":"devpi-plumber","ecosystem":"pypi","requirements":"\u003e=0.2.14","direct":true,"kind":"runtime","optional":false},{"id":6891260980,"package_name":"setuptools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6891260981,"package_name":"wheel","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6891260982,"package_name":"wheel-filename","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6891260983,"package_name":"wheel-inspect","ecosystem":"pypi","requirements":"\u003e=1.6.0","direct":true,"kind":"runtime","optional":false},{"id":6891260984,"package_name":"pip","ecosystem":"pypi","requirements":"\u003e=1.5.3","direct":true,"kind":"runtime","optional":false},{"id":6891260985,"package_name":"junit-xml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"tests/fixture/non-ascii_package/setup.py","sha":null,"kind":"manifest","created_at":"2023-09-23T08:01:49.495Z","updated_at":"2023-09-23T08:01:49.495Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/tests/fixture/non-ascii_package/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"tests/fixture/non-pure_package/setup.py","sha":null,"kind":"manifest","created_at":"2023-09-23T08:01:49.891Z","updated_at":"2023-09-23T08:01:49.891Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/tests/fixture/non-pure_package/setup.py","dependencies":[]},{"ecosystem":"pypi","filepath":"tests/fixture/pure_package/setup.py","sha":null,"kind":"manifest","created_at":"2023-09-23T08:01:50.214Z","updated_at":"2023-09-23T08:01:50.214Z","repository_link":"https://github.com/blue-yonder/devpi-builder/blob/master/tests/fixture/pure_package/setup.py","dependencies":[]}],"score":7.447751280047908,"created_at":"2025-09-09T00:37:35.604Z","updated_at":"2025-10-07T08:37:46.926Z","avatar_url":"https://github.com/blue-yonder.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["distribution","sequences","charts","robot","pypi","pip","interactive","genomics","asyncio","aiohttp"],"project_url":"https://science.ecosyste.ms/api/v1/projects/153990","html_url":"https://science.ecosyste.ms/projects/153990"}