Wildbook
Blends structured wildlife research with artificial intelligence, citizen science, and computer vision to speed population analysis and develop new insights to help fight extinction.
https://github.com/WildMeOrg/Wildbook
Category: Biosphere
Sub Category: Terrestrial Wildlife
Keywords
cloud conservation java nonprofit tomcat
Keywords from Contributors
nonprofit-organizations measur generic observation archiving projection feature-toggles feature-flags control products
Last synced: 14 minutes ago
JSON representation
Repository metadata
Wild Me's first product, Wildbook supports researchers by allowing collaboration across the globe and automation of photo ID matching
- Host: GitHub
- URL: https://github.com/WildMeOrg/Wildbook
- Owner: WildMeOrg
- License: gpl-2.0
- Created: 2016-07-12T22:09:20.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2025-04-26T01:12:29.000Z (1 day ago)
- Last Synced: 2025-04-26T14:05:23.789Z (1 day ago)
- Topics: cloud, conservation, java, nonprofit, tomcat
- Language: Java
- Homepage: https://www.wildme.org/wildbook.html
- Size: 843 MB
- Stars: 113
- Watchers: 15
- Forks: 84
- Open Issues: 131
- Releases: 38
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
README.md
Wildbook
Wildbook is an open source software framework to support mark-recapture, molecular ecology, and social ecology studies. The biological and statistical communities already support a number of excellent tools, such as Program MARK,GenAlEx, and SOCPROG for use in analyzing wildlife data. Wildbook is a complementary software application that:
- provides a scalable and collaborative platform for intelligent wildlife data storage and management, including advanced, consolidated searching
- provides an easy-to-use software suite of functionality that can be extended to meet the needs of wildlife projects, especially where individual identification is used
- provides an API to support the easy export of data to cross-disciplinary analysis applications (e.g., GenePop ) and other software (e.g., Google Earth)
- provides a platform that supports the exposure of data in biodiversity databases (e.g., GBIF and OBIS)
- provides a platform for animal biometrics that supports easy data access and facilitates matching application deployment for multiple species
Getting Started with Wildbook
Wildbook is a long-standing tool that support a wide variety of researchers and species. The Wild Me team is working on revamping the tool as a true open source project, so if you have ideas and are excited to help, reach out to us on the Wild Me Development Discord!
Pull Request Workflow
All contributions should be made from a fork off of the Wildbook repo. While there are a number of repositories for specific Wildbook communities, large scale development is driven from the main repository.
Fork Wildbook
To start, you will need to be signed in to your GitHub account, have admin access to your OS's terminal, and have Git installed.
- From your browser, in the top right corner of the Wildbook repo, click the Fork button. Confirm to be redirected to your own fork (check the url for your USERNAME in the namespace).
- In your terminal, enter the command
git clone https://github.com/USERNAME/Wildbook
- Once the Wildbook directory becomes available in your working directory, move to it with the command
cd Wildbook
- Add a reference to the original repo, denoting it as the upstream repo.
git remote add upstream https://github.com/WildMeOrg/Wildbook
git fetch upstream
Create Local Branch
You will want to work in a branch when doing any feature development you want to provide to the original project.
- Verify you are on the main branch. The branch you have checked out will be used as the base for your new branch, so you typically want to start from main.
git checkout main
- Create your feature branch. It can be helpful to include the issue number (ISSUENUMBER) you are working to address.
git branch ISSUENUMBER-FEATUREBRANCHNAME
- Change to your feature branch so your changes are grouped together.
git checkout ISSUENUMBER-FEATUREBRANCHNAME
- Update your branch (this is not needed if you just created new branch, but is a good habit to get into).
git pull upstream main
Set Up Development Environment with Docker
For easiest development, you will need to set up your development environment to work with Docker. See devops/README.md
for detailed instructions.
Making Local Changes
Make the code changes necessary for the issue you're working on. You will need to either redeploy your war file (see devops/README.md
) or redeploy your front end directly (see frontend.README.md
) for testing locally.
The following git commands may prove useful.
git log
: lastest commits of current branchgit status
: current staged and unstaged modificationsgit diff --staged
: the differences between the staging area and the last commit- `git add : add files that have changes to staging in preparation for commit
git commit
: commits the stagged files, opens a text editor for you to write a commit log
Unit Tests
We are working on building up test coverage. Current requirements are:
- Do not drop the percentage of test coverage (exceptions will be made for large scale changes on case-by-case basis)
- Do not break existing tests
See test coverage guidelines for how to develop your tests.
Submit PR
Up to this point, all changes have been done to your local copy of Wildbook. You need to push the new commits to a remote branch to start the PR process.
- Now's the time clean up your PR if you choose to squash commits, but this is not required. If you're looking for more information on these practices, see this pull request tutorial.
- Push to the remote version of your branch
git push <remote> <local branch>
git push origin ISSUENUMBER-FEATUREBRANCHNAME
- When prompted, provide your username and GitHub Personal Access Token. If you do not have a GitHub Personal Access Token, or do not have one with the correct permissions for your newly forked repository, you will need to create a Personal Access Token.
- Check the fork's page on GitHub to verify that you see a new branch with your added commits. You should see a line saying "This branch is X commits ahead" and a Pull request link.
- Click the Pull request link to open a form that says "Able to merge". (If it says there are merge conflicts, go the for help).
- Use an explicit title for the PR and provide details in the comment area. Details can include text, or images, and should provide details as to what was done and why design decisions were made.
- Click Create a pull request.
Respond to feedback
At this point, it's on us to get you feedback on your submission! Someone from the Wild Me team will review the project and provide any feedback that may be necessary. If changes are recommended, you'll need to checkout the branch you were working from, update the branch, and make these changes locally.
git checkout ISSUENUMBER-FEATUREBRANCHNAME
git pull upstream main
- Make required changes
git add <filename>
for all files impacted by changes- Determine which method would be most appropriate for updating your PR
git commit --ammend
if the changes are small stylistic changesgit commit
if the changes involved significant rework and require additional details
Machine Learning in Wildbook
Wildbook leverages Wildbook IA (WBIA) as the machine learning engine, which pulls data from Wildbook servers to detect features in images and identify individual animals. WBIA brings massive-scale computer vision to wildlife research.
Need direct help?
Wild Me (wildme.org) engineering staff provide support for Wildbook. You can contact us at: [email protected]
We provide support during regular office hours on Mondays and Tuesdays.
Support resources
- User documentation is available at Wild Me Documentation
- For user support, visit the Wild Me Community Forum
- For contribution guidelines, visit Wildbook Code Contribution Guidelines
- For developer support, visit the Wild Me Development Discord
- Email the team at [email protected]
History
Wildbook started as a collaborative software platform for globally-coordinated whale shark (Rhincodon typus ) research as deployed in the Wildbook for Whale Sharks (now part of http://www.sharkbook.ai). After many requests to use our software outside of whale shark research, it is now an open source, community-maintained standard for mark-recapture studies.
Wildbook is a trademark of Conservation X Labs, a 501(c)(3) non-profit organization, and is supported by the Wild Me team.
Owner metadata
- Name: Wild Me
- Login: WildMeOrg
- Email: [email protected]
- Kind: organization
- Description: Conservation meets machine learning
- Website: https://wildme.org
- Location: Portland, OR
- Twitter: WildMeORG
- Company:
- Icon url: https://avatars.githubusercontent.com/u/20192494?v=4
- Repositories: 55
- Last ynced at: 2024-05-20T14:16:28.111Z
- Profile URL: https://github.com/WildMeOrg
GitHub Events
Total
- Create event: 144
- Release event: 8
- Issues event: 212
- Watch event: 11
- Delete event: 130
- Issue comment event: 278
- Push event: 812
- Pull request review comment event: 29
- Pull request event: 301
- Pull request review event: 175
- Fork event: 21
Last Year
- Create event: 144
- Release event: 8
- Issues event: 212
- Watch event: 11
- Delete event: 130
- Issue comment event: 278
- Push event: 812
- Pull request review comment event: 29
- Pull request event: 301
- Pull request review event: 175
- Fork event: 21
Committers metadata
Last synced: 4 days ago
Total Commits: 12,322
Total Committers: 65
Avg Commits per committer: 189.569
Development Distribution Score (DDS): 0.803
Commits in past year: 1,320
Committers in past year: 18
Avg Commits per committer in past year: 73.333
Development Distribution Score (DDS) in past year: 0.637
Name | Commits | |
---|---|---|
Jon Van Oast | j****n@w****g | 2433 |
holmbergius | h****s@g****m | 2227 |
RichardJune | r****e@a****m | 1333 |
webmaster | w****r@w****g | 936 |
Colin Kingen | c****n@g****m | 819 |
Drew Blount | me@d****r | 781 |
erinz2020 | e****0@g****m | 562 |
WildMeOrg | j****n@w****g | 508 |
Mark | m****r@g****m | 478 |
Jason Holmberg | j****g@e****m | 386 |
gwinstanley | s****n@m****g | 270 |
WildMeOrg | s****s@w****g | 251 |
schibel21 | 4****1 | 169 |
Anna Becker | a****r@g****m | 125 |
Tanya | t****e@w****g | 109 |
Katacka | d****1@u****u | 99 |
tsubramanian | t****n@g****m | 68 |
marcial21 | 4****1 | 67 |
Drew | d****w@w****g | 62 |
Chris Wainner | c****r@g****m | 59 |
Whaleshark Dev | i****o@w****g | 57 |
crowmagnumb | c****b@g****m | 40 |
Michelle Brecunier | m****r@g****m | 37 |
KyleHelyar | k****r@y****m | 36 |
vkirkl | g****t@g****m | 34 |
Charles Overbeck | c****k@y****m | 30 |
Matt McLaughlin | m****t@g****m | 28 |
dependabot[bot] | 4****] | 28 |
sufwan khalid | s****s@g****m | 27 |
stella huayhuaca | l****a@g****m | 23 |
and 35 more... |
Committer domains:
- wildme.org: 9
- whaleshark.org: 2
- up.edu: 2
- twitter.com: 2
- aol.com: 1
- drew.computer: 1
- emc.com: 1
- marinemegafauna.org: 1
- ecostats.com: 1
- earthlink.net: 1
- dbcomputer.ctrlh: 1
- ucsb.edu: 1
- ip-172-31-29-46.us-west-2.compute.internal: 1
- arcocene.org: 1
- desktop-bpd3nkj.localdomain: 1
- unacceptablebehavior.org: 1
- ip-172-31-23-137.us-west-2.compute.internal: 1
- ibeis.cs.uic.edu: 1
- ip-172-31-33-155.us-west-2.compute.internal: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 458
Total pull requests: 852
Average time to close issues: 3 months
Average time to close pull requests: about 1 month
Total issue authors: 11
Total pull request authors: 45
Average comments per issue: 0.94
Average comments per pull request: 0.41
Merged pull request: 671
Bot issues: 0
Bot pull requests: 106
Past year issues: 332
Past year pull requests: 452
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 8 days
Past year issue authors: 11
Past year pull request authors: 22
Past year average comments per issue: 0.86
Past year average comments per pull request: 0.44
Past year merged pull request: 353
Past year bot issues: 0
Past year bot pull requests: 57
Top Issue Authors
- TanyaStere42 (231)
- goddesswarship (136)
- holmbergius (28)
- naknomum (22)
- JasonWildMe (9)
- vkirkl (9)
- erinz2020 (8)
- pratisthabuddhacharya (8)
- doinkythederp (4)
- ZumZoom (2)
- Rodhlann (1)
Top Pull Request Authors
- Atticus29 (122)
- holmbergius (112)
- dependabot[bot] (106)
- erinz2020 (94)
- naknomum (92)
- TanyaStere42 (86)
- sufwankhalid1 (25)
- fjoyce (23)
- NNattoji (22)
- Paul-Kalil (22)
- JasonWildMe (20)
- brmscheiner (14)
- vkirkl (13)
- goddesswarship (13)
- PAVANA809 (10)
Top Issue Labels
- enhancement (197)
- bug (183)
- modernization (83)
- platform support (70)
- techdebt (67)
- good first issue (44)
- project_support (33)
- opensearch (32)
- question (30)
- invalid (10)
- duplicate (7)
- spotmapping (7)
- dependencies (5)
- javascript (4)
- testing (4)
- github_actions (3)
- ia_required (3)
- java (1)
Top Pull Request Labels
- dependencies (109)
- java (58)
- project_support (44)
- javascript (39)
- techdebt (28)
- enhancement (11)
- bug (9)
- github_actions (6)
- modernization (5)
- platform support (2)
Dependencies
- actions/checkout v2 composite
- actions/setup-java v1 composite
- actions/checkout v2 composite
- postgres 9.6
- wildme/nginx latest
- wildme/wildbook latest
- nginx 1.15.0 build
- openjdk 8u171-jdk build
- org.wildme.wildbook.base latest build
- org.wildme.wildbook.install latest build
- tomcat 8.5-jre8 build
- javax.servlet:servlet-api 2.5 provided
- javax:javaee-api 7.0 provided
- ch.qos.logback:logback-classic 1.1.3
- com.amazonaws:aws-java-sdk 1.10.34
- com.amazonaws:aws-java-sdk-ec2 1.10.53
- com.drewnoakes:metadata-extractor 2.6.2
- com.google.apis:google-api-services-youtube v3-rev191-1.23.0
- com.google.auth:google-auth-library-credentials 0.6.1
- com.google.auth:google-auth-library-oauth2-http 0.6.1
- com.google.cloud:google-cloud-translate 1.15.0
- com.google.cloud:google-cloud-vision 1.15.0
- com.google.code.gson:gson 2.8.1
- com.google.oauth-client:google-oauth-client-jetty 1.23.0
- com.google.truth:truth 0.32
- com.google.zxing:core 2.2
- com.healthmarketscience.jackcess:jackcess 3.5.0
- com.mchange:c3p0 0.9.5.4
- com.opencsv:opencsv 4.0
- com.rabbitmq:amqp-client 5.1.2
- com.stripe:stripe-java 3.1.0
- com.sun.xml.bind:jaxb-core 2.3.0.1
- com.sun.xml.bind:jaxb-impl 2.3.0.1
- commons-beanutils:commons-beanutils 1.9.4
- commons-codec:commons-codec 1.4
- commons-collections:commons-collections 3.2.2
- commons-fileupload:commons-fileupload 1.3.3
- commons-logging:commons-logging 1.0.4
- dilib:dilib 1.0
- dom4j:dom4j 1.6.1
- edu.stanford.nlp:stanford-corenlp 3.9.1
- edu.stanford.nlp:stanford-parser 3.9.1
- io.prometheus:simpleclient 0.16.0
- io.prometheus:simpleclient_hotspot 0.16.0
- io.prometheus:simpleclient_httpserver 0.16.0
- io.prometheus:simpleclient_pushgateway 0.16.0
- io.prometheus:simpleclient_servlet 0.16.0
- javax.mail:mail 1.4.1
- javax.sql:jdbc-stdext 2.0
- javax.xml.bind:jaxb-api 2.3.0
- joda-time:joda-time 2.3
- jstl:jstl 1.2
- net.glxn:qrgen 1.3
- net.sourceforge.jexcelapi:jxl 2.6
- nz.ac.waikato.cms.weka:weka-stable 3.8.2
- org.apache.commons:commons-collections4 4.1
- org.apache.commons:commons-dbcp2 2.5.0
- org.apache.commons:commons-lang3 3.8.1
- org.apache.commons:commons-math 2.2
- org.apache.commons:commons-math3 3.2
- org.apache.poi:poi 3.11
- org.apache.poi:poi-ooxml 3.11
- org.apache.sanselan:sanselan 0.97-incubator
- org.apache.shiro:shiro-core 1.4.2
- org.apache.shiro:shiro-web 1.2.1
- org.datanucleus:datanucleus-api-jdo 4.2.0-release
- org.datanucleus:datanucleus-api-jpa 4.1.7
- org.datanucleus:datanucleus-api-rest 4.2.2
- org.datanucleus:datanucleus-core 4.1.7
- org.datanucleus:datanucleus-geospatial 4.1.0-release
- org.datanucleus:datanucleus-jdo-query 4.2.1
- org.datanucleus:datanucleus-jodatime 4.1.1
- org.datanucleus:datanucleus-rdbms 4.1.11
- org.datanucleus:javax.jdo 3.2.0-m3
- org.geotools:gt-epsg-extension 23.0
- org.geotools:gt-epsg-hsql 23.0
- org.geotools:gt-referencing 23.0
- org.geotools:gt-shapefile 23.0
- org.json:json 20131018
- org.lz4:lz4-java 1.4.0
- org.pac4j:pac4j-oauth 1.9.7
- org.postgresql:postgresql 42.1.4
- org.scribe:scribe 1.3.7
- org.slf4j:slf4j-api 1.7.12
- org.tuckey:urlrewritefilter 4.0.3
- org.twitter4j:twitter4j-core 4.0.7
- rome:rome 0.9
- servlets.com:cos 05Nov2002
- sqljdbc4:sqljdbc4 1.0
- sutime-stanford-corenlp-models:sutime-stanford-corenlp-models 3.6.0
- xml-apis:xml-apis 1.4.01
- net.sourceforge.jwebunit:jwebunit-htmlunit-plugin 3.2 test
- org.junit.jupiter:junit-jupiter-api 5.8.0-M1 test
- 188 dependencies
- cypress ^3.1.3 development
- babel-core ^6.3.26 development
- babel-preset-es2015 ^6.3.13 development
- babel-register ^6.7.2 development
- beepbeep ^1.2.0 development
- browser-sync ^2.11.0 development
- colors ^1.1.2 development
- gulp git+https://github.com/gulpjs/gulp.git#4.0 development
- gulp-awspublish ^3.0.1 development
- gulp-cli ^1.1.0 development
- gulp-html-src ^1.0.0 development
- gulp-htmlmin ^1.1.1 development
- gulp-if ^2.0.0 development
- gulp-imagemin ^2.4.0 development
- gulp-inline-css ^3.0.0 development
- gulp-litmus 0.0.7 development
- gulp-load-plugins ^1.1.0 development
- gulp-mail ^0.1.1 development
- gulp-rename ^1.2.2 development
- gulp-replace ^0.5.4 development
- gulp-sass ^2.1.0 development
- gulp-sourcemaps ^1.6.0 development
- gulp-uncss ^1.0.1 development
- gulp-zip ^3.2.0 development
- inky ^1.3.6 development
- lazypipe ^1.0.1 development
- merge-stream ^1.0.0 development
- panini ^1.3.0 development
- rimraf ^2.3.3 development
- siphon-media-query ^1.0.0 development
- yargs ^4.1.0 development
- foundation-emails ^2.2.1
Score: 9.671555495188839