{"id":310271,"name":"EcoAssist","description":"An open-source application designed to streamline the work of ecologists dealing with camera trap images.","url":"https://github.com/petervanlunteren/addaxai","last_synced_at":"2026-04-07T02:30:24.390Z","repository":{"id":42062692,"uuid":"453409365","full_name":"PetervanLunteren/AddaxAI","owner":"PetervanLunteren","description":"Simplify camera trap image analysis with AI species recognition models based around the MegaDetector model","archived":false,"fork":false,"pushed_at":"2026-04-02T23:08:04.000Z","size":167709,"stargazers_count":171,"open_issues_count":8,"forks_count":33,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-04-03T09:47:47.991Z","etag":null,"topics":["cameratraps","conservation","ecology","machine-learning","megadetector","object-detection","python"],"latest_commit_sha":null,"homepage":"https://addaxdatascience.com/addaxai/","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/PetervanLunteren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"citation.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"PetervanLunteren","custom":"https://addaxdatascience.com/ecoassist/#donate"}},"created_at":"2022-01-29T13:43:22.000Z","updated_at":"2026-04-02T07:31:09.000Z","dependencies_parsed_at":"2025-12-14T01:06:56.172Z","dependency_job_id":null,"html_url":"https://github.com/PetervanLunteren/AddaxAI","commit_stats":{"total_commits":1063,"total_committers":11,"mean_commits":96.63636363636364,"dds":0.4619002822201317,"last_synced_commit":"fa1cf04af8d94b21e5dc62381a4e6da09b8cc058"},"previous_names":["petervanlunteren/addaxai","petervanlunteren/ecoassist"],"tags_count":75,"template":false,"template_full_name":null,"purl":"pkg:github/PetervanLunteren/AddaxAI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetervanLunteren%2FAddaxAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetervanLunteren%2FAddaxAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetervanLunteren%2FAddaxAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetervanLunteren%2FAddaxAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PetervanLunteren","download_url":"https://codeload.github.com/PetervanLunteren/AddaxAI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetervanLunteren%2FAddaxAI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31383636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T23:20:52.058Z","status":"ssl_error","status_checked_at":"2026-04-03T23:20:51.675Z","response_time":107,"last_error":"SSL_read: 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":"PetervanLunteren","name":"Peter van Lunteren","uuid":"85185478","kind":"user","description":"Wildlife ecologist and data scientist with a special interest in ML","email":"","website":null,"location":"Utrecht, NL","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/85185478?u=167d3f64f0865deaab1c0fe03d8049eeb4b6229d\u0026v=4","repositories_count":3,"last_synced_at":"2023-05-12T10:23:04.957Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/PetervanLunteren","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-05-12T10:23:04.998Z","updated_at":"2023-05-12T10:23:04.998Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PetervanLunteren","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PetervanLunteren/repositories"},"packages":[],"commits":{"id":8805221,"full_name":"petervanlunteren/addaxai","default_branch":"main","total_commits":1633,"total_committers":15,"total_bot_commits":41,"total_bot_committers":1,"mean_commits":108.86666666666666,"dds":0.09981628903857931,"past_year_total_commits":211,"past_year_total_committers":7,"past_year_total_bot_commits":23,"past_year_total_bot_committers":1,"past_year_mean_commits":30.142857142857142,"past_year_dds":0.13744075829383884,"last_synced_at":"2026-04-05T08:03:53.720Z","last_synced_commit":"a412206e2fae48451b1d54d1097d052a78cc53ba","created_at":"2025-02-18T00:14:31.356Z","updated_at":"2026-04-05T08:02:39.645Z","committers":[{"name":"Peter van Lunteren","email":"contact@pvanlunteren.com","login":"PetervanLunteren","count":1470},{"name":"Peter van Lunteren","email":"petervanlunteren@Peters-MacBook-Pro-2.local","login":null,"count":88},{"name":"github-actions[bot]","email":"github-actions[bot]","login":"github-actions[bot]","count":41},{"name":"Peter van Lunteren","email":"peter@Peters-MacBook-Pro-2.local","login":null,"count":12},{"name":"Evan Hallein","email":"ehallein@icloud.com","login":"ehallein","count":7},{"name":"Peter van Lunteren","email":"petervanlunteren@Peters-MBP-2.home","login":null,"count":4},{"name":"Dan Morris","email":"agentmorris@gmail.com","login":"agentmorris","count":2},{"name":"wsyxbcl","email":"yxchai@stu.xmu.edu.cn","login":"wsyxbcl","count":2},{"name":"Robert Kampf","email":"Robert.Kampf@gmx.de","login":"BobbyCephy","count":1},{"name":"OnesiSamba","email":"osamba@wcs.org","login":"OnesiSamba","count":1},{"name":"Mike Szyndel","email":"354046+mszyndel","login":"mszyndel","count":1},{"name":"ESSNIA","email":"sebastien.dore@transports.gouv.qc.ca","login":"ESSNIA","count":1},{"name":"Daveiano","email":"david.baetge@gmail.com","login":"Daveiano","count":1},{"name":"Peter van Lunteren","email":"petervanlunteren@Peters-MBP-2.localdomain","login":null,"count":1},{"name":"=","email":"=","login":null,"count":1}],"past_year_committers":[{"name":"Peter van Lunteren","email":"contact@pvanlunteren.com","login":"PetervanLunteren","count":182},{"name":"github-actions[bot]","email":"github-actions[bot]","login":"github-actions[bot]","count":23},{"name":"wsyxbcl","email":"yxchai@stu.xmu.edu.cn","login":"wsyxbcl","count":2},{"name":"OnesiSamba","email":"osamba@wcs.org","login":"OnesiSamba","count":1},{"name":"Mike Szyndel","email":"354046+mszyndel","login":"mszyndel","count":1},{"name":"ESSNIA","email":"sebastien.dore@transports.gouv.qc.ca","login":"ESSNIA","count":1},{"name":"Daveiano","email":"david.baetge@gmail.com","login":"Daveiano","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/petervanlunteren%2Faddaxai/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-06T00:00:08.903Z","repositories_count":6211370,"commits_count":923313496,"contributors_count":35716567,"owners_count":1144005,"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":"petervanlunteren/addaxai","html_url":"https://github.com/petervanlunteren/addaxai","last_synced_at":"2026-03-27T07:01:33.617Z","status":"active","issues_count":38,"pull_requests_count":34,"avg_time_to_close_issue":1224018.148148148,"avg_time_to_close_pull_request":118848.90322580645,"issues_closed_count":27,"pull_requests_closed_count":31,"pull_request_authors_count":13,"issue_authors_count":26,"avg_comments_per_issue":3.1842105263157894,"avg_comments_per_pull_request":0.9117647058823529,"merged_pull_requests_count":25,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":21,"past_year_avg_time_to_close_issue":3815785.3333333335,"past_year_avg_time_to_close_pull_request":156518.66666666666,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":10,"past_year_avg_comments_per_issue":3.2666666666666666,"past_year_avg_comments_per_pull_request":0.7619047619047619,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":13,"created_at":"2025-02-18T00:14:31.757Z","updated_at":"2026-03-27T07:01:33.617Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/petervanlunteren%2Faddaxai","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/petervanlunteren%2Faddaxai/issues","issue_labels_count":{"in progress":3,"to do":1,"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":32,"CONTRIBUTOR":4,"OWNER":2},"pull_request_author_associations_count":{"OWNER":14,"NONE":10,"CONTRIBUTOR":10},"issue_authors":{"arky":5,"ESSNIA":3,"SimonKravis":3,"ehallein":3,"Anujkrishna12":2,"PetervanLunteren":2,"Wildnativebird":1,"sergewich":1,"rolanddu":1,"Lorenzofrangini":1,"JoejynWan":1,"iTsMaaT":1,"andrea-petrullo":1,"jillwettlaufer":1,"FedakD":1,"alexnkorovin":1,"GuangyiLu":1,"BobbyCephy":1,"lindsayveazey":1,"g23d3441":1,"biolars":1,"animikhaich":1,"pitkin-sangelov":1,"HelgeSeidel":1,"hugokoopmans":1,"cdavisv":1},"pull_request_authors":{"PetervanLunteren":14,"ehallein":4,"agentmorris":3,"UlvHare":2,"Daveiano":2,"ESSNIA":2,"wsyxbcl":1,"TeodoroTopa":1,"mstimberg":1,"mszyndel":1,"cdavisv":1,"davidmarcos98":1,"OnesiSamba":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-31T00:00:10.865Z","repositories_count":14017200,"issues_count":34594129,"pull_requests_count":113141564,"authors_count":11212635,"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":{"in progress":3,"to do":1,"enhancement":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":13,"OWNER":2},"past_year_pull_request_author_associations_count":{"OWNER":8,"NONE":6,"CONTRIBUTOR":5},"past_year_issue_authors":{"arky":3,"ESSNIA":3,"PetervanLunteren":2,"biolars":1,"cdavisv":1,"GuangyiLu":1,"HelgeSeidel":1,"Lorenzofrangini":1,"pitkin-sangelov":1,"Wildnativebird":1},"past_year_pull_request_authors":{"PetervanLunteren":8,"agentmorris":2,"Daveiano":2,"ESSNIA":2,"cdavisv":1,"mszyndel":1,"OnesiSamba":1,"TeodoroTopa":1,"wsyxbcl":1},"maintainers":[{"login":"PetervanLunteren","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/PetervanLunteren"}],"active_maintainers":[{"login":"PetervanLunteren","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/PetervanLunteren"}]},"events":{"total":{"ReleaseEvent":13,"DeleteEvent":13,"PullRequestEvent":19,"ForkEvent":7,"IssuesEvent":28,"WatchEvent":25,"IssueCommentEvent":52,"PushEvent":609,"PullRequestReviewEvent":1,"CreateEvent":24},"last_year":{"ReleaseEvent":6,"DeleteEvent":5,"PullRequestEvent":9,"ForkEvent":4,"IssuesEvent":16,"WatchEvent":22,"IssueCommentEvent":27,"PushEvent":369,"CreateEvent":10}},"keywords":["cameratraps","conservation","ecology","machine-learning","megadetector","object-detection","python"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/github-repo-stats.yml","sha":null,"kind":"manifest","created_at":"2023-02-19T02:31:40.815Z","updated_at":"2023-02-19T02:31:40.815Z","repository_link":"https://github.com/PetervanLunteren/AddaxAI/blob/main/.github/workflows/github-repo-stats.yml","dependencies":[{"id":7776315412,"package_name":"jgehrcke/github-repo-stats","ecosystem":"actions","requirements":"RELEASE","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-macos-release.yml","sha":null,"kind":"manifest","created_at":"2025-12-14T01:06:47.844Z","updated_at":"2025-12-14T01:06:47.844Z","repository_link":"https://github.com/PetervanLunteren/AddaxAI/blob/main/.github/workflows/build-macos-release.yml","dependencies":[{"id":25767836169,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25767836170,"package_name":"pozetroninc/github-action-get-latest-release","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":25767836178,"package_name":"LanceMcCarthy/Action-AzureBlobUpload","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25767836215,"package_name":"actions/github-script","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25767836218,"package_name":"actions/upload-release-asset","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build-windows-release.yml","sha":null,"kind":"manifest","created_at":"2025-12-14T01:06:54.853Z","updated_at":"2025-12-14T01:06:54.853Z","repository_link":"https://github.com/PetervanLunteren/AddaxAI/blob/main/.github/workflows/build-windows-release.yml","dependencies":[{"id":25767836254,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25767836255,"package_name":"pozetroninc/github-action-get-latest-release","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":25767836256,"package_name":"LanceMcCarthy/Action-AzureBlobUpload","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25767836257,"package_name":"joncloud/makensis-action","ecosystem":"actions","requirements":"publish","direct":true,"kind":"composite","optional":false},{"id":25767836284,"package_name":"actions/github-script","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25767836285,"package_name":"actions/upload-release-asset","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/update-version-txt.yml","sha":null,"kind":"manifest","created_at":"2025-12-14T01:06:56.016Z","updated_at":"2025-12-14T01:06:56.016Z","repository_link":"https://github.com/PetervanLunteren/AddaxAI/blob/main/.github/workflows/update-version-txt.yml","dependencies":[{"id":25767836286,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]}],"score":7.895436006942965,"created_at":"2025-02-18T00:14:28.939Z","updated_at":"2026-04-07T02:30:24.392Z","avatar_url":"https://github.com/PetervanLunteren.png","language":"Python","category":"Biosphere","sub_category":"Terrestrial Wildlife","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/PetervanLunteren/EcoAssist-metadata/blob/main/AddaxAI-logo/logo_incl_text_bottom.png\" width=40% height=\"auto\" /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![status](https://joss.theoj.org/papers/dabe3753aae2692d9908166a7ce80e6e/status.svg)](https://joss.theoj.org/papers/dabe3753aae2692d9908166a7ce80e6e)\n[![Project Status: Active The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n![GitHub](https://img.shields.io/github/license/PetervanLunteren/AddaxAI)\n![GitHub last commit](https://img.shields.io/github/last-commit/PetervanLunteren/AddaxAI)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \n[![](https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026color=%23fe8e86)](https://github.com/sponsors/PetervanLunteren)\n\n\u003ch3\u003e\n  \nOfficial website: https://addaxdatascience.com/addaxai/\n\n\u003c/h3\u003e\n\n\u003c/div\u003e\n\nAddaxAI is an application designed to streamline the work of ecologists dealing with camera trap images. It’s an AI platform that allows you to analyse images with machine learning models for automatic detection, offering ecologists a way to save time and focus on conservation efforts.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/PetervanLunteren/EcoAssist-metadata/blob/main/imgs/teaser_animal.jpg\" width=45% height=\"auto\" /\u003e\n  \u003cimg src=\"https://github.com/PetervanLunteren/EcoAssist-metadata/blob/main/imgs/teaser_red_fox.JPG\" width=45% height=\"auto\" /\u003e\n  \u003cimg src=\"https://github.com/PetervanLunteren/EcoAssist-metadata/blob/main/imgs/teaser_ocelot.JPG\" width=45% height=\"auto\" /\u003e \n  \u003cimg src=\"https://github.com/PetervanLunteren/EcoAssist-metadata/blob/main/imgs/teaser_tinamou.JPG\" width=45% height=\"auto\" /\u003e \n\u003c/p\u003e\n\n\n## Project name change\n\nTo avoid any legal concerns, we have renamed our project from EcoAssist to AddaxAI. The project itself remains the same—only the name has changed. \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/PetervanLunteren/EcoAssist-metadata/blob/main/AddaxAI-logo/name-change.png\" width=60% height=\"auto\" /\u003e\n\u003c/p\u003e\n\n## Cite AddaxAI in your research\nIf you used AddaxAI in your research, please include the following citation, along with the models used to analyze your data.\n\n[Link to paper](https://joss.theoj.org/papers/10.21105/joss.05581)\n\n```BibTeX\n@article{van Lunteren2023,\n  title = {AddaxAI: A no-code platform to train and deploy custom YOLOv5 object detection models},\n  author = {Peter van Lunteren},\n  journal = {Journal of Open Source Software},\n  doi = {10.21105/joss.05581},\n  url = {https://doi.org/10.21105/joss.05581},\n  year = {2023},\n  publisher = {The Open Journal},\n  volume = {8},\n  number = {88},\n  pages = {5581}\n}\n```\n\n## Contribute\nInterested in contributing to this project? There are always things to do. The list of to-do items, bug reports, and feature requests is always evolving. I try to keep a semi-structured list [here](https://github.com/PetervanLunteren/AddaxAI/blob/main/AddaxAI_GUI.py#L8). Is there something you would be interested in? [Get in touch](mailto:peter@addaxdatascience.com) and I will guide you in the right direction. Thanks!\n","funding_links":["https://github.com/sponsors/PetervanLunteren","https://addaxdatascience.com/ecoassist/#donate"],"readme_doi_urls":["https://doi.org/10.21105/joss.05581"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["animals","annotation-tool","classifier-model","yolov5","wildlife","camera-traps"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/310271","html_url":"https://ost.ecosyste.ms/projects/310271"}