{"id":109660,"name":"DataONE","description":"A community driven project providing access to data across multiple member repositories, supporting enhanced search and discovery of Earth and environmental data.","url":"https://github.com/dataoneorg/d1_python","last_synced_at":"2026-04-14T05:30:45.599Z","repository":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-11-22T19:31:08.000Z","size":94709,"stargazers_count":17,"open_issues_count":22,"forks_count":10,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-10-21T12:46:00.334Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-11-22T19:31:12.000Z","dependencies_parsed_at":"2024-12-07T17:10:16.612Z","dependency_job_id":"d85494c6-2ff9-4968-aecc-ac8cbad842d9","html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/DataONEorg/d1_python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/sbom","scorecard":{"id":37837,"data":{"date":"2025-08-11","repo":{"name":"github.com/DataONEorg/d1_python","commit":"9ba1f9e85538296b8a55ecc7e1e09cfc6de6abfb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Code-Review","score":2,"reason":"Found 5/21 approved changesets -- score normalized to 2","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":-1,"reason":"no workflows found","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":"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":"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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: client_onedrive/installers/onedrive-setup-windows-2.0.0RC1.exe: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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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":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: pipCommand not pinned by hash: dev_tools/src/d1_dev/devpi-install.sh:15","Info:   0 out of   1 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":"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 14 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":"74 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2023-120 / GHSA-45c4-8wx5-qw6w","Warn: Project is vulnerable to: PYSEC-2024-24 / GHSA-5h86-8mv2-jq9f","Warn: Project is vulnerable to: GHSA-5m98-qgg9-wh84","Warn: Project is vulnerable to: GHSA-7gpw-8wmc-pm8g","Warn: Project is vulnerable to: GHSA-8495-4g3g-x7pr","Warn: Project is vulnerable to: PYSEC-2024-26 / GHSA-8qpw-xqxj-h4r2","Warn: Project is vulnerable to: GHSA-9548-qrrj-x5pj","Warn: Project is vulnerable to: PYSEC-2023-246 / GHSA-gfw2-4jvh-wgfg","Warn: Project is vulnerable to: GHSA-pjjw-qhg8-p2p9","Warn: Project is vulnerable to: PYSEC-2023-250 / GHSA-q3qx-c6g2-7pw2","Warn: Project is vulnerable to: PYSEC-2023-251 / GHSA-qvrw-v9rv-5rjx","Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc","Warn: Project is vulnerable to: PYSEC-2023-135 / GHSA-xqr8-7jwr-rhp7","Warn: Project is vulnerable to: GHSA-3ww4-gg4f-jr7f","Warn: Project is vulnerable to: GHSA-5cpq-8wj7-hf2v","Warn: Project is vulnerable to: PYSEC-2024-225 / GHSA-6vqw-3v5j-54x4","Warn: Project is vulnerable to: GHSA-9v9h-cgj8-h64p","Warn: Project is vulnerable to: PYSEC-2023-112 / GHSA-cf7p-gm2m-833m","Warn: Project is vulnerable to: GHSA-h4gh-qq45-vh27","Warn: Project is vulnerable to: PYSEC-2023-254 / GHSA-jfhm-5ghh-2f97","Warn: Project is vulnerable to: GHSA-jm77-qphf-c4w8","Warn: Project is vulnerable to: GHSA-v8gr-m533-ghj9","Warn: Project is vulnerable to: PYSEC-2024-102 / GHSA-5hgc-2vfp-mqvc","Warn: Project is vulnerable to: PYSEC-2024-68 / GHSA-795c-9xpc-xw6g","Warn: Project is vulnerable to: PYSEC-2023-225 / GHSA-7h4p-27mh-hmrw","Warn: Project is vulnerable to: PYSEC-2025-47 / GHSA-7xr5-9hcq-chf9","Warn: Project is vulnerable to: PYSEC-2024-156 / GHSA-8498-2h75-472j","Warn: Project is vulnerable to: PYSEC-2025-37 / GHSA-8j24-cjrq-gr2m","Warn: Project is vulnerable to: PYSEC-2024-58 / GHSA-9jmf-237g-qf46","Warn: Project is vulnerable to: PYSEC-2024-59 / GHSA-f6f8-9mx6-9mx2","Warn: Project is vulnerable to: PYSEC-2023-226 / GHSA-h8gc-pgj2-vjm3","Warn: Project is vulnerable to: PYSEC-2023-100 / GHSA-jh3w-4vvf-mjgr","Warn: Project is vulnerable to: PYSEC-2024-67 / GHSA-jh75-99hh-qvx9","Warn: Project is vulnerable to: PYSEC-2024-157 / GHSA-m9g8-fxxm-xg86","Warn: Project is vulnerable to: PYSEC-2025-13 / GHSA-p3fp-8748-vqfq","Warn: Project is vulnerable to: PYSEC-2024-70 / GHSA-pv4p-cwwg-4rph","Warn: Project is vulnerable to: PYSEC-2025-1 / GHSA-qcgg-j2x8-h9g8","Warn: Project is vulnerable to: PYSEC-2024-56 / GHSA-qg2p-9jwr-mmqf","Warn: Project is vulnerable to: PYSEC-2023-222 / GHSA-qmf9-6jqf-j8fq","Warn: Project is vulnerable to: PYSEC-2024-69 / GHSA-r836-hh6v-rg5g","Warn: Project is vulnerable to: GHSA-rrqc-c2jx-6jgv","Warn: Project is vulnerable to: PYSEC-2024-47 / GHSA-vm8q-m57g-pff3","Warn: Project is vulnerable to: PYSEC-2024-57 / GHSA-x7q2-wr7g-xqmf","Warn: Project is vulnerable to: PYSEC-2024-28 / GHSA-xxj9-f6rv-m3x4","Warn: Project is vulnerable to: PYSEC-2024-4 / GHSA-2mqj-m65w-jghx","Warn: Project is vulnerable to: PYSEC-2023-165 / GHSA-cwvm-v4w8-q58c","Warn: Project is vulnerable to: PYSEC-2023-137 / GHSA-pr76-5cm5-w9cj","Warn: Project is vulnerable to: PYSEC-2023-161 / GHSA-wfm5-v35h-vwf4","Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: GHSA-gmj6-6f8f-6699","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: PYSEC-2023-227 / GHSA-8ghj-p4vj-mr35","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: PYSEC-2022-42969","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2024-110 / GHSA-jw8x-6495-233v","Warn: Project is vulnerable to: GHSA-2m57-hf25-phgg","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f","Warn: Project is vulnerable to: GHSA-2g68-c3qc-8985","Warn: Project is vulnerable to: GHSA-f9vj-2wh5-fj8j","Warn: Project is vulnerable to: PYSEC-2023-221 / GHSA-hrfv-mqp8-q5rw","Warn: Project is vulnerable to: GHSA-q34m-jh98-gwm2","Warn: Project is vulnerable to: GHSA-jfmj-5v4g-7637"],"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-14T20:43:23.142Z","repository_id":37686551,"created_at":"2025-08-14T20:43:23.142Z","updated_at":"2025-08-14T20:43:23.142Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280832999,"owners_count":26398969,"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-24T02:00:06.418Z","response_time":73,"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":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"packages":[{"id":2688947,"name":"dataone.scimeta","ecosystem":"pypi","description":"Utilities for processing Science Metadata","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","client","server","member-node","coordinating-node","science","metadata","scimeta","xml","catalogue","xsd","validate"],"namespace":null,"versions_count":14,"first_release_published_at":"2017-12-14T17:28:13.000Z","latest_release_published_at":"2023-06-05T20:27:32.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:12.997Z","created_at":"2022-04-10T10:32:32.013Z","updated_at":"2025-10-29T20:19:12.997Z","registry_url":"https://pypi.org/project/dataone.scimeta/","install_command":"pip install dataone.scimeta --index-url https://pypi.org/simple","documentation_url":"https://dataone.scimeta.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-scimeta","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.880Z","dependent_packages_count":3,"downloads":63,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":18.763944709997585,"dependent_repos_count":21.5515601217656,"dependent_packages_count":2.371539245977991,"stargazers_count":15.253418351430115,"forks_count":12.551249683702647,"docker_downloads_count":null,"average":14.098342422574788},"purl":"pkg:pypi/dataone.scimeta","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.scimeta","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.scimeta","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.scimeta/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.scimeta/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.scimeta/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.scimeta/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.scimeta/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.scimeta/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-02-23T22:43:25.085Z","updated_at":"2023-02-23T22:43:25.085Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":2688948,"name":"dataone.onedrive","ecosystem":"pypi","description":"Filesystem access to the DataONE Workspace","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","client","upload","download","member-node","coordinating-node"],"namespace":null,"versions_count":28,"first_release_published_at":"2014-02-02T04:15:04.000Z","latest_release_published_at":"2023-06-05T20:24:56.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:13.901Z","created_at":"2022-04-10T10:32:32.015Z","updated_at":"2025-10-29T20:19:13.901Z","registry_url":"https://pypi.org/project/dataone.onedrive/","install_command":"pip install dataone.onedrive --index-url https://pypi.org/simple","documentation_url":"https://dataone.onedrive.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-onedrive","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.954Z","dependent_packages_count":1,"downloads":280,"downloads_period":"last-month","dependent_repos_count":3,"rankings":{"downloads":22.36674662218071,"dependent_repos_count":8.945344680300531,"dependent_packages_count":4.785605701706821,"stargazers_count":15.253418351430115,"forks_count":12.551249683702647,"docker_downloads_count":null,"average":12.780473007864165},"purl":"pkg:pypi/dataone.onedrive","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.onedrive","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.onedrive","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.onedrive/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.onedrive/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.onedrive/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.onedrive/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.onedrive/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.onedrive/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-02-23T22:43:25.711Z","updated_at":"2023-02-23T22:43:25.711Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":2688944,"name":"dataone.gmn","ecosystem":"pypi","description":"DataONE Generic Member Node (GMN)","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","server","member-node","coordinating-node"],"namespace":null,"versions_count":35,"first_release_published_at":"2016-11-04T19:07:53.000Z","latest_release_published_at":"2023-06-05T20:25:49.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:14.281Z","created_at":"2022-04-10T10:32:31.917Z","updated_at":"2025-10-29T20:19:14.281Z","registry_url":"https://pypi.org/project/dataone.gmn/","install_command":"pip install dataone.gmn --index-url https://pypi.org/simple","documentation_url":"https://dataone.gmn.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-gmn","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.948Z","dependent_packages_count":1,"downloads":187,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":23.606480046106704,"dependent_repos_count":21.5515601217656,"dependent_packages_count":4.785605701706821,"stargazers_count":15.253418351430115,"forks_count":12.551249683702647,"docker_downloads_count":null,"average":15.549662780942379},"purl":"pkg:pypi/dataone.gmn","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.gmn","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.gmn","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.gmn/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.gmn/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.gmn/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.gmn/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.gmn/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.gmn/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-01-15T12:32:03.285Z","updated_at":"2023-01-15T12:32:03.285Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":8231988,"name":"dataone.doc","ecosystem":"pypi","description":"Documentation for the DataONE Python products","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","documentation","APIs","common","client","server","member-node","coordinating-node"],"namespace":null,"versions_count":1,"first_release_published_at":"2023-06-05T20:25:31.000Z","latest_release_published_at":"2023-06-05T20:25:31.000Z","latest_release_number":"3.5.1","last_synced_at":"2025-10-29T20:19:14.081Z","created_at":"2023-09-05T05:59:43.360Z","updated_at":"2025-10-29T20:19:14.081Z","registry_url":"https://pypi.org/project/dataone.doc/","install_command":"pip install dataone.doc --index-url https://pypi.org/simple","documentation_url":"https://dataone.doc.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-doc","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.946Z","dependent_packages_count":0,"downloads":15,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":69.6078431372549,"dependent_packages_count":7.466124823681255,"stargazers_count":15.708337662130086,"forks_count":12.664980400148648,"docker_downloads_count":null,"average":26.361821505803725},"purl":"pkg:pypi/dataone.doc","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.doc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.doc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.doc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.doc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.doc/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.doc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.doc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.doc/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-09-05T07:12:39.509Z","updated_at":"2023-09-05T07:12:39.509Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":8231989,"name":"dataone.csw","ecosystem":"pypi","description":"DataONE OpenGIS Catalogue Service for the Web (CSW) Harvester","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","client","member-node","coordinating-node"],"namespace":null,"versions_count":1,"first_release_published_at":"2023-06-05T20:27:03.000Z","latest_release_published_at":"2023-06-05T20:27:03.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:12.778Z","created_at":"2023-09-05T05:59:43.370Z","updated_at":"2025-10-29T20:19:12.778Z","registry_url":"https://pypi.org/project/dataone.csw/","install_command":"pip install dataone.csw --index-url https://pypi.org/simple","documentation_url":"https://dataone.csw.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-csw","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.917Z","dependent_packages_count":0,"downloads":11,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":82.69719491728603,"dependent_repos_count":69.6078431372549,"dependent_packages_count":7.466124823681255,"stargazers_count":15.708337662130086,"forks_count":12.664980400148648,"docker_downloads_count":null,"average":37.628896188100185},"purl":"pkg:pypi/dataone.csw","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.csw","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.csw","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.csw/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.csw/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.csw/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.csw/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.csw/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.csw/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-09-05T07:12:38.977Z","updated_at":"2023-09-05T07:12:38.977Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":2688941,"name":"dataone.common","ecosystem":"pypi","description":"Contains functionality common to projects that interact with the DataONE infrastructure via Python","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","client","server","member-node","coordinating-node","xml","url","oai-ore","rdf","resource-map"],"namespace":null,"versions_count":32,"first_release_published_at":"2015-11-11T21:27:15.000Z","latest_release_published_at":"2023-06-05T20:26:38.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:13.291Z","created_at":"2022-04-10T10:32:31.857Z","updated_at":"2025-10-29T20:19:13.291Z","registry_url":"https://pypi.org/project/dataone.common/","install_command":"pip install dataone.common --index-url https://pypi.org/simple","documentation_url":"https://dataone.common.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-common","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.947Z","dependent_packages_count":7,"downloads":594,"downloads_period":"last-month","dependent_repos_count":8,"rankings":{"downloads":13.410488631197296,"dependent_repos_count":5.159499479655183,"dependent_packages_count":1.252370905728793,"stargazers_count":15.253418351430115,"forks_count":12.551249683702647,"docker_downloads_count":null,"average":9.525405410342808},"purl":"pkg:pypi/dataone.common","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.common","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.common","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.common/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.common/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.common/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.common/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.common/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.common/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-02-23T22:43:22.500Z","updated_at":"2023-02-23T22:43:22.500Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":7826590,"name":"dataone.test-utilities","ecosystem":"pypi","description":"Utilities for testing DataONE infrastructure components","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","source","code","unit","tests","ingeration","tests","coverage","travis","coveralls"],"namespace":null,"versions_count":28,"first_release_published_at":"2013-10-17T23:56:22.000Z","latest_release_published_at":"2023-06-05T20:28:04.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:13.330Z","created_at":"2023-06-05T20:45:18.192Z","updated_at":"2025-10-29T20:19:13.330Z","registry_url":"https://pypi.org/project/dataone.test-utilities/","install_command":"pip install dataone.test-utilities --index-url https://pypi.org/simple","documentation_url":"https://dataone.test-utilities.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-test-utilities","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.893Z","dependent_packages_count":0,"downloads":223,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":38.67153983922695,"dependent_repos_count":41.31737399950431,"dependent_packages_count":7.264983964346704,"stargazers_count":15.74326294306302,"forks_count":13.475112311694371,"docker_downloads_count":null,"average":23.29445461156707},"purl":"pkg:pypi/dataone.test-utilities","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.test-utilities","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.test-utilities","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.test-utilities/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.test-utilities/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.test-utilities/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.test-utilities/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.test-utilities/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.test-utilities/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-06-05T20:54:45.508Z","updated_at":"2023-06-05T20:54:45.508Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":2688942,"name":"dataone.cli","ecosystem":"pypi","description":"Command-Line Interface (CLI) for DataONE","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","cli","command","line","member-node","coordinating-node"],"namespace":null,"versions_count":28,"first_release_published_at":"2014-06-08T04:48:24.000Z","latest_release_published_at":"2023-06-05T20:24:08.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:13.782Z","created_at":"2022-04-10T10:32:31.866Z","updated_at":"2025-10-29T20:19:13.783Z","registry_url":"https://pypi.org/project/dataone.cli/","install_command":"pip install dataone.cli --index-url https://pypi.org/simple","documentation_url":"https://dataone.cli.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-cli","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.956Z","dependent_packages_count":2,"downloads":292,"downloads_period":"last-month","dependent_repos_count":6,"rankings":{"downloads":27.55506008716777,"dependent_repos_count":5.998238274345964,"dependent_packages_count":3.168563225716846,"stargazers_count":15.253418351430115,"forks_count":12.551249683702647,"docker_downloads_count":null,"average":12.905305924472668},"purl":"pkg:pypi/dataone.cli","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.cli","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.cli","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.cli/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.cli/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.cli/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.cli/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.cli/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.cli/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2022-11-29T20:03:10.927Z","updated_at":"2022-11-29T20:03:10.927Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":2688946,"name":"dataone.libclient","ecosystem":"pypi","description":"A DataONE client library for Python","homepage":"https://github.com/DataONEorg/d1_python","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/DataONEorg/d1_python","keywords_array":["DataONE","client","upload","download","member-node","coordinating-node"],"namespace":null,"versions_count":33,"first_release_published_at":"2015-11-12T16:57:45.000Z","latest_release_published_at":"2023-06-05T20:26:14.000Z","latest_release_number":"3.5.2","last_synced_at":"2025-10-29T20:19:13.939Z","created_at":"2022-04-10T10:32:31.973Z","updated_at":"2025-10-29T20:19:13.939Z","registry_url":"https://pypi.org/project/dataone.libclient/","install_command":"pip install dataone.libclient --index-url https://pypi.org/simple","documentation_url":"https://dataone.libclient.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Topic :: Scientific/Engineering"],"normalized_name":"dataone-libclient","project_status":null},"repo_metadata":{"id":37686551,"uuid":"60103877","full_name":"DataONEorg/d1_python","owner":"DataONEorg","description":"Python components for DataONE clients and servers","archived":false,"fork":false,"pushed_at":"2024-07-10T21:53:32.000Z","size":94703,"stargazers_count":16,"open_issues_count":21,"forks_count":8,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T22:32:15.231Z","etag":null,"topics":["client","library","python3","repository"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataONEorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-31T16:01:00.000Z","updated_at":"2024-05-06T16:22:49.000Z","dependencies_parsed_at":"2024-05-20T15:03:38.774Z","dependency_job_id":null,"html_url":"https://github.com/DataONEorg/d1_python","commit_stats":{"total_commits":3261,"total_committers":18,"mean_commits":"181.16666666666666","dds":"0.48850045998160074","last_synced_commit":"d72a9461894d9be7d71178fb7310101b8ef9066a"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155748,"owners_count":16940403,"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"},"owner_record":{"login":"DataONEorg","name":"DataONE","uuid":"5865133","kind":"organization","description":"","email":"support@dataone.org","website":"https://dataone.org","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5865133?v=4","repositories_count":116,"last_synced_at":"2023-08-04T20:20:50.123Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/DataONEorg","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-06T07:50:08.930Z","updated_at":"2023-08-04T20:20:50.870Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataONEorg/repositories"},"tags":[{"name":"3.5.2","sha":"d72a9461894d9be7d71178fb7310101b8ef9066a","kind":"commit","published_at":"2023-06-27T21:59:37.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.2/manifests"},{"name":"3.5.0","sha":"dfab267c3adea913ab0e0073ed9dc1ee50b5b8eb","kind":"commit","published_at":"2020-08-10T05:41:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.5.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.5.0/manifests"},{"name":"3.4.7","sha":"71b8fcc1a383adf50717c319ac5106700460d7f1","kind":"commit","published_at":"2019-07-28T06:57:43.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.7","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.7/manifests"},{"name":"3.4.3","sha":"24a74b15801ce5332c401907ed27782ee6e14875","kind":"commit","published_at":"2019-06-13T15:26:31.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.3/manifests"},{"name":"3.4.0","sha":"fb3e7bf9b6d53817b74e9a6ef10942b11edbdc64","kind":"commit","published_at":"2019-04-05T03:18:10.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"f9b8d9dd00b62d391d6a8463034d4f2af761c953","kind":"commit","published_at":"2019-02-06T03:03:50.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.3.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.3.0/manifests"},{"name":"3.2.0","sha":"a86cb36851391978b9c52e237286b5efe051ffc4","kind":"commit","published_at":"2018-10-16T05:53:59.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/3.2.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/3.2.0/manifests"},{"name":"2.4.2","sha":"3b4c02e7c579fe94d54d4badbb570ad406b50b28","kind":"commit","published_at":"2018-02-15T18:04:46.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.2","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.2/manifests"},{"name":"2.4.1","sha":"09247d839a60f4e07158a5f64e72203cb07e95c9","kind":"commit","published_at":"2017-12-14T17:25:24.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.1","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.1/manifests"},{"name":"2.4.0","sha":"161b8edf2481d4bc19a75078dfcdbbbb9710a604","kind":"commit","published_at":"2017-11-16T22:35:22.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.4.0","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.4.0/manifests"},{"name":"2.3.8","sha":"aefe7efa21bf42440cadba0ea9c70a5fd2471e0d","kind":"commit","published_at":"2017-10-21T00:53:20.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.8","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.8/manifests"},{"name":"2.3.6","sha":"43453fcde46c456dd9d377fe8300a16d3a39b7f9","kind":"commit","published_at":"2017-08-25T00:37:11.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.6","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.6/manifests"},{"name":"2.3.5","sha":"82da85cd4ea4ce233705ffe518bcee0d46fbd4ee","kind":"commit","published_at":"2017-08-08T05:07:23.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.5","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.5/manifests"},{"name":"2.3.4","sha":"c5a0df660b1c4dce7acb4ed71b23e6d4afbb430e","kind":"commit","published_at":"2017-07-19T00:43:15.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.4","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.4/manifests"},{"name":"2.3.3","sha":"28e8136ea2b1350d89df084b156b70a56f0604d1","kind":"commit","published_at":"2017-06-30T16:57:00.000Z","download_url":"https://codeload.github.com/DataONEorg/d1_python/tar.gz/2.3.3","html_url":"https://github.com/DataONEorg/d1_python/releases/tag/2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/tags/2.3.3/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:07.930Z","dependent_packages_count":7,"downloads":601,"downloads_period":"last-month","dependent_repos_count":8,"rankings":{"downloads":14.664807391948681,"dependent_repos_count":5.159499479655183,"dependent_packages_count":1.252370905728793,"stargazers_count":15.253418351430115,"forks_count":12.551249683702647,"docker_downloads_count":null,"average":9.776269162493083},"purl":"pkg:pypi/dataone.libclient","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/dataone.libclient","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/dataone.libclient","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/dataone.libclient/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:04:18.320Z","issues_count":87,"pull_requests_count":213,"avg_time_to_close_issue":23655001.74137931,"avg_time_to_close_pull_request":9959146.867403315,"issues_closed_count":58,"pull_requests_closed_count":181,"pull_request_authors_count":8,"issue_authors_count":10,"avg_comments_per_issue":1.4482758620689655,"avg_comments_per_pull_request":0.9342723004694836,"merged_pull_requests_count":51,"bot_issues_count":0,"bot_pull_requests_count":163,"past_year_issues_count":3,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.35714285714285715,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","maintainers":[{"login":"ThomasThelen","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"datadavev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"rogerdahl","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"csjx","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[{"login":"rogerdahl","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.libclient/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.libclient/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.libclient/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.libclient/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/dataone.libclient/codemeta","maintainers":[{"uuid":"dataone","login":"dataone","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://pypi.org/user/dataone/","role":null,"created_at":"2023-02-23T22:43:24.086Z","updated_at":"2023-02-23T22:43:24.086Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/dataone/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316549,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":556587,"full_name":"DataONEorg/d1_python","default_branch":"master","total_commits":3264,"total_committers":18,"total_bot_commits":2,"total_bot_committers":1,"mean_commits":181.33333333333334,"dds":0.234375,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-10-29T07:12:55.475Z","last_synced_commit":"9ba1f9e85538296b8a55ecc7e1e09cfc6de6abfb","created_at":"2023-03-09T04:54:13.452Z","updated_at":"2025-10-29T07:12:20.802Z","committers":[{"name":"Roger Dahl","email":"git@dahlsys.com","login":"rogerdahl","count":2499},{"name":"vdave","email":"dave.vieglais@gmail.com","login":"datadavev","count":314},{"name":"Andrew Pippin","email":"pippin@nceas.ucsb.edu","login":null,"count":225},{"name":"Mark Flynn","email":"mcflynn617@gmail.com","login":"mflynn-lanl","count":58},{"name":"Waltz, Robert Patrick","email":"rwaltz@utk.edu","login":null,"count":57},{"name":"Matt Jones","email":"jones@nceas.ucsb.edu","login":"mbjones","count":41},{"name":"leinfelder","email":"leinfelder@nceas.ucsb.edu","login":"leinfelder","count":19},{"name":"Robert Nahf","email":"rnahf@epscor.unm.edu","login":"nahf","count":12},{"name":"Christopher Jones","email":"csj@christopherjones.co","login":"csjx","count":9},{"name":"Christopher Brumgard","email":"chris.brumgard@gmail.com","login":"cbrumgard","count":7},{"name":"Monica Ihli","email":"email@monicaihli.com","login":"monicaihli","count":6},{"name":"Tom Saleeba","email":"tom.saleeba@gmail.com","login":"tomsaleeba","count":4},{"name":"Mark Servilla","email":"mark.servilla@gmail.com","login":"servilla","count":3},{"name":"Shane St Savage","email":"shane@axds.co","login":"srstsavage","count":3},{"name":"Bruce Wilson","email":"usethedata@gmail.com","login":"usethedata","count":2},{"name":"Xiaoyan Li","email":"xli@ncei.nceas.ucsb.edu","login":null,"count":2},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2},{"name":"Thomas Thelen","email":"tommythelen@gmail.com","login":"ThomasThelen","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-10-29T00:00:18.766Z","repositories_count":6089544,"commits_count":922518841,"contributors_count":35984051,"owners_count":1109626,"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":"DataONEorg/d1_python","html_url":"https://github.com/DataONEorg/d1_python","last_synced_at":"2025-10-29T08:59:22.219Z","status":"active","issues_count":29,"pull_requests_count":89,"avg_time_to_close_issue":36515918.421052635,"avg_time_to_close_pull_request":10994384.34375,"issues_closed_count":19,"pull_requests_closed_count":64,"pull_request_authors_count":9,"issue_authors_count":11,"avg_comments_per_issue":1.7586206896551724,"avg_comments_per_pull_request":0.797752808988764,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":67,"past_year_issues_count":1,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-14T11:33:34.425Z","updated_at":"2025-10-29T08:59:22.219Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataONEorg%2Fd1_python/issues","issue_labels_count":{"enhancement":4,"bug":2,"wontfix":1},"pull_request_labels_count":{"dependencies":67,"enhancement":2,"bug":1},"issue_author_associations_count":{"MEMBER":11,"CONTRIBUTOR":10,"NONE":5,"COLLABORATOR":3},"pull_request_author_associations_count":{"CONTRIBUTOR":80,"NONE":5,"MEMBER":3,"COLLABORATOR":1},"issue_authors":{"servilla":9,"ThomasThelen":5,"rogerdahl":3,"datadavev":3,"srstsavage":2,"csjx":2,"makaylas":1,"mbjones":1,"r-b-g-b":1,"amoeba":1,"tomsaleeba":1},"pull_request_authors":{"dependabot[bot]":67,"srstsavage":4,"r-b-g-b":4,"monicaihli":4,"tomsaleeba":4,"ThomasThelen":2,"xlia":2,"rogerdahl":1,"datadavev":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-10-29T00:00:18.463Z","repositories_count":11243475,"issues_count":34945556,"pull_requests_count":113355275,"authors_count":11042044,"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":{"bug":1},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"NONE":4},"past_year_issue_authors":{"r-b-g-b":1},"past_year_pull_request_authors":{"r-b-g-b":4},"maintainers":[{"login":"ThomasThelen","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ThomasThelen"},{"login":"rogerdahl","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rogerdahl"},{"login":"datadavev","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/datadavev"},{"login":"csjx","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/csjx"},{"login":"mbjones","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mbjones"}],"active_maintainers":[]},"events":{"total":{"IssuesEvent":1,"WatchEvent":1,"IssueCommentEvent":5,"PushEvent":2,"PullRequestReviewCommentEvent":3,"PullRequestEvent":4,"PullRequestReviewEvent":5,"ForkEvent":2},"last_year":{"IssuesEvent":1,"WatchEvent":1,"IssueCommentEvent":3,"PushEvent":2,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":4,"PullRequestEvent":4,"ForkEvent":2}},"keywords":["client","library","python3","repository"],"dependencies":[{"ecosystem":"pypi","filepath":"client_cli/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.118Z","updated_at":"2023-01-31T05:01:08.118Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/client_cli/src/setup.py","dependencies":[{"id":7263295448,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263295474,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263295477,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"client_onedrive/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.247Z","updated_at":"2023-01-31T05:01:08.247Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/client_onedrive/src/setup.py","dependencies":[{"id":7263296946,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263296948,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263296950,"package_name":"fusepy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263296962,"package_name":"pyxb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263296978,"package_name":"pyzotero","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263296980,"package_name":"rdflib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263296982,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"dev_tools/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.296Z","updated_at":"2023-01-31T05:01:08.296Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/dev_tools/src/setup.py","dependencies":[{"id":7263297436,"package_name":"These","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297437,"package_name":"dataone.cli","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297438,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297439,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297440,"package_name":"This","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297441,"package_name":"asn1crypto","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297442,"package_name":"it","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297443,"package_name":"Python","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297446,"package_name":"idna","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297447,"package_name":"baron","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297448,"package_name":"pip","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297449,"package_name":"redbaron","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297450,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297451,"package_name":"sphinx-better-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297452,"package_name":"python-xlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297453,"package_name":"black","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297454,"package_name":"isort","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"doc/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.338Z","updated_at":"2023-01-31T05:01:08.338Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/doc/src/setup.py","dependencies":[{"id":7263297455,"package_name":"dataone.cli","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297456,"package_name":"dataone.onedrive","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297457,"package_name":"dataone.dev","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297458,"package_name":"dataone.gmn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297459,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297460,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297461,"package_name":"dataone.scimeta","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297462,"package_name":"dataone.test","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297463,"package_name":"dataone.util","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297464,"package_name":"sphinx-argparse","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263297465,"package_name":"sphinx-better-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"gmn/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.383Z","updated_at":"2023-01-31T05:01:08.383Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/gmn/src/setup.py","dependencies":[{"id":7263298853,"package_name":"dataone.cli","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298854,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298855,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298856,"package_name":"dataone.scimeta","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298857,"package_name":"django","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298858,"package_name":"iso8601","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298859,"package_name":"psycopg2-binary","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298860,"package_name":"PyJWT","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298861,"package_name":"pyxb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263298862,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"lib_client/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.476Z","updated_at":"2023-01-31T05:01:08.476Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/lib_client/src/setup.py","dependencies":[{"id":7263299159,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299160,"package_name":"pyxb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299161,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299162,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"lib_common/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.534Z","updated_at":"2023-01-31T05:01:08.534Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/lib_common/src/setup.py","dependencies":[{"id":7263299187,"package_name":"cryptography","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299188,"package_name":"iso8601","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299189,"package_name":"PyJWT","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299190,"package_name":"pyasn1","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299191,"package_name":"pyxb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299192,"package_name":"rdflib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299193,"package_name":"zipstream","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"lib_csw/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.620Z","updated_at":"2023-01-31T05:01:08.620Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/lib_csw/src/setup.py","dependencies":[{"id":7263299198,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299199,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263299200,"package_name":"dataone.scimeta","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"lib_scimeta/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.646Z","updated_at":"2023-01-31T05:01:08.646Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/lib_scimeta/src/setup.py","dependencies":[{"id":7263299391,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.659Z","updated_at":"2023-01-31T05:01:08.659Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/requirements.txt","dependencies":[{"id":7263300430,"package_name":"Babel","ecosystem":"pypi","requirements":"==2.9.1","direct":true,"kind":"runtime","optional":false},{"id":7263300431,"package_name":"Deprecated","ecosystem":"pypi","requirements":"==1.2.13","direct":true,"kind":"runtime","optional":false},{"id":7263300432,"package_name":"Django","ecosystem":"pypi","requirements":"==4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300433,"package_name":"GitPython","ecosystem":"pypi","requirements":"==3.1.24","direct":true,"kind":"runtime","optional":false},{"id":7263300434,"package_name":"Jinja2","ecosystem":"pypi","requirements":"==3.0.3","direct":true,"kind":"runtime","optional":false},{"id":7263300435,"package_name":"Markdown","ecosystem":"pypi","requirements":"==3.3.6","direct":true,"kind":"runtime","optional":false},{"id":7263300436,"package_name":"MarkupSafe","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300437,"package_name":"Pillow","ecosystem":"pypi","requirements":"==8.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300438,"package_name":"PyGObject","ecosystem":"pypi","requirements":"==3.42.0","direct":true,"kind":"runtime","optional":false},{"id":7263300439,"package_name":"PyGSP","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":7263300440,"package_name":"PyJWT","ecosystem":"pypi","requirements":"==2.3.0","direct":true,"kind":"runtime","optional":false},{"id":7263300441,"package_name":"PyXB","ecosystem":"pypi","requirements":"==1.2.6","direct":true,"kind":"runtime","optional":false},{"id":7263300442,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.4.1","direct":true,"kind":"runtime","optional":false},{"id":7263300443,"package_name":"Pygments","ecosystem":"pypi","requirements":"==2.10.0","direct":true,"kind":"runtime","optional":false},{"id":7263300444,"package_name":"Pyment","ecosystem":"pypi","requirements":"==0.3.3","direct":true,"kind":"runtime","optional":false},{"id":7263300445,"package_name":"Pyzotero","ecosystem":"pypi","requirements":"==1.4.26","direct":true,"kind":"runtime","optional":false},{"id":7263300446,"package_name":"Sphinx","ecosystem":"pypi","requirements":"==4.3.2","direct":true,"kind":"runtime","optional":false},{"id":7263300447,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300448,"package_name":"aiohttp","ecosystem":"pypi","requirements":"==3.8.1","direct":true,"kind":"runtime","optional":false},{"id":7263300449,"package_name":"aiosignal","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300450,"package_name":"aiosqlite","ecosystem":"pypi","requirements":"==0.17.0","direct":true,"kind":"runtime","optional":false},{"id":7263300451,"package_name":"alabaster","ecosystem":"pypi","requirements":"==0.7.12","direct":true,"kind":"runtime","optional":false},{"id":7263300452,"package_name":"ansiwrap","ecosystem":"pypi","requirements":"==0.8.4","direct":true,"kind":"runtime","optional":false},{"id":7263300453,"package_name":"apipkg","ecosystem":"pypi","requirements":"==2.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300454,"package_name":"appdirs","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":7263300455,"package_name":"asgiref","ecosystem":"pypi","requirements":"==3.4.1","direct":true,"kind":"runtime","optional":false},{"id":7263300456,"package_name":"asn1crypto","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300457,"package_name":"async-timeout","ecosystem":"pypi","requirements":"==4.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300458,"package_name":"atomicwrites","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300459,"package_name":"attrs","ecosystem":"pypi","requirements":"==21.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300460,"package_name":"backcall","ecosystem":"pypi","requirements":"==0.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300461,"package_name":"backports.zoneinfo","ecosystem":"pypi","requirements":"==0.2.1","direct":true,"kind":"runtime","optional":false},{"id":7263300462,"package_name":"baron","ecosystem":"pypi","requirements":"==0.10.1","direct":true,"kind":"runtime","optional":false},{"id":7263300463,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.10.0","direct":true,"kind":"runtime","optional":false},{"id":7263300464,"package_name":"bibtexparser","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300465,"package_name":"black","ecosystem":"pypi","requirements":"==21.12b0","direct":true,"kind":"runtime","optional":false},{"id":7263300466,"package_name":"blessings","ecosystem":"pypi","requirements":"==1.7","direct":true,"kind":"runtime","optional":false},{"id":7263300467,"package_name":"bpython","ecosystem":"pypi","requirements":"==0.22.1","direct":true,"kind":"runtime","optional":false},{"id":7263300468,"package_name":"cached-property","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"runtime","optional":false},{"id":7263300469,"package_name":"certifi","ecosystem":"pypi","requirements":"==2021.10.8","direct":true,"kind":"runtime","optional":false},{"id":7263300470,"package_name":"cffi","ecosystem":"pypi","requirements":"==1.15.0","direct":true,"kind":"runtime","optional":false},{"id":7263300471,"package_name":"chardet","ecosystem":"pypi","requirements":"==4.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300472,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"==2.0.9","direct":true,"kind":"runtime","optional":false},{"id":7263300473,"package_name":"click","ecosystem":"pypi","requirements":"==8.0.3","direct":true,"kind":"runtime","optional":false},{"id":7263300474,"package_name":"colorama","ecosystem":"pypi","requirements":"==0.4.4","direct":true,"kind":"runtime","optional":false},{"id":7263300475,"package_name":"contextlib2","ecosystem":"pypi","requirements":"==21.6.0","direct":true,"kind":"runtime","optional":false},{"id":7263300476,"package_name":"coverage","ecosystem":"pypi","requirements":"==6.2","direct":true,"kind":"runtime","optional":false},{"id":7263300477,"package_name":"coveralls","ecosystem":"pypi","requirements":"==3.3.1","direct":true,"kind":"runtime","optional":false},{"id":7263300478,"package_name":"cryptography","ecosystem":"pypi","requirements":"==36.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300479,"package_name":"curlify","ecosystem":"pypi","requirements":"==2.2.1","direct":true,"kind":"runtime","optional":false},{"id":7263300480,"package_name":"curtsies","ecosystem":"pypi","requirements":"==0.3.10","direct":true,"kind":"runtime","optional":false},{"id":7263300481,"package_name":"cwcwidth","ecosystem":"pypi","requirements":"==0.1.6","direct":true,"kind":"runtime","optional":false},{"id":7263300482,"package_name":"ddt","ecosystem":"pypi","requirements":"==1.4.4","direct":true,"kind":"runtime","optional":false},{"id":7263300483,"package_name":"decorator","ecosystem":"pypi","requirements":"==5.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300484,"package_name":"doc8","ecosystem":"pypi","requirements":"==0.10.1","direct":true,"kind":"runtime","optional":false},{"id":7263300485,"package_name":"docopt","ecosystem":"pypi","requirements":"==0.6.2","direct":true,"kind":"runtime","optional":false},{"id":7263300486,"package_name":"docutils","ecosystem":"pypi","requirements":"==0.17.1","direct":true,"kind":"runtime","optional":false},{"id":7263300487,"package_name":"dropbox","ecosystem":"pypi","requirements":"==11.25.0","direct":true,"kind":"runtime","optional":false},{"id":7263300488,"package_name":"elementpath","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300489,"package_name":"execnet","ecosystem":"pypi","requirements":"==1.9.0","direct":true,"kind":"runtime","optional":false},{"id":7263300490,"package_name":"feedparser","ecosystem":"pypi","requirements":"==6.0.8","direct":true,"kind":"runtime","optional":false},{"id":7263300491,"package_name":"filelock","ecosystem":"pypi","requirements":"==3.4.2","direct":true,"kind":"runtime","optional":false},{"id":7263300492,"package_name":"freezegun","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300493,"package_name":"frozenlist","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300494,"package_name":"fusepy","ecosystem":"pypi","requirements":"==3.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300495,"package_name":"future","ecosystem":"pypi","requirements":"==0.18.2","direct":true,"kind":"runtime","optional":false},{"id":7263300496,"package_name":"gitdb","ecosystem":"pypi","requirements":"==4.0.9","direct":true,"kind":"runtime","optional":false},{"id":7263300497,"package_name":"gobject","ecosystem":"pypi","requirements":"==0.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300498,"package_name":"graphtools","ecosystem":"pypi","requirements":"==1.5.2","direct":true,"kind":"runtime","optional":false},{"id":7263300499,"package_name":"greenlet","ecosystem":"pypi","requirements":"==1.1.2","direct":true,"kind":"runtime","optional":false},{"id":7263300500,"package_name":"grip","ecosystem":"pypi","requirements":"==4.5.2","direct":true,"kind":"runtime","optional":false},{"id":7263300501,"package_name":"hjson","ecosystem":"pypi","requirements":"==3.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300502,"package_name":"idna","ecosystem":"pypi","requirements":"==3.3","direct":true,"kind":"runtime","optional":false},{"id":7263300503,"package_name":"imagesize","ecosystem":"pypi","requirements":"==1.3.0","direct":true,"kind":"runtime","optional":false},{"id":7263300504,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==4.10.0","direct":true,"kind":"runtime","optional":false},{"id":7263300505,"package_name":"iniconfig","ecosystem":"pypi","requirements":"==1.1.1","direct":true,"kind":"runtime","optional":false},{"id":7263300506,"package_name":"inotify-simple","ecosystem":"pypi","requirements":"==1.3.5","direct":true,"kind":"runtime","optional":false},{"id":7263300507,"package_name":"inotify","ecosystem":"pypi","requirements":"==0.2.10","direct":true,"kind":"runtime","optional":false},{"id":7263300508,"package_name":"ipdb","ecosystem":"pypi","requirements":"==0.13.9","direct":true,"kind":"runtime","optional":false},{"id":7263300509,"package_name":"ipython-genutils","ecosystem":"pypi","requirements":"==0.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300510,"package_name":"ipython","ecosystem":"pypi","requirements":"==7.30.1","direct":true,"kind":"runtime","optional":false},{"id":7263300511,"package_name":"iso8601","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300512,"package_name":"isodate","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":7263300513,"package_name":"isort","ecosystem":"pypi","requirements":"==5.10.1","direct":true,"kind":"runtime","optional":false},{"id":7263300514,"package_name":"itsdangerous","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300515,"package_name":"jedi","ecosystem":"pypi","requirements":"==0.18.1","direct":true,"kind":"runtime","optional":false},{"id":7263300516,"package_name":"joblib","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300517,"package_name":"kaptan","ecosystem":"pypi","requirements":"==0.5.12","direct":true,"kind":"runtime","optional":false},{"id":7263300518,"package_name":"lazy","ecosystem":"pypi","requirements":"==1.4","direct":true,"kind":"runtime","optional":false},{"id":7263300519,"package_name":"libcst","ecosystem":"pypi","requirements":"==0.3.23","direct":true,"kind":"runtime","optional":false},{"id":7263300520,"package_name":"libtmux","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false},{"id":7263300521,"package_name":"lxml","ecosystem":"pypi","requirements":"==4.7.1","direct":true,"kind":"runtime","optional":false},{"id":7263300522,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"==0.1.3","direct":true,"kind":"runtime","optional":false},{"id":7263300523,"package_name":"mock","ecosystem":"pypi","requirements":"==4.0.3","direct":true,"kind":"runtime","optional":false},{"id":7263300524,"package_name":"more-itertools","ecosystem":"pypi","requirements":"==8.12.0","direct":true,"kind":"runtime","optional":false},{"id":7263300525,"package_name":"multi-mechanize","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300526,"package_name":"multidict","ecosystem":"pypi","requirements":"==5.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300527,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"==0.4.3","direct":true,"kind":"runtime","optional":false},{"id":7263300528,"package_name":"nose","ecosystem":"pypi","requirements":"==1.3.7","direct":true,"kind":"runtime","optional":false},{"id":7263300529,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.21.5","direct":true,"kind":"runtime","optional":false},{"id":7263300530,"package_name":"packaging","ecosystem":"pypi","requirements":"==21.3","direct":true,"kind":"runtime","optional":false},{"id":7263300531,"package_name":"pandas","ecosystem":"pypi","requirements":"==1.3.5","direct":true,"kind":"runtime","optional":false},{"id":7263300532,"package_name":"parso","ecosystem":"pypi","requirements":"==0.8.3","direct":true,"kind":"runtime","optional":false},{"id":7263300533,"package_name":"path-and-address","ecosystem":"pypi","requirements":"==2.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300534,"package_name":"pathlib","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300535,"package_name":"pathspec","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":7263300536,"package_name":"pbr","ecosystem":"pypi","requirements":"==5.8.0","direct":true,"kind":"runtime","optional":false},{"id":7263300537,"package_name":"pexpect","ecosystem":"pypi","requirements":"==4.8.0","direct":true,"kind":"runtime","optional":false},{"id":7263300538,"package_name":"pickleshare","ecosystem":"pypi","requirements":"==0.7.5","direct":true,"kind":"runtime","optional":false},{"id":7263300539,"package_name":"pip","ecosystem":"pypi","requirements":"==21.3.1","direct":true,"kind":"runtime","optional":false},{"id":7263300540,"package_name":"pipdeptree","ecosystem":"pypi","requirements":"==2.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300541,"package_name":"platformdirs","ecosystem":"pypi","requirements":"==2.4.1","direct":true,"kind":"runtime","optional":false},{"id":7263300543,"package_name":"pluggy","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300544,"package_name":"ply","ecosystem":"pypi","requirements":"==3.11","direct":true,"kind":"runtime","optional":false},{"id":7263300546,"package_name":"pockets","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":7263300549,"package_name":"posix-ipc","ecosystem":"pypi","requirements":"==1.0.5","direct":true,"kind":"runtime","optional":false},{"id":7263300550,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"==3.0.24","direct":true,"kind":"runtime","optional":false},{"id":7263300551,"package_name":"psutil","ecosystem":"pypi","requirements":"==5.9.0","direct":true,"kind":"runtime","optional":false},{"id":7263300552,"package_name":"psycopg2-binary","ecosystem":"pypi","requirements":"==2.9.3","direct":true,"kind":"runtime","optional":false},{"id":7263300553,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"==0.7.0","direct":true,"kind":"runtime","optional":false},{"id":7263300554,"package_name":"py","ecosystem":"pypi","requirements":"==1.11.0","direct":true,"kind":"runtime","optional":false},{"id":7263300555,"package_name":"pyOpenSSL","ecosystem":"pypi","requirements":"==21.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300556,"package_name":"pyasn1","ecosystem":"pypi","requirements":"==0.4.8","direct":true,"kind":"runtime","optional":false},{"id":7263300557,"package_name":"pycairo","ecosystem":"pypi","requirements":"==1.20.1","direct":true,"kind":"runtime","optional":false},{"id":7263300558,"package_name":"pycparser","ecosystem":"pypi","requirements":"==2.21","direct":true,"kind":"runtime","optional":false},{"id":7263300559,"package_name":"pydevd-pycharm","ecosystem":"pypi","requirements":"==213.6461.77","direct":true,"kind":"runtime","optional":false},{"id":7263300560,"package_name":"pydevd-reload","ecosystem":"pypi","requirements":"==1.2","direct":true,"kind":"runtime","optional":false},{"id":7263300561,"package_name":"pyflakes","ecosystem":"pypi","requirements":"==2.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300562,"package_name":"pyparsing","ecosystem":"pypi","requirements":"==3.0.6","direct":true,"kind":"runtime","optional":false},{"id":7263300563,"package_name":"pyte","ecosystem":"pypi","requirements":"==0.8.0","direct":true,"kind":"runtime","optional":false},{"id":7263300564,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300565,"package_name":"pytest-django","ecosystem":"pypi","requirements":"==4.5.2","direct":true,"kind":"runtime","optional":false},{"id":7263300566,"package_name":"pytest-forked","ecosystem":"pypi","requirements":"==1.4.0","direct":true,"kind":"runtime","optional":false},{"id":7263300567,"package_name":"pytest-mock","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"runtime","optional":false},{"id":7263300568,"package_name":"pytest-random-order","ecosystem":"pypi","requirements":"==1.0.4","direct":true,"kind":"runtime","optional":false},{"id":7263300569,"package_name":"pytest-xdist","ecosystem":"pypi","requirements":"==2.5.0","direct":true,"kind":"runtime","optional":false},{"id":7263300570,"package_name":"pytest","ecosystem":"pypi","requirements":"==6.2.5","direct":true,"kind":"runtime","optional":false},{"id":7263300571,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.8.2","direct":true,"kind":"runtime","optional":false},{"id":7263300572,"package_name":"python-xlib","ecosystem":"pypi","requirements":"==0.31","direct":true,"kind":"runtime","optional":false},{"id":7263300573,"package_name":"pytz","ecosystem":"pypi","requirements":"==2021.3","direct":true,"kind":"runtime","optional":false},{"id":7263300574,"package_name":"pyxdg","ecosystem":"pypi","requirements":"==0.27","direct":true,"kind":"runtime","optional":false},{"id":7263300575,"package_name":"rdflib","ecosystem":"pypi","requirements":"==6.1.1","direct":true,"kind":"runtime","optional":false},{"id":7263300576,"package_name":"readchar","ecosystem":"pypi","requirements":"==3.0.4","direct":true,"kind":"runtime","optional":false},{"id":7263300577,"package_name":"regex","ecosystem":"pypi","requirements":"==2021.11.10","direct":true,"kind":"runtime","optional":false},{"id":7263300578,"package_name":"requests-toolbelt","ecosystem":"pypi","requirements":"==0.9.1","direct":true,"kind":"runtime","optional":false},{"id":7263300579,"package_name":"requests","ecosystem":"pypi","requirements":"==2.26.0","direct":true,"kind":"runtime","optional":false},{"id":7263300580,"package_name":"responses","ecosystem":"pypi","requirements":"==0.16.0","direct":true,"kind":"runtime","optional":false},{"id":7263300581,"package_name":"restructuredtext-lint","ecosystem":"pypi","requirements":"==1.3.2","direct":true,"kind":"runtime","optional":false},{"id":7263300582,"package_name":"rply","ecosystem":"pypi","requirements":"==0.7.8","direct":true,"kind":"runtime","optional":false},{"id":7263300583,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300584,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.7.3","direct":true,"kind":"runtime","optional":false},{"id":7263300585,"package_name":"scprep","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300586,"package_name":"setuptools","ecosystem":"pypi","requirements":"==46.1.3","direct":true,"kind":"runtime","optional":false},{"id":7263300587,"package_name":"sgmllib3k","ecosystem":"pypi","requirements":"==1.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300588,"package_name":"six","ecosystem":"pypi","requirements":"==1.16.0","direct":true,"kind":"runtime","optional":false},{"id":7263300589,"package_name":"smmap","ecosystem":"pypi","requirements":"==5.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300590,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"==2.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300591,"package_name":"soupsieve","ecosystem":"pypi","requirements":"==2.3.1","direct":true,"kind":"runtime","optional":false},{"id":7263300592,"package_name":"sphinx-argparse","ecosystem":"pypi","requirements":"==0.3.1","direct":true,"kind":"runtime","optional":false},{"id":7263300593,"package_name":"sphinx-better-theme","ecosystem":"pypi","requirements":"==0.1.5","direct":true,"kind":"runtime","optional":false},{"id":7263300594,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300595,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"==1.0.2","direct":true,"kind":"runtime","optional":false},{"id":7263300596,"package_name":"sphinxcontrib-fulltoc","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":7263300597,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300598,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"==1.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300599,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"==1.0.3","direct":true,"kind":"runtime","optional":false},{"id":7263300600,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"==1.1.5","direct":true,"kind":"runtime","optional":false},{"id":7263300601,"package_name":"sqlparse","ecosystem":"pypi","requirements":"==0.4.2","direct":true,"kind":"runtime","optional":false},{"id":7263300602,"package_name":"stevedore","ecosystem":"pypi","requirements":"==3.5.0","direct":true,"kind":"runtime","optional":false},{"id":7263300603,"package_name":"stone","ecosystem":"pypi","requirements":"==3.2.1","direct":true,"kind":"runtime","optional":false},{"id":7263300604,"package_name":"tasklogger","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":7263300605,"package_name":"textwrap3","ecosystem":"pypi","requirements":"==0.9.2","direct":true,"kind":"runtime","optional":false},{"id":7263300606,"package_name":"threadpoolctl","ecosystem":"pypi","requirements":"==3.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300607,"package_name":"tmuxp","ecosystem":"pypi","requirements":"==1.9.3","direct":true,"kind":"runtime","optional":false},{"id":7263300608,"package_name":"toml","ecosystem":"pypi","requirements":"==0.10.2","direct":true,"kind":"runtime","optional":false},{"id":7263300609,"package_name":"tomli","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false},{"id":7263300610,"package_name":"traitlets","ecosystem":"pypi","requirements":"==5.1.1","direct":true,"kind":"runtime","optional":false},{"id":7263300611,"package_name":"typed-ast","ecosystem":"pypi","requirements":"==1.5.1","direct":true,"kind":"runtime","optional":false},{"id":7263300612,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==4.0.1","direct":true,"kind":"runtime","optional":false},{"id":7263300613,"package_name":"typing-inspect","ecosystem":"pypi","requirements":"==0.7.1","direct":true,"kind":"runtime","optional":false},{"id":7263300614,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.26.7","direct":true,"kind":"runtime","optional":false},{"id":7263300615,"package_name":"uvloop","ecosystem":"pypi","requirements":"==0.16.0","direct":true,"kind":"runtime","optional":false},{"id":7263300616,"package_name":"wcwidth","ecosystem":"pypi","requirements":"==0.2.5","direct":true,"kind":"runtime","optional":false},{"id":7263300617,"package_name":"wheel","ecosystem":"pypi","requirements":"==0.37.1","direct":true,"kind":"runtime","optional":false},{"id":7263300618,"package_name":"wrapt","ecosystem":"pypi","requirements":"==1.13.3","direct":true,"kind":"runtime","optional":false},{"id":7263300619,"package_name":"xmlschema","ecosystem":"pypi","requirements":"==1.9.2","direct":true,"kind":"runtime","optional":false},{"id":7263300620,"package_name":"xterm","ecosystem":"pypi","requirements":"==0.7.3","direct":true,"kind":"runtime","optional":false},{"id":7263300621,"package_name":"yarl","ecosystem":"pypi","requirements":"==1.7.2","direct":true,"kind":"runtime","optional":false},{"id":7263300622,"package_name":"yattag","ecosystem":"pypi","requirements":"==1.14.0","direct":true,"kind":"runtime","optional":false},{"id":7263300623,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.6.0","direct":true,"kind":"runtime","optional":false},{"id":7263300624,"package_name":"zipstream","ecosystem":"pypi","requirements":"==1.1.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"test_utilities/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.705Z","updated_at":"2023-01-31T05:01:08.705Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/test_utilities/src/setup.py","dependencies":[{"id":7263300629,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300630,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300631,"package_name":"coveralls","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300632,"package_name":"decorator","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300633,"package_name":"freezegun","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300634,"package_name":"gitpython","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300635,"package_name":"mock","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300636,"package_name":"multi-mechanize","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300637,"package_name":"posix-ipc","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300638,"package_name":"psutil","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300639,"package_name":"pyasn1","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300640,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300641,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300642,"package_name":"pytest-django","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300643,"package_name":"pytest-forked","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300644,"package_name":"pytest-random-order","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300645,"package_name":"pytest-xdist","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300646,"package_name":"pyxb","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300647,"package_name":"rdflib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300648,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300649,"package_name":"responses","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"utilities/src/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-31T05:01:08.717Z","updated_at":"2023-01-31T05:01:08.717Z","repository_link":"https://github.com/DataONEorg/d1_python/blob/master/utilities/src/setup.py","dependencies":[{"id":7263300670,"package_name":"dataone.common","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300671,"package_name":"dataone.libclient","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300672,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300673,"package_name":"aiohttp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":7263300674,"package_name":"requests","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":14.301098370546146,"created_at":"2023-10-04T00:09:07.431Z","updated_at":"2026-04-14T05:30:45.637Z","avatar_url":"https://github.com/DataONEorg.png","language":"Python","category":"Sustainable Development","sub_category":"Data Catalogs and Interfaces","monthly_downloads":2266,"total_dependent_repos":27,"total_dependent_packages":21,"readme":"## d1_python\n\nPython components for DataONE clients and servers.\n\nSee the [documentation on ReadTheDocs](http://dataone-python.readthedocs.io/en/latest/).\n\n[![Build Status](https://travis-ci.org/DataONEorg/d1_python.svg?branch=master)](https://travis-ci.org/DataONEorg/d1_python)\n[![Coverage Status](https://coveralls.io/repos/github/DataONEorg/d1_python/badge.svg?branch=master)](https://coveralls.io/github/DataONEorg/d1_python?branch=master)\n[![Documentation Status](https://readthedocs.org/projects/dataone-python/badge/?version=latest)](http://dataone-python.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/dataone.common.svg)](https://badge.fury.io/py/dataone.common)\n\n### v2 and v1 API\n\n* DataONE Generic Member Node:\n[PyPI](https://pypi.python.org/pypi/dataone.gmn) \u0026ndash;\n[Docs](http://dataone-python.readthedocs.io/en/latest/gmn/index.html)\n* DataONE Client Library for Python:\n[PyPI](https://pypi.python.org/pypi/dataone.libclient) \u0026ndash;\n[Docs](http://dataone-python.readthedocs.io/en/latest/client/index.html)\n* DataONE Common Library for Python: \u0026ndash;\n[PyPI](https://pypi.python.org/pypi/dataone.common) \u0026ndash;\n[Docs](http://dataone-python.readthedocs.io/en/latest/common/index.html)\n* DataONE Test Utilities:\n[PyPI](https://pypi.python.org/pypi/dataone.test_utilities) \u0026ndash;\n[Docs](http://dataone-python.readthedocs.io/en/latest/test/index.html)\n\n### v1 API\n\n* DataONE Command Line Client (CLI):\n[PyPI](https://pypi.python.org/pypi/dataone.cli) \u0026ndash;\n[Docs](http://dataone-python.readthedocs.io/en/latest/cli/index.html)\n* DataONE ONEDrive:\n[PyPI](https://pypi.python.org/pypi/dataone.onedrive) \u0026ndash;\n[Docs](http://dataone-python.readthedocs.io/en/latest/onedrive/index.html)\n* DataONE Certificate Extensions:\n[PyPI](https://pypi.python.org/pypi/dataone.certificate_extensions)\n* DataONE Gazetteer:\n[PyPI](https://pypi.python.org/pypi/dataone.gazetteer)\n* DataONE Ticket Generator:\n[PyPI](https://pypi.python.org/pypi/dataone.ticket_generator)\n* Google Foresite Toolkit:\n[PyPI](https://pypi.python.org/pypi/google.foresite-toolkit)\n\n### Contributing\n\nPull Requests (PRs) are welcome! Before you start coding, feel free to reach out to us and let us know what you plan to implement. We might be able to point you in the right direction.\n\nWe try to follow [PEP8](https://www.python.org/dev/peps/pep-0008/).\n\nTo help keep the style consistent and commit logs, blame/praise and other code annotations accurate, we autoformat all source with Black, isort and docformatter. A script that wraps up the formatting is available at `./dev_tools/src/d1_dev/src-format.py`. Simply call it before commit.\n\n* [Black](https://black.readthedocs.io/en/stable/) - Standardized source formatting\n* [isort](https://github.com/timothycrosley/isort) - Sort and group imports\n* [docformatter](https://github.com/myint/docformatter) - PEP257 format docstrings \n* [Flake8](http://flake8.pycqa.org/en/latest/) - Lint, code and style validation\n\nConfiguration files for isort (`./.isort.cfg`) and Flake8 (`./.style.yapf`) are included, and show the formatting options we have selected.\n\n### Unit tests\n\nTesting is based on the [pytest](https://docs.pytest.org/en/latest/) unit test framework.\n \n#### Sample files\n\nMost of our tests work by serializing objects generated by the code being tested and comparing them with reference samples stored in files. This allows us to check all properties of generated objects without having to write asserts that check individual properties, eliminating a time consuming and repetitive part of the test writing process.\n\nWhen writing comparisons manually, one will often select a few properties to check, and when those are determined to be valid, the remaining values are assumed to be correct as well. By comparing complete serialized versions of the objects, we avoid such assumptions.\n\nBy storing the expected serialized objects in files instead of in the unit tests themselves, we avoid embedding hard coded documents inside the unit test modules and make it simple to automatically update the expected contents of objects as the code evolves.\n\nWhen unit tests are being run as part of CI or as a normal guard against regressions in a local development environment, any mismatches between actual and expected serialized versions of objects simply trigger test failures. However, when a test is initially created or the serialized version of an object is expected to change, tests can automatically write or update the sample files they use. This function is enabled by starting `pytest` with the `--sample-ask` switch. When enabled, missing or mismatched sample files will not trigger test failures, instead starting an interactive process where differences are displayed together with yes/no prompts for writing or updating the samples. By default, differences are displayed in a GUI window using `kdiff3`, which provides a nice color coded view of the differences.\n\nThe normal procedure for writing a sample based unit test is to just write the test as if the sample already exists, then running the test with `--sample-ask` and viewing and approving the resulting sample, which is then automatically written to a file. The sample file name is displayed, making it easy to find the file in order to add it to tracking so that it can be committed along with the test module.\n\nWhen working on large changes that cause many samples to become outdated, reviewing and approving samples can be deferred until the new code approaches stability. This is done by running the tests with `--sample-update`, which automatically writes or updates samples to match the current results. Then, view and approve the tests with `--sample-review` before committing.\n\nTypically, it is not desirable to track generated files in Git. However, although the sample files are generated, they are an integral part of the units tests, and should be tracked just like the unit tests themselves.\n\nAlso implemented is a simple process for cleaning out unused sample files. Sample files are often orphaned when their corresponding tests are removed or refactored. The process is activated with the `--sample-tidy` switch. When active, the test session starts by moving all sample files from their default directory, `test_docs`, to `test_docs_tidy`. As the sample files are accessed by tests, they are automatically moved back to `test_docs`, and any files remaining in `test_docs_tidy` after a complete test run can be untracked and deleted.\n\nWhen staging `test_docs`, stage the directory, so that new files are included, and deleted files get deleted on the server:\n\n    git add test_utilities/src/d1_test/test_docs\n    git commit -m 'Update samples'\n\n#### DataONE Client to Django test adapter\n\nGMN tests are based on an adapter that enables using d1_client with the Django test framework. The adapter mocks Requests to issue requests through the Django test client.\n\nDjango includes a test framework with a test client that provides an interface that's similar to that of an HTTP client, but calls Django internals directly. The client enables testing of most functionality of a Django app without actually starting the app as a network service.\n\nFor testing GMN's D1 REST interfaces, we want to issue the test requests via the D1 MN client. Without going through the D1 MN client, we would have to reimplement much of what the client does, related to formatting and parsing D1 REST requests and responses.\n\nThis module is typically used in tests running under django.test.TestCase and requires an active Django context, such as the one provided by `./manage.py test`.\n\n#### Command line switches\n\nWe have added some custom functionality to pytest which can be enabled by launching pytest with the following switches:\n\n  * `--sample-ask`: Enable a mode that display diffs and, after user confirmation, can automatically update or write new test sample documents on mismatches.\n\n  * `--pycharm`:\n   \n    * Automatically open files where errors occur and move the cursor to the line of the error\n    \n    * Show syntax highlighted diffs for scripts and data files using PyCharm's powerful diff viewer\n    \n    * Also requires the path to the PyCharm binary to be configured in `DEBUG_PYCHARM_BIN_PATH` in `./conftest.py`. \n\n  * See `./conftest.py` for implementation and notes.\n\n  * `parameterize_dict`: Support for parameterizing test functions by adding a dict class member containing parameter sets.\n\nNote: None of these switches can be used when running tests in parallel with xdist (`-n`, `--dist`, `--tx`).\n\n#### Aliases\n\nI have found the following aliases handy for running the tests. If using the `bash` shell, these can be added to `~/.bashrc`.\n\n* Run tests serially. If the test uses one or more samples, and the result of the test has changed since the last time the sample was updated, open a diff between the current result and the sample in the PyCharm diff viewer and prompt the user for how to handle the mismatch. Options are to update the sample to match the current result and continue, ignore the mismatch for now and continue, or fail the test. When a test fails, stop the test run and open the location of the test failure in PyCharm, with the cursor set to the last line that was executed before the error and is part of d1_python.\n\n      alias p='pytest --exitfirst --random-order-bucket=none --sample-ask --pycharm'\n\n* Same as `p`, but more verbose and disabled capturing of console output. Capturing causes output from tests that passed to be hidden, making it easier to find the output from tests that failed. However, it makes debugging harder, as no output is displayed while stepping through tests that have not yet failed.\n\n      alias pc='pytest --exitfirst --random-order-bucket=none --sample-ask --pycharm -vv --capture=no'\n\n* Run tests in parallel using all available CPU cores, and create a coverage report. This greatly speeds up test execution but cannot be used with the PyCharm integration and interactive sample updates. \n\n      alias pn='pytest -n auto --cov-report=term --cov-report=xml'\n\npytest searches for and runs all tests below the current directory, so starting pytest directly or via one of the aliases from the d1_python directory will run all tests.\n\nTo run a specific test module, add a path to the test module. E.g.:\n\n    p d1_python/lib_common/src/d1_common/tests/test_checksum.py\n \nTo run only a single test, add a filter on the test number. E.g.:\n\n    p d1_python/lib_common/src/d1_common/tests/test_checksum.py -k 1050\n\n#### Debugging tests with PyCharm\n\n* By default, the PyCharm `Run context configuration (Ctrl+Shift+F10)` will generate test configurations and run the tests under the native unittest framework in Python's standard library. This will cause the tests to fail, as they require pytest. To generate pytest configurations by default, set `Settings \u003e Tools \u003e Python Integrated Tools \u003e Default test runner` to pytest. See the [documentation](https://www.jetbrains.com/help/pycharm/2017.1/testing-frameworks.html) for details.\n\n* Generate and run a configuration for a specific test by placing the cursor on a test function name and running `Run context configuration (Ctrl+Shift+F10)`.\n\n* After generating the configuration, debug with `Debug (Shift-F9)`.\n\n* If running the tests outside of PyCharm, launching `pytest` with the `--pycharm` switch will cause `pytest` to attempt to move the cursor in PyCharm to the location of any tests failures as they occur. This should be used with the `--exitfirst` (`-x`) switch.\n\n* Stopping a test that has hit a breakpoint in PyCharm can cause the test database to be left around. On the next run, Django will then prompt the user to type \"yes\" to remove the database. The prompt appears in the PyCharm debug console output. To disable the prompt, go to `Run / Debug Configurations \u003e Edit Configurations \u003e Defaults \u003e Django tests \u003e Options` and add `--noinput`. See the [question on SO](https://stackoverflow.com/questions/34244171) for details.\n\n* `pytest` by default captures `stdout` and `stderr` output for the tests and only shows the output for the tests that failed after all tests have been completed. Since a test that hits a breakpoint has not yet failed, this hides any output from tests being debugged and also hides output from the debug console prompt (where Python script can be evaluated in the current context). To see the output while debugging, go to `Run / Debug Configurations \u003e Edit Configurations \u003e Defaults \u003e pytest \u003e Additional Arguments` and add `--capture=no`. Also add an environment variable `JB_DISABLE_BUFFERING` and set it to `--capture=no --exitfirst --verbose`. Verbosity can also be increased by adding one or more `-v`.\n\n* Each unit test is implicitly wrapped in a database transaction and I have not found a way around this. The effect is that it's cumbersome to check the current state of the database while at a breakpoint or stepping through tests. PyCharm's database tools will only see the database as it was before the test was started. The only workaround I've found is to manually issue queries from within the current context, using the PyCharm console. While stepping through the test, bring up the console,`View \u003e Tool Windows \u003e Python Console`, and click `Show Python Prompt`. Then submit queries with, e.g., `\u003e self.run_django_sql('select count(*) from app_scienceobject')`. Write them in the database console to get the code completion and other features, then copy it into a call in the Python console. If an invalid query is submitted, the current database transaction will be lost. If there is no output when running commands in the console, it's due to the output being captured by pytest. See above.\n\n* The settings in `settings_test.py` are optimized for testing and debugging, while the settings in `settings_template.py` are optimized for production. To use `settings_test.py` when debugging tests in PyCharm, go to `Run / Debug Configurations \u003e Edit Configurations \u003e Defaults \u003e pytest \u003e Environment variables`, add `DJANGO_SETTINGS_MODULE` and set it to `d1_gmn.settings_test`.\n\n* If the `requirements.txt` file is out of date, the `Package requirements` inspection in PyCharm will display a list of missing packages at the top of the screen. Do not follow PyCharm's suggestion to install the missing packages as it's probably the `requirements.txt` file that should be updated instead.  See the section describing how to update dependencies for more information.\n \n\n### Django\n\n* Testing of the GMN Django web app is based on pytest and [pytest-django](https://pytest-django.readthedocs.io/en/latest/).\n\n* The tests use `settings_test.py` for GMN and Django configuration.\n\n* pytest-django forces `settings.DEBUG` to `False` in `pytest_django/plugin.py`. To set `settings.DEBUG`, override it close to where it will be read, e.g., wit `@django.test.override_settings(DEBUG=True)`.\n\n\n#### Django database test fixture\n\nThe GMN tests run in the context of a database that has been prepopulated with randomized data. The fixture file for the database is a JSON file stored in\n\n    ./test_utilities/src/d1_test/test_docs/json/db_fixture.json.bz2\n\nAfter changing any of the ORM classes in models.py, the database test fixture must be regenerated. This will often cause sample files to have to be updated as well, by running the tests with `--sample-update`.\n\nGenerate the fixture file with:\n\n    ./gmn/src/d1_gmn/tests/mk_db_fixture.py\n\nFixtures can be loaded directly into the test database from the JSON files but it's much faster to keep an extra copy of the db as a template and create the test db as needed with Postgres' \"create database from template\" function. So we only load the fixtures into a template database and reuse the template. This is implemented in `./conftest.py`.\n\nCreate template database from fixture with:\n\n    ./gmn/src/d1_gmn/tests/mk_db_template.py\n\nThe template is reused between test runs.\n\nScience object bytes are stored on disk, so they are not captured in the db fixture. If a test needs `get()`, `getChecksum()` and `replica()` to work, it must first create the correct file in GMN's object store or mock object store reads. The bytes are predetermined for a given test PID. See `d1_test.d1_test_case.generate_reproducible_sciobj_str()` and `d1_gmn.app.util.sciobj_file_path()`.\n\n\n### Setting up the development environment\n\nThese instructions are tested on Linux Ubuntu 22.04 and should also work on close derivatives.\n\n#### Install packaged dependencies\n\n```shell\nsudo bash -c '\n  apt update\n  apt -fy dist-upgrade\n  apt install -y \\\n    build-essential \\\n    curl \\\n    gir1.2-gtk-4.0 \\\n    git \\\n    libbz2-dev \\\n    libcairo2-dev \\\n    libffi-dev \\\n    libgirepository1.0-dev \\\n    liblzma-dev \\\n    libncursesw5-dev \\\n    libreadline-dev \\\n    librsync-dev \\\n    libsmbclient-dev \\\n    libsqlite3-dev \\\n    libssl-dev \\\n    libxml2-dev \\\n    libxmlsec1-dev \\\n    libxslt1-dev \\\n    llvm \\\n    make \\\n    openssl \\\n    postgresql \\\n    postgresql-server-dev-all \\\n    python-setuptools \\\n    python3-dev \\\n    tk-dev \\\n    wget \\\n    xz-utils \\\n    zlib1g-dev\n'\n```\n\n#### Install pyenv\n\nIn general, the system version of Python should not be touched. E.g., avoid installing packages with `sudo pip`.\n\npyenv provides a handy way to download and build local versions of Python mostly without sudo and without modifying the system Python environment. The Python environments created and managed by pyenv are stored under `~/.pyenv` by default. pyenv automatically switches between Python environments based on the current directory.\n\nInstall:\n\n    curl https://pyenv.run | bash\n    \n* Follow the instructions on how to activate pyenv automatically.\n* Open a new shell.\n\n#### Set up a virtual environment for d1_python\n\nThis is the environment all of d1_python's packaged Python dependencies will be installed to. It provides the runtime environment for d1_python tests and utilities.\n\nThe `CONFIGURE_OPTS=--enable-shared` setting in the snippet is required for `mod_wsgi` to be able to run from the environment. \n\n    bash -c '\n        pyver=3.11.3\n        CONFIGURE_OPTS=--enable-shared pyenv install ${pyver}\n        pyenv virtualenv ${pyver} d1_python\n        pyenv activate d1_python\n        pip install --upgrade pip wheel\n    '\n\nSelect a location for the d1_python git repository. Change this as needed.\n\n    export d1path=~/dev/d1_python\n\nDownload the source from GitHub and install:\n\n    bash -c '\n        git clone https://github.com/DataONEorg/d1_python.git ${d1path}\n        cd ${d1path}\n        pyenv activate d1_python\n        ./dev_tools/src/d1_dev/setup-all.py --root . develop\n    '\n\n#### Postgres\n\n    sudo apt install --yes postgresql\n\nSet the password of the postgres superuser account:\n\n    sudo passwd -d postgres\n    sudo su postgres -c passwd\n\nWhen prompted for the password, enter a new superuser password (and remember it :-).\n\n    sudo -u postgres createdb -E UTF8 gmn2\n    sudo -u postgres createuser --superuser `whoami`\n\nPyCharm (and other IntelliJ based platforms), are not able to connect to database with local (UNIX) sockets. Postgres' convenient \"peer\" authentication type only works over local sockets. A convenient workaround for this is to set Postgres up to trust local connections made over TCP/IP.\n\n    sudo editor /etc/postgresql/14/main/pg_hba.conf\n\nAdd line:\n\n    host all all 127.0.0.1/32 trust\n\nA similar line for `scram-sha-256` may already be present and, if so, must be commented out:\n\n    # host all all 127.0.0.1/32 scram-sha-256\n\n#### Certificates\n\nCopy the OpenSSL config file from the repository.\n\nMake sure to update the `d1path` if necessary. \n\n    sudo bash -c '\n        export d1path=~/dev/d1_python\n        mv /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak\n        cp ${d1path}/gmn/src/d1_gmn/deployment/openssl.cnf /etc/ssl/openssl.cnf\n    '\n\n#### Tests\n\nRun the tests and verify that they all pass:\n\n    pyenv activate d1_python\n    pip install pytest\n    pytest\n\n#### PyPI\n\nSet up credentials for working with the DataONE account on PyPI:\n\nEdit `~/.pypirc`:\n\n    [server-login]\n    username: dataone\n    password: \u003csecret\u003e\n\n#### Running GMN under Apache\n\nThe setup above is sufficient for testing against GMN using HTTP and the Django test client, which is normally all that is required. However, if testing over HTTPS or in an environment that is closer to production is required, Apache can be set up to host GMN directly from its location in d1_python, using the d1_python virtual environment.\n\nIn such a setup, the GMN source can be open in an IDE and changes made active with an `service apache2 reload`.\n\nNote that `mod_wsgi` can only run from a Python environment compiled with `--enable-shared`, as done in the venv setup above.\n\nThe APT package version of `mod_wsgi` has been compiled to work with the APT package version of Python. The two must be compatible at the ABI level, and Apache can only load a single instance of `mod_wsgi`. So this uninstalls any installed `mod_wsgi` APT package before compiling a new version against the Python environment in which it will be used.\n\n\n    sudo bash -c '\n        service apache2 stop\n        apt remove libapache2-mod-wsgi*\n        apt-get update\n        apt-get install python libexpat1 apache2 apache2-utils ssl-cert apache2-dev\n        setfacl -m u:${SUDO_USER}:w /etc/apache2/mods-available/wsgi.load\n    '\n\n    bash -c '\n        pyenv activate d1_python\n        pip install mod_wsgi\n        mod_wsgi-express module-config \u003e\u003e /etc/apache2/mods-available/wsgi.load\n    '\n    \n    sudo bash -c '\n        a2enmod wsgi\n        service apache2 restart\n    '\n\n### Creating a new release\n\n#### Updating dependencies\n\nUpdate all packages managed by pip:\n\n    ./dev_tools/src/d1_dev/pip-update-all.py\n\nThe DataONE Python stack specifies the versions that were tested in CI builds before release as the lowest required versions, and allows any later versions to be installed as part of regular maintenance.\n\nCheck that there are no package version conflicts:\n\n    pip check \n\nAs updating the versions in the `setup.py` files manually is time consuming and error prone, a script is included that automates the task. The script updates the version information for the dependencies in the `setup.py` files to match the versions of the currently installed dependencies. Update the `setup.py` files with:\n\n    ./dev_tools/src/d1_dev/src-sync-dependencies.py . \u003cversion\u003e\n\nThe `\u003cversion\u003e` argument specifies what the version will be for the release. E.g., `\"2.3.1\"`. We keep the version numbers in sync between all of the packages in the d1_python git repository, so only one version string needs to be specified.\n\nThe current version can be found in any of the `setup.py` files and in the `VERSION` string in `./lib_common/src/d1_common/const.py`\n\nRun the tests, ensure that they pass and update sample files as necessary.\n\nThe `requirements.txt` file contains a list of packages and pinned versions that will be used in CI builds. It designates the exact Python environment in which the unit tests will run in CI builds.\n\nUpdate the `requirements.txt` file:\n\n    ./dev_tools/src/d1_dev/update-requirements-txt.py\n\n\nCommit and push the changes, and check the build on Travis.\n\n#### Building the release packages\n\nAfter successful build, clone a fresh copy, which will be used for building the release packages:\n\nBuilding the release packages from a fresh clone is a simple way of ensuring that only tracked files are released. It is a workaround for the way setuptools works, which is basically that it vacuums up everything that looks like a Python script in anything that looks like a package, which makes it easy to publish local files by accident.\n\nCreate a Python venv to use for build and deploy:\n\n* The package `setup.py` scripts will run in this venv.\n* The venv can be reused indefinitely.\n    \n    pyenv virtualenv \"x.y.z\" venv_build\n\n* Where \"x.y.z\" is one of the versions listed in `pyenv versions`.\n* Pick a version that is close or the same as the version of Python used for testing on Travis.\n\nBuild and publish the packages:\n\n* Download current master from GitHub, create binary wheel packages and push the packages to PyPI.\n\n    pyenv activate venv_build\n    \n    bash -c '\n      bdir=~/d1_python_build\n      rm -rf ${bdir}\n      pip install --upgrade pip\n      pip install --upgrade wheel    \n      git clone git@github.com:DataONEorg/d1_python.git ${bdir}\n      ${bdir}/dev_tools/src/d1_dev/setup-all.py --root ${bdir} bdist_wheel upload\n    '\n\n### Building the documentation\n\nWhen `d1_python` is pushed to GitHub, a signal is sent by GitHub to [ReadTheDocs.org](https://readthedocs.org/), which automatically retrieves the new version of the project from GitHub, builds the documentation and makes it available at\n\nhttp://dataone-python.readthedocs.io/en/latest/\n\nSo it is not absolutely necessary to have a local build environment set up for the documentation, but building locally provides faster feedback when making changes that need to be checked before publishing.\n\n### Troubleshooting\n\nClear out the installed libraries and reinstall:\n\n    sudo rm -rf /usr/local/lib/python2.7/dist-packages/d1_*\n    sudo nano /usr/local/lib/python2.7/dist-packages/easy-install.pth\n    Remove all lines that are: dataone.*.egg and that are paths to your d1_python.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["eml","ecology","ecological-metadata-language","arctic","arctic-data-center","data-provenance","data-repository","dataone","doi","ecoinformatics"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/109660","html_url":"https://ost.ecosyste.ms/projects/109660"}