{"id":91631,"name":null,"description":"Specification Curve is a Python package that performs specification curve analysis: exploring how a coefficient varies under multiple different specifications of a statistical model.","url":"https://github.com/aeturrell/specification_curve","last_synced_at":"2025-09-09T00:33:27.603Z","repository":{"id":38094263,"uuid":"282989537","full_name":"aeturrell/specification_curve","owner":"aeturrell","description":"Specification Curve is a Python package that performs specification curve analysis: exploring how a coefficient varies under multiple different specifications of a statistical model.","archived":false,"fork":false,"pushed_at":"2025-08-07T09:34:19.000Z","size":6224,"stargazers_count":20,"open_issues_count":8,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-07T11:29:10.878Z","etag":null,"topics":["analysis","econometrics","ols-regression","robustness","specifications","statistics","visualization"],"latest_commit_sha":null,"homepage":"https://aeturrell.github.io/specification_curve/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aeturrell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","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}},"created_at":"2020-07-27T19:00:23.000Z","updated_at":"2025-08-07T09:34:15.000Z","dependencies_parsed_at":"2024-04-24T13:37:37.123Z","dependency_job_id":null,"html_url":"https://github.com/aeturrell/specification_curve","commit_stats":{"total_commits":233,"total_committers":4,"mean_commits":58.25,"dds":0.4849785407725322,"last_synced_commit":"05d451b29e89b90927326a225c4e20ab13963940"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/aeturrell/specification_curve","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aeturrell","download_url":"https://codeload.github.com/aeturrell/specification_curve/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve/sbom","scorecard":{"id":169322,"data":{"date":"2025-08-11","repo":{"name":"github.com/aeturrell/specification_curve","commit":"e6901b31edde9e0832469f95a0bc344addeb4ab5"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/6 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":3,"reason":"4 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labeler.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/labeler.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/labeler.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/labeler.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/aeturrell/specification_curve/tests.yml/main?enable=pin","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  10 third-party GitHubAction 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/labeler.yml:19","Warn: no topLevel permission defined: .github/workflows/labeler.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/release.yml:4","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:14"],"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T15:57:35.994Z","repository_id":38094263,"created_at":"2025-08-16T15:57:35.994Z","updated_at":"2025-08-16T15:57:35.994Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231122,"owners_count":25245687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"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":"aeturrell","name":null,"uuid":"11294320","kind":"user","description":"","email":"","website":"www.aeturrell.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/11294320?u=2af6f22a566bf39159224f53785d2c6d540e0e38\u0026v=4","repositories_count":9,"last_synced_at":"2023-03-02T23:40:17.126Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/aeturrell","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-13T13:23:20.982Z","updated_at":"2023-03-02T23:40:17.137Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aeturrell","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aeturrell/repositories"},"packages":[],"commits":{"id":662743,"full_name":"aeturrell/specification_curve","default_branch":"master","committers":[{"name":"pyup-bot","email":"github-bot@pyup.io","count":120},{"name":"aeturrell","email":"a.e.turrell@gmail.com","count":72},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]@users.noreply.github.com","count":38},{"name":"aeturrell","email":"aeturrell@users.noreply.github.com","count":3}],"total_commits":233,"total_committers":4,"total_bot_commits":38,"total_bot_committers":1,"mean_commits":58.25,"dds":0.4849785407725322,"past_year_committers":null,"past_year_total_commits":null,"past_year_total_committers":null,"past_year_total_bot_commits":null,"past_year_total_bot_committers":null,"past_year_mean_commits":null,"past_year_dds":null,"last_synced_at":"2023-03-19T16:56:40.899Z","last_synced_commit":"05d451b29e89b90927326a225c4e20ab13963940","created_at":"2023-03-09T10:07:29.523Z","updated_at":"2023-09-19T17:35:39.044Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-06T00:00:13.651Z","repositories_count":5480019,"commits_count":853389126,"contributors_count":31098155,"owners_count":906558,"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":"aeturrell/specification_curve","html_url":"https://github.com/aeturrell/specification_curve","last_synced_at":"2025-09-06T15:14:22.525Z","status":null,"issues_count":23,"pull_requests_count":586,"avg_time_to_close_issue":40914637.4375,"avg_time_to_close_pull_request":1204031.7486631016,"issues_closed_count":16,"pull_requests_closed_count":561,"pull_request_authors_count":2,"issue_authors_count":4,"avg_comments_per_issue":0.5652173913043478,"avg_comments_per_pull_request":0.33447098976109213,"merged_pull_requests_count":383,"bot_issues_count":1,"bot_pull_requests_count":545,"past_year_issues_count":7,"past_year_pull_requests_count":110,"past_year_avg_time_to_close_issue":4291103.5,"past_year_avg_time_to_close_pull_request":1035078.58,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":100,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.14285714285714285,"past_year_avg_comments_per_pull_request":0.36363636363636365,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":86,"past_year_merged_pull_requests_count":59,"created_at":"2023-05-15T00:26:52.047Z","updated_at":"2025-09-06T15:14:22.527Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/aeturrell%2Fspecification_curve/issues","issue_labels_count":{"bug":5,"enhancement":4,"github_actions":2,"refactoring":2,"testing":2,"documentation":2,"dependencies":1,"python":1},"pull_request_labels_count":{"dependencies":544,"python":388,"github_actions":156,"performance":2},"issue_author_associations_count":{"OWNER":20,"NONE":2,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":545,"OWNER":41},"issue_authors":{"aeturrell":20,"Shunsenhuang-123":1,"s3alfisc":1,"dependabot[bot]":1},"pull_request_authors":{"dependabot[bot]":545,"aeturrell":41},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-09T00:00:11.778Z","repositories_count":10174508,"issues_count":31931287,"pull_requests_count":100075476,"authors_count":10734044,"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":{"bug":1},"past_year_pull_request_labels_count":{"dependencies":86,"github_actions":67,"python":19,"performance":2},"past_year_issue_author_associations_count":{"OWNER":6,"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":86,"OWNER":24},"past_year_issue_authors":{"aeturrell":6,"s3alfisc":1},"past_year_pull_request_authors":{"dependabot[bot]":86,"aeturrell":24},"maintainers":[{"login":"aeturrell","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aeturrell"}],"active_maintainers":[{"login":"aeturrell","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aeturrell"}]},"events":{"total":{"CreateEvent":54,"ReleaseEvent":4,"IssuesEvent":14,"WatchEvent":3,"DeleteEvent":50,"IssueCommentEvent":29,"PushEvent":61,"PullRequestEvent":101},"last_year":{"CreateEvent":54,"ReleaseEvent":4,"IssuesEvent":14,"WatchEvent":3,"DeleteEvent":50,"IssueCommentEvent":29,"PushEvent":61,"PullRequestEvent":101}},"keywords":["analysis","econometrics","ols-regression","robustness","specifications","statistics","visualization"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/labeler.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T00:55:24.898Z","updated_at":"2023-02-17T00:55:24.898Z","repository_link":"https://github.com/aeturrell/specification_curve/blob/main/.github/workflows/labeler.yml","dependencies":[{"id":7729394243,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7729394244,"package_name":"crazy-max/ghaction-github-labeler","ecosystem":"actions","requirements":"v4.1.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T00:55:24.980Z","updated_at":"2023-02-17T00:55:24.980Z","repository_link":"https://github.com/aeturrell/specification_curve/blob/main/.github/workflows/release.yml","dependencies":[{"id":7729394248,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7729394249,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4.5.0","direct":true,"kind":"composite","optional":false},{"id":7729394250,"package_name":"salsify/action-detect-and-tag-new-version","ecosystem":"actions","requirements":"v2.0.3","direct":true,"kind":"composite","optional":false},{"id":7729394251,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"v1.6.4","direct":true,"kind":"composite","optional":false},{"id":7729394252,"package_name":"release-drafter/release-drafter","ecosystem":"actions","requirements":"v5.22.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T00:55:25.267Z","updated_at":"2023-02-17T00:55:25.267Z","repository_link":"https://github.com/aeturrell/specification_curve/blob/main/.github/workflows/tests.yml","dependencies":[{"id":7729394262,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7729394263,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4.5.0","direct":true,"kind":"composite","optional":false},{"id":7729394264,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3.2.4","direct":true,"kind":"composite","optional":false},{"id":7729394265,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7729394266,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7729394267,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3.1.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2023-02-17T00:55:25.359Z","updated_at":"2023-02-17T00:55:25.359Z","repository_link":"https://github.com/aeturrell/specification_curve/blob/main/poetry.lock","dependencies":[{"id":7729394358,"package_name":"alabaster","ecosystem":"pypi","requirements":"0.7.12","direct":false,"kind":"develop","optional":false},{"id":7729394359,"package_name":"anyio","ecosystem":"pypi","requirements":"3.6.2","direct":false,"kind":"develop","optional":false},{"id":7729394360,"package_name":"appnope","ecosystem":"pypi","requirements":"0.1.3","direct":false,"kind":"develop","optional":false},{"id":7729394361,"package_name":"argcomplete","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"develop","optional":false},{"id":7729394364,"package_name":"argon2-cffi","ecosystem":"pypi","requirements":"21.3.0","direct":false,"kind":"develop","optional":false},{"id":7729394366,"package_name":"argon2-cffi-bindings","ecosystem":"pypi","requirements":"21.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394367,"package_name":"asttokens","ecosystem":"pypi","requirements":"2.0.8","direct":false,"kind":"develop","optional":false},{"id":7729394368,"package_name":"attrs","ecosystem":"pypi","requirements":"21.4.0","direct":false,"kind":"develop","optional":false},{"id":7729394369,"package_name":"babel","ecosystem":"pypi","requirements":"2.10.3","direct":false,"kind":"develop","optional":false},{"id":7729394370,"package_name":"backcall","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394371,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"4.11.1","direct":false,"kind":"develop","optional":false},{"id":7729394373,"package_name":"black","ecosystem":"pypi","requirements":"22.10.0","direct":false,"kind":"develop","optional":false},{"id":7729394374,"package_name":"bleach","ecosystem":"pypi","requirements":"5.0.1","direct":false,"kind":"develop","optional":false},{"id":7729394375,"package_name":"certifi","ecosystem":"pypi","requirements":"2022.12.7","direct":false,"kind":"develop","optional":false},{"id":7729394377,"package_name":"cffi","ecosystem":"pypi","requirements":"1.15.1","direct":false,"kind":"develop","optional":false},{"id":7729394378,"package_name":"cfgv","ecosystem":"pypi","requirements":"3.3.1","direct":false,"kind":"develop","optional":false},{"id":7729394380,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"2.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394512,"package_name":"notebook","ecosystem":"pypi","requirements":"6.5.1","direct":false,"kind":"develop","optional":false},{"id":7729394513,"package_name":"notebook-shim","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394514,"package_name":"nox","ecosystem":"pypi","requirements":"2022.8.7","direct":false,"kind":"develop","optional":false},{"id":7729394517,"package_name":"numpy","ecosystem":"pypi","requirements":"1.23.4","direct":false,"kind":"runtime","optional":false},{"id":7729394518,"package_name":"packaging","ecosystem":"pypi","requirements":"21.3","direct":false,"kind":"runtime","optional":false},{"id":7729394381,"package_name":"classify-imports","ecosystem":"pypi","requirements":"4.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394383,"package_name":"click","ecosystem":"pypi","requirements":"8.1.3","direct":false,"kind":"develop","optional":false},{"id":7729394385,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.6","direct":false,"kind":"develop","optional":false},{"id":7729394387,"package_name":"colorlog","ecosystem":"pypi","requirements":"6.7.0","direct":false,"kind":"develop","optional":false},{"id":7729394388,"package_name":"comm","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"develop","optional":false},{"id":7729394390,"package_name":"contourpy","ecosystem":"pypi","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":7729394392,"package_name":"coverage","ecosystem":"pypi","requirements":"6.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394394,"package_name":"cycler","ecosystem":"pypi","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":7729394396,"package_name":"debugpy","ecosystem":"pypi","requirements":"1.6.6","direct":false,"kind":"develop","optional":false},{"id":7729394397,"package_name":"decorator","ecosystem":"pypi","requirements":"5.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394398,"package_name":"defusedxml","ecosystem":"pypi","requirements":"0.7.1","direct":false,"kind":"develop","optional":false},{"id":7729394399,"package_name":"distlib","ecosystem":"pypi","requirements":"0.3.6","direct":false,"kind":"develop","optional":false},{"id":7729394401,"package_name":"docutils","ecosystem":"pypi","requirements":"0.17.1","direct":false,"kind":"develop","optional":false},{"id":7729394417,"package_name":"dparse","ecosystem":"pypi","requirements":"0.6.2","direct":false,"kind":"develop","optional":false},{"id":7729394418,"package_name":"entrypoints","ecosystem":"pypi","requirements":"0.4","direct":false,"kind":"develop","optional":false},{"id":7729394419,"package_name":"exceptiongroup","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"develop","optional":false},{"id":7729394421,"package_name":"executing","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394422,"package_name":"fastjsonschema","ecosystem":"pypi","requirements":"2.16.2","direct":false,"kind":"develop","optional":false},{"id":7729394423,"package_name":"filelock","ecosystem":"pypi","requirements":"3.8.0","direct":false,"kind":"develop","optional":false},{"id":7729394424,"package_name":"flake8","ecosystem":"pypi","requirements":"5.0.4","direct":false,"kind":"develop","optional":false},{"id":7729394425,"package_name":"fonttools","ecosystem":"pypi","requirements":"4.38.0","direct":false,"kind":"runtime","optional":false},{"id":7729394429,"package_name":"furo","ecosystem":"pypi","requirements":"2022.9.29","direct":false,"kind":"develop","optional":false},{"id":7729394432,"package_name":"ghp-import","ecosystem":"pypi","requirements":"2.1.0","direct":false,"kind":"develop","optional":false},{"id":7729394434,"package_name":"gitdb","ecosystem":"pypi","requirements":"4.0.9","direct":false,"kind":"develop","optional":false},{"id":7729394435,"package_name":"gitpython","ecosystem":"pypi","requirements":"3.1.30","direct":false,"kind":"develop","optional":false},{"id":7729394438,"package_name":"greenlet","ecosystem":"pypi","requirements":"1.1.3.post0","direct":false,"kind":"develop","optional":false},{"id":7729394439,"package_name":"identify","ecosystem":"pypi","requirements":"2.5.8","direct":false,"kind":"develop","optional":false},{"id":7729394441,"package_name":"idna","ecosystem":"pypi","requirements":"3.4","direct":false,"kind":"develop","optional":false},{"id":7729394442,"package_name":"imagesize","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"develop","optional":false},{"id":7729394445,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"5.0.0","direct":false,"kind":"develop","optional":false},{"id":7729394446,"package_name":"importlib-resources","ecosystem":"pypi","requirements":"5.10.0","direct":false,"kind":"develop","optional":false},{"id":7729394447,"package_name":"iniconfig","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394449,"package_name":"ipykernel","ecosystem":"pypi","requirements":"6.21.0","direct":false,"kind":"develop","optional":false},{"id":7729394450,"package_name":"ipython","ecosystem":"pypi","requirements":"8.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394452,"package_name":"ipython-genutils","ecosystem":"pypi","requirements":"0.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394453,"package_name":"ipywidgets","ecosystem":"pypi","requirements":"7.7.2","direct":false,"kind":"develop","optional":false},{"id":7729394454,"package_name":"jedi","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"develop","optional":false},{"id":7729394455,"package_name":"jinja2","ecosystem":"pypi","requirements":"3.1.2","direct":false,"kind":"develop","optional":false},{"id":7729394456,"package_name":"jsonschema","ecosystem":"pypi","requirements":"3.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394457,"package_name":"jupyter-book","ecosystem":"pypi","requirements":"0.13.1","direct":false,"kind":"develop","optional":false},{"id":7729394458,"package_name":"jupyter-cache","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"develop","optional":false},{"id":7729394460,"package_name":"jupyter-client","ecosystem":"pypi","requirements":"7.4.4","direct":false,"kind":"develop","optional":false},{"id":7729394462,"package_name":"jupyter-core","ecosystem":"pypi","requirements":"5.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394464,"package_name":"jupyter-server","ecosystem":"pypi","requirements":"1.21.0","direct":false,"kind":"develop","optional":false},{"id":7729394465,"package_name":"jupyter-server-mathjax","ecosystem":"pypi","requirements":"0.2.6","direct":false,"kind":"develop","optional":false},{"id":7729394467,"package_name":"jupyter-sphinx","ecosystem":"pypi","requirements":"0.3.2","direct":false,"kind":"develop","optional":false},{"id":7729394469,"package_name":"jupyterlab-pygments","ecosystem":"pypi","requirements":"0.2.2","direct":false,"kind":"develop","optional":false},{"id":7729394470,"package_name":"jupyterlab-widgets","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394473,"package_name":"kiwisolver","ecosystem":"pypi","requirements":"1.4.4","direct":false,"kind":"runtime","optional":false},{"id":7729394475,"package_name":"latexcodec","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":"develop","optional":false},{"id":7729394477,"package_name":"linkify-it-py","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"develop","optional":false},{"id":7729394479,"package_name":"lxml","ecosystem":"pypi","requirements":"4.9.1","direct":false,"kind":"develop","optional":false},{"id":7729394481,"package_name":"markdown-it-py","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"develop","optional":false},{"id":7729394482,"package_name":"markupsafe","ecosystem":"pypi","requirements":"2.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394483,"package_name":"matplotlib","ecosystem":"pypi","requirements":"3.6.2","direct":false,"kind":"runtime","optional":false},{"id":7729394485,"package_name":"matplotlib-inline","ecosystem":"pypi","requirements":"0.1.6","direct":false,"kind":"develop","optional":false},{"id":7729394486,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"develop","optional":false},{"id":7729394487,"package_name":"mdit-py-plugins","ecosystem":"pypi","requirements":"0.2.8","direct":false,"kind":"develop","optional":false},{"id":7729394489,"package_name":"mistune","ecosystem":"pypi","requirements":"0.8.4","direct":false,"kind":"develop","optional":false},{"id":7729394490,"package_name":"mypy","ecosystem":"pypi","requirements":"0.991","direct":false,"kind":"develop","optional":false},{"id":7729394492,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"develop","optional":false},{"id":7729394493,"package_name":"myst-nb","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"develop","optional":false},{"id":7729394494,"package_name":"myst-parser","ecosystem":"pypi","requirements":"0.15.2","direct":false,"kind":"develop","optional":false},{"id":7729394498,"package_name":"nbclassic","ecosystem":"pypi","requirements":"0.4.5","direct":false,"kind":"develop","optional":false},{"id":7729394499,"package_name":"nbclient","ecosystem":"pypi","requirements":"0.5.13","direct":false,"kind":"develop","optional":false},{"id":7729394501,"package_name":"nbconvert","ecosystem":"pypi","requirements":"6.5.4","direct":false,"kind":"develop","optional":false},{"id":7729394502,"package_name":"nbdime","ecosystem":"pypi","requirements":"3.1.1","direct":false,"kind":"develop","optional":false},{"id":7729394503,"package_name":"nbformat","ecosystem":"pypi","requirements":"5.7.0","direct":false,"kind":"develop","optional":false},{"id":7729394504,"package_name":"nbstripout","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"develop","optional":false},{"id":7729394509,"package_name":"nest-asyncio","ecosystem":"pypi","requirements":"1.5.6","direct":false,"kind":"develop","optional":false},{"id":7729394510,"package_name":"nodeenv","ecosystem":"pypi","requirements":"1.7.0","direct":false,"kind":"develop","optional":false},{"id":7729394519,"package_name":"pandas","ecosystem":"pypi","requirements":"1.5.3","direct":false,"kind":"runtime","optional":false},{"id":7729394520,"package_name":"pandocfilters","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394521,"package_name":"parso","ecosystem":"pypi","requirements":"0.8.3","direct":false,"kind":"develop","optional":false},{"id":7729394522,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.10.1","direct":false,"kind":"develop","optional":false},{"id":7729394523,"package_name":"patsy","ecosystem":"pypi","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":7729394525,"package_name":"pexpect","ecosystem":"pypi","requirements":"4.8.0","direct":false,"kind":"develop","optional":false},{"id":7729394526,"package_name":"pickleshare","ecosystem":"pypi","requirements":"0.7.5","direct":false,"kind":"develop","optional":false},{"id":7729394528,"package_name":"pillow","ecosystem":"pypi","requirements":"9.3.0","direct":false,"kind":"runtime","optional":false},{"id":7729394532,"package_name":"platformdirs","ecosystem":"pypi","requirements":"2.5.2","direct":false,"kind":"develop","optional":false},{"id":7729394533,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"develop","optional":false},{"id":7729394534,"package_name":"pre-commit","ecosystem":"pypi","requirements":"2.20.0","direct":false,"kind":"develop","optional":false},{"id":7729394535,"package_name":"pre-commit-hooks","ecosystem":"pypi","requirements":"4.3.0","direct":false,"kind":"develop","optional":false},{"id":7729394536,"package_name":"prometheus-client","ecosystem":"pypi","requirements":"0.15.0","direct":false,"kind":"develop","optional":false},{"id":7729394537,"package_name":"prompt-toolkit","ecosystem":"pypi","requirements":"3.0.31","direct":false,"kind":"develop","optional":false},{"id":7729394538,"package_name":"psutil","ecosystem":"pypi","requirements":"5.9.3","direct":false,"kind":"develop","optional":false},{"id":7729394539,"package_name":"ptyprocess","ecosystem":"pypi","requirements":"0.7.0","direct":false,"kind":"develop","optional":false},{"id":7729394540,"package_name":"pure-eval","ecosystem":"pypi","requirements":"0.2.2","direct":false,"kind":"develop","optional":false},{"id":7729394541,"package_name":"py","ecosystem":"pypi","requirements":"1.11.0","direct":false,"kind":"develop","optional":false},{"id":7729394542,"package_name":"pybtex","ecosystem":"pypi","requirements":"0.24.0","direct":false,"kind":"develop","optional":false},{"id":7729394543,"package_name":"pybtex-docutils","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":7729394544,"package_name":"pycodestyle","ecosystem":"pypi","requirements":"2.9.1","direct":false,"kind":"develop","optional":false},{"id":7729394545,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.21","direct":false,"kind":"develop","optional":false},{"id":7729394546,"package_name":"pydata-sphinx-theme","ecosystem":"pypi","requirements":"0.8.1","direct":false,"kind":"develop","optional":false},{"id":7729394547,"package_name":"pyflakes","ecosystem":"pypi","requirements":"2.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394548,"package_name":"pygments","ecosystem":"pypi","requirements":"2.13.0","direct":false,"kind":"develop","optional":false},{"id":7729394549,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.0.9","direct":false,"kind":"runtime","optional":false},{"id":7729394558,"package_name":"pyrsistent","ecosystem":"pypi","requirements":"0.18.1","direct":false,"kind":"develop","optional":false},{"id":7729394559,"package_name":"pytest","ecosystem":"pypi","requirements":"7.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394566,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.8.2","direct":false,"kind":"runtime","optional":false},{"id":7729394567,"package_name":"pytz","ecosystem":"pypi","requirements":"2022.5","direct":false,"kind":"runtime","optional":false},{"id":7729394568,"package_name":"pywin32","ecosystem":"pypi","requirements":"304","direct":false,"kind":"develop","optional":false},{"id":7729394573,"package_name":"pywinpty","ecosystem":"pypi","requirements":"2.0.9","direct":false,"kind":"develop","optional":false},{"id":7729394574,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0","direct":false,"kind":"develop","optional":false},{"id":7729394575,"package_name":"pyzmq","ecosystem":"pypi","requirements":"24.0.1","direct":false,"kind":"develop","optional":false},{"id":7729394576,"package_name":"reorder-python-imports","ecosystem":"pypi","requirements":"3.9.0","direct":false,"kind":"develop","optional":false},{"id":7729394591,"package_name":"requests","ecosystem":"pypi","requirements":"2.28.1","direct":false,"kind":"develop","optional":false},{"id":7729394592,"package_name":"ruamel.yaml","ecosystem":"pypi","requirements":"0.17.21","direct":false,"kind":"develop","optional":false},{"id":7729394593,"package_name":"ruamel.yaml.clib","ecosystem":"pypi","requirements":"0.2.7","direct":false,"kind":"develop","optional":false},{"id":7729394594,"package_name":"safety","ecosystem":"pypi","requirements":"2.3.1","direct":false,"kind":"develop","optional":false},{"id":7729394599,"package_name":"scipy","ecosystem":"pypi","requirements":"1.9.3","direct":false,"kind":"runtime","optional":false},{"id":7729394602,"package_name":"send2trash","ecosystem":"pypi","requirements":"1.8.0","direct":false,"kind":"develop","optional":false},{"id":7729394604,"package_name":"setuptools","ecosystem":"pypi","requirements":"65.5.1","direct":false,"kind":"develop","optional":false},{"id":7729394605,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":7729394606,"package_name":"smmap","ecosystem":"pypi","requirements":"5.0.0","direct":false,"kind":"develop","optional":false},{"id":7729394610,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.3.0","direct":false,"kind":"develop","optional":false},{"id":7729394611,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"develop","optional":false},{"id":7729394615,"package_name":"soupsieve","ecosystem":"pypi","requirements":"2.3.2.post1","direct":false,"kind":"develop","optional":false},{"id":7729394616,"package_name":"sphinx","ecosystem":"pypi","requirements":"4.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394635,"package_name":"sphinx-basic-ng","ecosystem":"pypi","requirements":"1.0.0b1","direct":false,"kind":"develop","optional":false},{"id":7729394643,"package_name":"sphinx-book-theme","ecosystem":"pypi","requirements":"0.3.3","direct":false,"kind":"develop","optional":false},{"id":7729394644,"package_name":"sphinx-comments","ecosystem":"pypi","requirements":"0.0.3","direct":false,"kind":"develop","optional":false},{"id":7729394648,"package_name":"sphinx-copybutton","ecosystem":"pypi","requirements":"0.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394653,"package_name":"sphinx-design","ecosystem":"pypi","requirements":"0.1.0","direct":false,"kind":"develop","optional":false},{"id":7729394665,"package_name":"sphinx-external-toc","ecosystem":"pypi","requirements":"0.2.4","direct":false,"kind":"develop","optional":false},{"id":7729394666,"package_name":"sphinx-jupyterbook-latex","ecosystem":"pypi","requirements":"0.4.7","direct":false,"kind":"develop","optional":false},{"id":7729394668,"package_name":"sphinx-multitoc-numbering","ecosystem":"pypi","requirements":"0.1.3","direct":false,"kind":"develop","optional":false},{"id":7729394673,"package_name":"sphinx-thebe","ecosystem":"pypi","requirements":"0.1.2","direct":false,"kind":"develop","optional":false},{"id":7729394674,"package_name":"sphinx-togglebutton","ecosystem":"pypi","requirements":"0.3.2","direct":false,"kind":"develop","optional":false},{"id":7729394675,"package_name":"sphinxcontrib-applehelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":7729394678,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"2.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394690,"package_name":"sphinxcontrib-devhelp","ecosystem":"pypi","requirements":"1.0.2","direct":false,"kind":"develop","optional":false},{"id":7729394691,"package_name":"sphinxcontrib-htmlhelp","ecosystem":"pypi","requirements":"2.0.0","direct":false,"kind":"develop","optional":false},{"id":7729394692,"package_name":"sphinxcontrib-jsmath","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"develop","optional":false},{"id":7729394693,"package_name":"sphinxcontrib-qthelp","ecosystem":"pypi","requirements":"1.0.3","direct":false,"kind":"develop","optional":false},{"id":7729394705,"package_name":"sphinxcontrib-serializinghtml","ecosystem":"pypi","requirements":"1.1.5","direct":false,"kind":"develop","optional":false},{"id":7729394707,"package_name":"sqlalchemy","ecosystem":"pypi","requirements":"1.4.42","direct":false,"kind":"develop","optional":false},{"id":7729394708,"package_name":"stack-data","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"develop","optional":false},{"id":7729394710,"package_name":"statsmodels","ecosystem":"pypi","requirements":"0.13.2","direct":false,"kind":"runtime","optional":false},{"id":7729394713,"package_name":"terminado","ecosystem":"pypi","requirements":"0.17.0","direct":false,"kind":"develop","optional":false},{"id":7729394714,"package_name":"tinycss2","ecosystem":"pypi","requirements":"1.2.1","direct":false,"kind":"develop","optional":false},{"id":7729394715,"package_name":"toml","ecosystem":"pypi","requirements":"0.10.2","direct":false,"kind":"develop","optional":false},{"id":7729394725,"package_name":"tomli","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":"develop","optional":false},{"id":7729394728,"package_name":"tornado","ecosystem":"pypi","requirements":"6.2","direct":false,"kind":"develop","optional":false},{"id":7729394729,"package_name":"traitlets","ecosystem":"pypi","requirements":"5.5.0","direct":false,"kind":"develop","optional":false},{"id":7729394730,"package_name":"typeguard","ecosystem":"pypi","requirements":"2.13.3","direct":false,"kind":"develop","optional":false},{"id":7729394731,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.4.0","direct":false,"kind":"develop","optional":false},{"id":7729394736,"package_name":"uc-micro-py","ecosystem":"pypi","requirements":"1.0.1","direct":false,"kind":"develop","optional":false},{"id":7729394737,"package_name":"urllib3","ecosystem":"pypi","requirements":"1.26.12","direct":false,"kind":"develop","optional":false},{"id":7729394738,"package_name":"virtualenv","ecosystem":"pypi","requirements":"20.16.6","direct":false,"kind":"develop","optional":false},{"id":7729394739,"package_name":"wcwidth","ecosystem":"pypi","requirements":"0.2.5","direct":false,"kind":"develop","optional":false},{"id":7729394740,"package_name":"webencodings","ecosystem":"pypi","requirements":"0.5.1","direct":false,"kind":"develop","optional":false},{"id":7729394741,"package_name":"websocket-client","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"develop","optional":false},{"id":7729394742,"package_name":"wheel","ecosystem":"pypi","requirements":"0.38.1","direct":false,"kind":"develop","optional":false},{"id":7729394743,"package_name":"widgetsnbextension","ecosystem":"pypi","requirements":"3.6.1","direct":false,"kind":"develop","optional":false},{"id":7729394744,"package_name":"xdoctest","ecosystem":"pypi","requirements":"1.1.0","direct":false,"kind":"develop","optional":false},{"id":7729394745,"package_name":"zipp","ecosystem":"pypi","requirements":"3.10.0","direct":false,"kind":"develop","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-02-17T00:55:25.623Z","updated_at":"2023-02-17T00:55:25.623Z","repository_link":"https://github.com/aeturrell/specification_curve/blob/main/pyproject.toml","dependencies":[{"id":7729394746,"package_name":"python","ecosystem":"pypi","requirements":"\u003e=3.8,\u003c4.0.0","direct":true,"kind":"runtime","optional":false},{"id":7729394747,"package_name":"pandas","ecosystem":"pypi","requirements":"^1.5.1","direct":true,"kind":"runtime","optional":false},{"id":7729394748,"package_name":"statsmodels","ecosystem":"pypi","requirements":"^0.13.2","direct":true,"kind":"runtime","optional":false},{"id":7729394749,"package_name":"matplotlib","ecosystem":"pypi","requirements":"^3.6.1","direct":true,"kind":"runtime","optional":false},{"id":7729394750,"package_name":"black","ecosystem":"pypi","requirements":"^22.10.0","direct":true,"kind":"develop","optional":false},{"id":7729394751,"package_name":"pre-commit","ecosystem":"pypi","requirements":"^2.20.0","direct":true,"kind":"develop","optional":false},{"id":7729394752,"package_name":"Sphinx","ecosystem":"pypi","requirements":"^4.0.0","direct":true,"kind":"develop","optional":false},{"id":7729394753,"package_name":"typeguard","ecosystem":"pypi","requirements":"^2.13.3","direct":true,"kind":"develop","optional":false},{"id":7729394754,"package_name":"safety","ecosystem":"pypi","requirements":"^2.3.1","direct":true,"kind":"develop","optional":false},{"id":7729394755,"package_name":"coverage","ecosystem":"pypi","requirements":"^6.5.0","direct":true,"kind":"develop","optional":false},{"id":7729394756,"package_name":"pytest","ecosystem":"pypi","requirements":"^7.2.0","direct":true,"kind":"develop","optional":false},{"id":7729394757,"package_name":"flake8","ecosystem":"pypi","requirements":"^5.0.4","direct":true,"kind":"develop","optional":false},{"id":7729394758,"package_name":"pre-commit-hooks","ecosystem":"pypi","requirements":"^4.3.0","direct":true,"kind":"develop","optional":false},{"id":7729394759,"package_name":"nox","ecosystem":"pypi","requirements":"^2022.8.7","direct":true,"kind":"develop","optional":false},{"id":7729394760,"package_name":"ipykernel","ecosystem":"pypi","requirements":"^6.21.0","direct":true,"kind":"develop","optional":false},{"id":7729394761,"package_name":"nbstripout","ecosystem":"pypi","requirements":"^0.6.1","direct":true,"kind":"develop","optional":false},{"id":7729394762,"package_name":"jupyter-book","ecosystem":"pypi","requirements":"^0.13.1","direct":true,"kind":"develop","optional":false},{"id":7729394763,"package_name":"furo","ecosystem":"pypi","requirements":"^2022.9.29","direct":true,"kind":"develop","optional":false},{"id":7729394764,"package_name":"ghp-import","ecosystem":"pypi","requirements":"^2.1.0","direct":true,"kind":"develop","optional":false},{"id":7729394765,"package_name":"xdoctest","ecosystem":"pypi","requirements":"^1.1.0","direct":true,"kind":"develop","optional":false},{"id":7729394766,"package_name":"mypy","ecosystem":"pypi","requirements":"^0.991","direct":true,"kind":"develop","optional":false},{"id":7729394767,"package_name":"reorder-python-imports","ecosystem":"pypi","requirements":"^3.9.0","direct":true,"kind":"develop","optional":false},{"id":7729394768,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"^2.5.0","direct":true,"kind":"develop","optional":false}]}],"score":4.718498871295094,"created_at":"2025-09-08T21:39:04.004Z","updated_at":"2025-10-07T08:29:47.852Z","avatar_url":"https://github.com/aeturrell.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["cryptocurrencies","text-analysis","tf-idf","eda","exploratory-data-analysis","summary-statistics"],"project_url":"https://science.ecosyste.ms/api/v1/projects/91631","html_url":"https://science.ecosyste.ms/projects/91631"}