{"id":20296,"name":"pyfor","description":"Tools for analyzing aerial point clouds of forest data.","url":"https://github.com/brycefrank/pyfor","last_synced_at":"2026-04-16T23:30:20.367Z","repository":{"id":60722571,"uuid":"75873245","full_name":"brycefrank/pyfor","owner":"brycefrank","description":"Tools for analyzing aerial point clouds of forest data.","archived":false,"fork":false,"pushed_at":"2019-12-28T20:46:27.000Z","size":97207,"stargazers_count":98,"open_issues_count":10,"forks_count":19,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-03-28T15:43:18.448Z","etag":null,"topics":["forest-inventory","forestry","las","lidar"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brycefrank.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-07T20:31:36.000Z","updated_at":"2026-02-19T16:16:21.000Z","dependencies_parsed_at":"2022-10-03T21:31:12.999Z","dependency_job_id":null,"html_url":"https://github.com/brycefrank/pyfor","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/brycefrank/pyfor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31364575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"brycefrank","name":"Bryce Frank","uuid":"24326298","kind":"user","description":"Software for forest biometrics, statistical analysis, lidar processing, and data visualizations.","email":"","website":"brycefrank.com","location":"Olympia, Washington","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/24326298?u=e1e79439ab3fd1ed627f7407fc15a4e2f1ab36b7\u0026v=4","repositories_count":50,"last_synced_at":"2024-06-11T15:47:35.555Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/brycefrank","funding_links":[],"total_stars":131,"followers":64,"following":85,"created_at":"2022-11-18T01:18:08.164Z","updated_at":"2024-06-11T15:47:52.899Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank/repositories"},"packages":[{"id":5300809,"name":"pyfor","ecosystem":"conda","description":"pyfor processes LiDAR and other point cloud data into useful metrics for forest inventory predictions.","homepage":"https://github.com/brycefrank/pyfor","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/brycefrank/pyfor","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2019-10-14T15:50:15.000Z","latest_release_published_at":"2019-12-01T19:46:58.000Z","latest_release_number":"0.3.6","last_synced_at":"2026-04-01T13:28:58.913Z","created_at":"2022-10-03T16:09:34.886Z","updated_at":"2026-04-01T13:29:18.966Z","registry_url":"https://anaconda.org/conda-forge/pyfor","install_command":"conda install -c conda-forge pyfor","documentation_url":null,"metadata":{},"repo_metadata":{"id":60722571,"uuid":"75873245","full_name":"brycefrank/pyfor","owner":"brycefrank","description":"Tools for analyzing aerial point clouds of forest data.","archived":false,"fork":false,"pushed_at":"2019-12-28T20:46:27.000Z","size":97207,"stargazers_count":98,"open_issues_count":10,"forks_count":19,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-03-12T10:25:08.281Z","etag":null,"topics":["forest-inventory","forestry","las","lidar"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brycefrank.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-07T20:31:36.000Z","updated_at":"2026-02-19T16:16:21.000Z","dependencies_parsed_at":"2022-10-03T21:31:12.999Z","dependency_job_id":null,"html_url":"https://github.com/brycefrank/pyfor","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/brycefrank/pyfor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31102536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-28T13:41:34.766Z","status":"ssl_error","status_checked_at":"2026-03-28T13:41:05.465Z","response_time":79,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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_record":{"login":"brycefrank","name":"Bryce Frank","uuid":"24326298","kind":"user","description":"Software for forest biometrics, statistical analysis, lidar processing, and data visualizations.","email":"","website":"brycefrank.com","location":"Olympia, Washington","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/24326298?u=e1e79439ab3fd1ed627f7407fc15a4e2f1ab36b7\u0026v=4","repositories_count":50,"last_synced_at":"2024-06-11T15:47:35.555Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/brycefrank","funding_links":[],"total_stars":131,"followers":64,"following":85,"created_at":"2022-11-18T01:18:08.164Z","updated_at":"2024-06-11T15:47:52.899Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank/repositories"},"tags":[{"name":"0.3.6","sha":"efd34bcd7440358abea770c1bf5cad5e05a6fbe3","kind":"commit","published_at":"2019-12-01T18:33:46.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.6","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.6/manifests"},{"name":"0.3.5a","sha":"091a66614b57271187be61f9e858640114d2f640","kind":"commit","published_at":"2019-10-09T22:42:29.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.5a","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.5a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@0.3.5a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5a/manifests"},{"name":"0.3.5","sha":"908f863d94adfad21888aee1238fece41255cb00","kind":"commit","published_at":"2019-09-09T23:29:31.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.5","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5/manifests"},{"name":"0.3.0","sha":"cadaba744fa2dfb6f24e587528041187aee0dfd1","kind":"commit","published_at":"2018-10-14T16:09:05.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.0","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.0/manifests"},{"name":"0.2.0","sha":"929d03a0de9cf326b419e6d0f26c742f4b5aa3f4","kind":"commit","published_at":"2018-04-25T20:47:47.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.2.0","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.2.0/manifests"},{"name":"0.1","sha":"3e0204c7ba76e42530b2e6e0808c47ef6378bc0a","kind":"commit","published_at":"2017-03-01T22:57:40.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.1","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.1/manifests"},{"name":"pre-alpha","sha":"9729158ee40ea18611ed1fe432cea4048fd92316","kind":"commit","published_at":"2017-02-09T22:48:21.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/pre-alpha","html_url":"https://github.com/brycefrank/pyfor/releases/tag/pre-alpha","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/brycefrank/pyfor@pre-alpha","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/pre-alpha","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/pre-alpha/manifests"}]},"repo_metadata_updated_at":"2026-04-01T13:29:18.965Z","dependent_packages_count":0,"downloads":12359,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":34.025455452957324,"dependent_packages_count":51.17544297479411,"stargazers_count":32.79760419266284,"forks_count":34.734215123533815,"average":38.18317943598702},"purl":"pkg:conda/pyfor?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/pyfor","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/pyfor","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/pyfor/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-30T15:00:49.949Z","issues_count":57,"pull_requests_count":22,"avg_time_to_close_issue":2729318.489361702,"avg_time_to_close_pull_request":12421.818181818182,"issues_closed_count":47,"pull_requests_closed_count":22,"pull_request_authors_count":4,"issue_authors_count":10,"avg_comments_per_issue":2.929824561403509,"avg_comments_per_pull_request":0.9545454545454546,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"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":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/issues","maintainers":[{"login":"brycefrank","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brycefrank"},{"login":"bw4sz","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bw4sz"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyfor/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyfor/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyfor/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyfor/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pyfor/codemeta","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2266},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-04-03T06:46:36.736Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":2871491,"name":"pyfor","ecosystem":"pypi","description":"Tools for forest resource LiDAR.","homepage":"https://github.com/brycefrank/pyfor","licenses":"LICENSE.txt","normalized_licenses":["Other"],"repository_url":"https://github.com/brycefrank/pyfor","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2017-03-02T17:38:10.000Z","latest_release_published_at":"2017-03-02T18:45:15.000Z","latest_release_number":"0.1.post2","last_synced_at":"2026-04-13T22:01:56.738Z","created_at":"2022-04-10T12:12:49.450Z","updated_at":"2026-04-13T22:01:56.738Z","registry_url":"https://pypi.org/project/pyfor/","install_command":"pip install pyfor --index-url https://pypi.org/simple","documentation_url":"https://pyfor.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":[],"normalized_name":"pyfor","project_status":null},"repo_metadata":{"id":60722571,"uuid":"75873245","full_name":"brycefrank/pyfor","owner":"brycefrank","description":"Tools for analyzing aerial point clouds of forest data.","archived":false,"fork":false,"pushed_at":"2019-12-28T20:46:27.000Z","size":97207,"stargazers_count":92,"open_issues_count":10,"forks_count":19,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-29T22:31:18.484Z","etag":null,"topics":["forest-inventory","forestry","las","lidar"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brycefrank.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-07T20:31:36.000Z","updated_at":"2024-10-16T06:25:37.000Z","dependencies_parsed_at":"2022-10-03T21:31:12.999Z","dependency_job_id":null,"html_url":"https://github.com/brycefrank/pyfor","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222155722,"owners_count":16940395,"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":"brycefrank","name":"Bryce Frank","uuid":"24326298","kind":"user","description":"Software for forest biometrics, statistical analysis, lidar processing, and data visualizations.","email":"","website":"brycefrank.com","location":"Olympia, Washington","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/24326298?u=e1e79439ab3fd1ed627f7407fc15a4e2f1ab36b7\u0026v=4","repositories_count":50,"last_synced_at":"2024-06-11T15:47:35.555Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/brycefrank","funding_links":[],"total_stars":131,"followers":64,"following":85,"created_at":"2022-11-18T01:18:08.164Z","updated_at":"2024-06-11T15:47:52.899Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycefrank/repositories"},"tags":[{"name":"0.3.6","sha":"efd34bcd7440358abea770c1bf5cad5e05a6fbe3","kind":"commit","published_at":"2019-12-01T18:33:46.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.6","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.6/manifests"},{"name":"0.3.5a","sha":"091a66614b57271187be61f9e858640114d2f640","kind":"commit","published_at":"2019-10-09T22:42:29.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.5a","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.5a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5a/manifests"},{"name":"0.3.5","sha":"908f863d94adfad21888aee1238fece41255cb00","kind":"commit","published_at":"2019-09-09T23:29:31.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.5","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.5/manifests"},{"name":"0.3.0","sha":"cadaba744fa2dfb6f24e587528041187aee0dfd1","kind":"commit","published_at":"2018-10-14T16:09:05.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.3.0","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.3.0/manifests"},{"name":"0.2.0","sha":"929d03a0de9cf326b419e6d0f26c742f4b5aa3f4","kind":"commit","published_at":"2018-04-25T20:47:47.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.2.0","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.2.0/manifests"},{"name":"0.1","sha":"3e0204c7ba76e42530b2e6e0808c47ef6378bc0a","kind":"commit","published_at":"2017-03-01T22:57:40.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/0.1","html_url":"https://github.com/brycefrank/pyfor/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/0.1/manifests"},{"name":"pre-alpha","sha":"9729158ee40ea18611ed1fe432cea4048fd92316","kind":"commit","published_at":"2017-02-09T22:48:21.000Z","download_url":"https://codeload.github.com/brycefrank/pyfor/tar.gz/pre-alpha","html_url":"https://github.com/brycefrank/pyfor/releases/tag/pre-alpha","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/pre-alpha","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/tags/pre-alpha/manifests"}]},"repo_metadata_updated_at":"2024-10-30T02:59:02.217Z","dependent_packages_count":0,"downloads":159,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":44.839512021793205,"dependent_repos_count":22.23250655214879,"dependent_packages_count":7.373338280337238,"stargazers_count":7.586259997117592,"forks_count":8.578456047676294,"docker_downloads_count":null,"average":18.122014579814625},"purl":"pkg:pypi/pyfor","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pyfor","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pyfor","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pyfor/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T21:02:38.917Z","issues_count":57,"pull_requests_count":22,"avg_time_to_close_issue":2729318.489361702,"avg_time_to_close_pull_request":12421.818181818182,"issues_closed_count":47,"pull_requests_closed_count":22,"pull_request_authors_count":4,"issue_authors_count":10,"avg_comments_per_issue":2.929824561403509,"avg_comments_per_pull_request":0.9545454545454546,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"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":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/issues","maintainers":[{"login":"brycefrank","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brycefrank"},{"login":"bw4sz","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bw4sz"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyfor/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyfor/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyfor/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyfor/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pyfor/codemeta","maintainers":[{"uuid":"brycefrank","login":"brycefrank","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/brycefrank/","role":null,"created_at":"2023-02-25T03:41:34.534Z","updated_at":"2023-02-25T03:41:34.534Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/brycefrank/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":841573,"maintainers_count":359522,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","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":33568,"full_name":"brycefrank/pyfor","default_branch":"master","total_commits":508,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":101.6,"dds":0.015748031496062964,"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":"2026-04-13T13:30:00.086Z","last_synced_commit":"efd34bcd7440358abea770c1bf5cad5e05a6fbe3","created_at":"2023-03-07T16:53:05.386Z","updated_at":"2026-04-13T13:29:57.050Z","committers":[{"name":"brycefrank","email":"bryce.frank@oregonstate.edu","login":"brycefrank","count":500},{"name":"bw4sz","email":"benweinstein2010@gmail.com","login":"bw4sz","count":4},{"name":"Paulo Viana","email":"paulo9mv@yahoo.com.br","login":"paulo9mv","count":2},{"name":"Frank","email":"frankbr@oregonstate.edu","login":null,"count":1},{"name":"Anirudh Bagri","email":"Anirudh_Bagri@Dell.com","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-13T00:00:06.408Z","repositories_count":6213066,"commits_count":903857843,"contributors_count":34932907,"owners_count":1144141,"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":"brycefrank/pyfor","html_url":"https://github.com/brycefrank/pyfor","last_synced_at":"2026-03-30T15:00:49.949Z","status":"error","issues_count":57,"pull_requests_count":22,"avg_time_to_close_issue":2729318.489361702,"avg_time_to_close_pull_request":12421.818181818182,"issues_closed_count":47,"pull_requests_closed_count":22,"pull_request_authors_count":4,"issue_authors_count":10,"avg_comments_per_issue":2.929824561403509,"avg_comments_per_pull_request":0.9545454545454546,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"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":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:36:28.491Z","updated_at":"2026-03-30T15:00:49.949Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycefrank%2Fpyfor/issues","issue_labels_count":{"bug":14,"enhancement":13,"normalization":5,"File I/O":5,"documentation":4,"good-first-issue":3,"wontfix":3,"rasterization":3,"testing-suite":2,"collection":2,"canopy-height-model":2,"tree-detection":2,"environment":2,"visualizitaion":1,"help wanted":1},"pull_request_labels_count":{"enhancement":1},"issue_author_associations_count":{"OWNER":31,"COLLABORATOR":14,"NONE":12},"pull_request_author_associations_count":{"OWNER":15,"COLLABORATOR":4,"NONE":2,"CONTRIBUTOR":1},"issue_authors":{"brycefrank":31,"bw4sz":14,"jfprieur":3,"ccimarp":2,"EvasiZ":2,"Vicent-Ribas":1,"DavidEic":1,"Crghilardi":1,"ignacioi96":1,"Chrissielxj":1},"pull_request_authors":{"brycefrank":15,"bw4sz":4,"anirudhbagri":2,"paulo9mv":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14211675,"issues_count":34650580,"pull_requests_count":113217743,"authors_count":11232644,"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":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"brycefrank","count":46,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brycefrank"},{"login":"bw4sz","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bw4sz"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":7},"last_year":{"WatchEvent":5}},"keywords":["forest-inventory","forestry","las","lidar"],"dependencies":[{"ecosystem":"pypi","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2022-10-03T21:31:11.503Z","updated_at":"2022-10-03T21:31:11.503Z","repository_link":"https://github.com/brycefrank/pyfor/blob/master/environment.yml","dependencies":[{"id":6255173065,"package_name":"laspy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6255173066,"package_name":"laxpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6255173067,"package_name":"sphinx_rtd_theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6255173068,"package_name":"python-coveralls","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6255173069,"package_name":"plyfile","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-10-03T21:31:11.830Z","updated_at":"2022-10-03T21:31:11.830Z","repository_link":"https://github.com/brycefrank/pyfor/blob/master/setup.py","dependencies":[{"id":6255174594,"package_name":"laspy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":15.72665178421241,"created_at":"2023-09-11T14:52:11.471Z","updated_at":"2026-04-16T23:30:20.378Z","avatar_url":"https://github.com/brycefrank.png","language":"Python","category":"Biosphere","sub_category":"Forest Remote Sensing","monthly_downloads":159,"total_dependent_repos":1,"total_dependent_packages":0,"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.png\" width=\"100\"\u003e\u003cbr\u003e\n  \u003cb\u003epyfor\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"http://brycefrank.com/pyfor\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://github.com/brycefrank/pyfor/blob/master/CHANGELOG.md\"\u003eChangelog\u003c/a\u003e |\n  \u003ca href=\"https://github.com/brycefrank/pyfor/issues/new\"\u003eRequest a Feature\u003c/a\u003e |\n  \u003ca href=\"https://github.com/brycefrank/pyfor/projects/12\"\u003eRoad Map\u003c/a\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://camo.githubusercontent.com/033f1149793306148313011a8777f72724800836/68747470733a2f2f7472617669732d63692e6f72672f62727963656672616e6b2f7079666f722e7376673f6272616e63683d6d6173746572\"\u003e\n  \u003cimg src=\"https://coveralls.io/repos/github/brycefrank/pyfor/badge.svg?branch=master\"\u003e\n\u003c/p\u003e\n\n**pyfor** is a Python package that assists in the processing of point cloud data in the context of forest inventory. \nThis includes manipulation of point data, support for analysis, and a\nmemory optimized API for managing large collections of tiles.\n\n## Release Status\n\nCurrent Release: 0.3.6\n\nRelease Date: December 1st, 2019.\n\nRelease Status: 0.3.6 is an adolescent LiDAR data processing package adequate for single tile processing and large acqusitions.\n\n## What Does pyfor Do?\n\n- [Normalization](http://brycefrank.com/pyfor/html/topics/normalization.html)\n- [Canopy Height Models](http://brycefrank.com/pyfor/html/topics/canopyheightmodel.html)\n- [Ground Filtering](http://brycefrank.com/pyfor/html/api/pyfor.ground_filter.html)\n- [Clipping](http://brycefrank.com/pyfor/html/topics/clipping.html)\n- [Large Acquisition Processing](http://brycefrank.com/pyfor/html/advanced/handlinglargeacquisitions.html)\n\nand many other tasks. See the [documentation](http://brycefrank.com/pyfor) for examples and applications.\n\nWhat about tree segmentation? Please see pyfor's sister package [`treeseg`](https://github.com/brycefrank/treeseg) which\nis a standalone package for tree segmentation and detection.\n\n## Installation\n\n[miniconda](https://conda.io/miniconda.html) or Anaconda is required for your system before beginning. pyfor depends on many packages that are otherwise tricky and difficult to install (especially gdal and its bindings), and conda provides a quick and easy way to manage many different Python environments on your system simultaneously.\n\nAs of October 14th, 2019, we are proud to announce that `pyfor` is available on `conda-forge`, greatly simplifying the installation process:\n\n```\nconda install -c conda-forge pyfor \n```\n\n## Collaboration \u0026 Requests\n\nIf you would like to contribute, especially those experienced with `numba`, `numpy`, `gdal`, `ogr` and `pandas`, please contact me at bfrank70@gmail.com \n\nI am also willing to implement features on request. Feel free to [open an issue](https://github.com/brycefrank/pyfor/issues) with your request or email me at the address above.\n\npyfor will always remain a free service. Its development takes time, energy and a bit of money to maintain source code and host documentation. If you are so inclined, donations are accepted at the donation button at the top of the readme.\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20296","html_url":"https://ost.ecosyste.ms/projects/20296"}