Open Sustainable Technology
A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.
Browse accepted projects | Review proposed projects | Propose new project | Open Issues
Wild Me Scoutbot
Open models for animal count and classification from aerial surveys; pairs with the Scout project.
https://github.com/WildMeOrg/scoutbot
Last synced: about 7 hours ago
JSON representation
Repository metadata
The computer vision for Wild Me's Scout project
- Host: GitHub
- URL: https://github.com/WildMeOrg/scoutbot
- Owner: WildMeOrg
- License: apache-2.0
- Created: 2022-09-12T21:34:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-23T19:35:52.000Z (about 2 months ago)
- Last Synced: 2024-04-14T12:18:50.350Z (27 days ago)
- Language: Jupyter Notebook
- Size: 4.1 MB
- Stars: 4
- Watchers: 6
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
README
================
Wild Me ScoutBot
================|Tests| |Codecov| |Wheel| |Docker| |ReadTheDocs| |Huggingface|
.. contents:: Quick Links
:backlinks: none.. sectnum::
How to Install
--------------.. code-block:: bash
pip install scoutbot
or, from source:
.. code-block:: bash
git clone https://github.com/WildMeOrg/scoutbot
cd scoutbot
pip install -e .To then add GPU acceleration, you need to replace `onnxruntime` with `onnxruntime-gpu`:
.. code-block:: bash
pip uninstall -y onnxruntime
pip install onnxruntime-gpuHow to Run
----------You can run the tile-based Gradio demo with:
.. code-block:: bash
python app.py
or, you can run the image-based Gradio demo with:
.. code-block:: bash
python app2.py
To run with Docker:
.. code-block:: bash
docker run \
-it \
--rm \
-p 7860:7860 \
-e CONFIG=phase1 \
-e WIC_BATCH_SIZE=512 \
--gpus all \
--name scoutbot \
wildme/scoutbot:main \
python3 app2.pyTo run with Docker Compose:
.. code-block:: yaml
version: "3"
services:
scoutbot:
image: wildme/scoutbot:main
command: python3 app2.py
ports:
- "7860:7860"
environment:
CONFIG: phase1
WIC_BATCH_SIZE: 512
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids: ["all"]
capabilities: [gpu]and run ``docker compose up -d``.
How to Build and Deploy
-----------------------Docker Hub
==========The application can also be built into a Docker image and is hosted on Docker Hub as ``wildme/scoutbot:latest``. Any time the ``main`` branch is updated or a tagged release is made (see the PyPI instructions below), an automated GitHub CD action will build and deploy the newest image to Docker Hub automatically.
To do this manually, use the code below:
.. code-block:: bash
docker login
export DOCKER_BUILDKIT=1
export DOCKER_CLI_EXPERIMENTAL=enabled
docker buildx create --name multi-arch-builder --usedocker buildx build \
-t wildme/scoutbot:latest \
--platform linux/amd64 \
--push \
.PyPI
====To upload the latest ScoutBot version to the Python Package Index (PyPI), follow the steps below:
#. Edit ``scoutbot/__init__.py:65`` and set ``VERSION`` to the desired version
.. code-block:: python
VERSION = 'X.Y.Z'
#. Push any changes and version update to the ``main`` branch on GitHub and wait for CI tests to pass
.. code-block:: bash
git pull origin main
git commit -am "Release for Version X.Y.Z"
git push origin main#. Tag the ``main`` branch as a new release using the `SemVer pattern `_ (e.g., ``vX.Y.Z``)
.. code-block:: bash
git pull origin main
git tag vX.Y.Z
git push origin vX.Y.Z#. Wait for the automated GitHub CD actions to build and push to `PyPI `_ and `Docker Hub `_.
Tests and Coverage
------------------You can run the automated tests in the ``tests/`` folder by running:
.. code-block:: bash
pip install -r requirements.optional.txt
pytestYou may also get a coverage percentage by running:
.. code-block:: bash
coverage html
and open the `coverage/html/index.html` file in your browser.
Building Documentation
----------------------There is Sphinx documentation in the ``docs/`` folder, which can be built by running:
.. code-block:: bash
cd docs/
pip install -r requirements.optional.txt
sphinx-build -M html . build/Logging
-------The script uses Python's built-in logging functionality called ``logging``. All print functions are replaced with ``log.info()``, which sends the output to two places:
#. the terminal window, and
#. the file `scoutbot.log`Code Formatting
---------------It's recommended that you use ``pre-commit`` to ensure linting procedures are run
on any code you write. See `pre-commit.com `_ for more information.Reference `pre-commit's installation instructions `_ for software installation on your OS/platform. After you have the software installed, run ``pre-commit install`` on the command line. Now every time you commit to this project's code base the linter procedures will automatically run over the changed files. To run pre-commit on files preemtively from the command line use:
.. code-block:: bash
pip install -r requirements.optional.txt
pre-commit run --all-filesThe code base has been formatted by `Brunette `_, which is a fork and more configurable version of `Black `_. Furthermore, try to conform to ``PEP8``. You should set up your preferred editor to use ``flake8`` as its Python linter, but pre-commit will ensure compliance before a git commit is completed. This will use the ``flake8`` configuration within ``setup.cfg``, which ignores several errors and stylistic considerations. See the ``setup.cfg`` file for a full and accurate listing of stylistic codes to ignore.
.. |Tests| image:: https://github.com/WildMeOrg/scoutbot/actions/workflows/testing.yml/badge.svg?branch=main
:target: https://github.com/WildMeOrg/scoutbot/actions/workflows/testing.yml
:alt: GitHub CI.. |Codecov| image:: https://codecov.io/gh/WildMeOrg/scoutbot/branch/main/graph/badge.svg?token=FR6ITMWQNI
:target: https://app.codecov.io/gh/WildMeOrg/scoutbot
:alt: Codecov.. |Wheel| image:: https://github.com/WildMeOrg/scoutbot/actions/workflows/python-publish.yml/badge.svg
:target: https://github.com/WildMeOrg/scoutbot/actions/workflows/python-publish.yml
:alt: Python Wheel.. |Docker| image:: https://img.shields.io/docker/image-size/wildme/scoutbot/latest
:target: https://hub.docker.com/r/wildme/scoutbot
:alt: Docker.. |ReadTheDocs| image:: https://readthedocs.org/projects/scoutbot/badge/?version=latest
:target: https://wildme-scoutbot.readthedocs.io/en/latest/?badge=latest
:alt: ReadTheDocs.. |Huggingface| image:: https://img.shields.io/badge/HuggingFace-running-success
:target: https://huggingface.co/spaces/WildMeOrg/scoutbot
:alt: Huggingface
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: 54
- Last ynced at: 2024-05-01T09:33:51.447Z
- Profile URL: https://github.com/WildMeOrg
GitHub Events
Total
- Create event: 10
- Issues event: 2
- Release event: 2
- Watch event: 4
- Delete event: 2
- Issue comment event: 3
- Push event: 110
- Pull request review event: 3
- Pull request event: 12
- Fork event: 3
Last Year
- Create event: 5
- Delete event: 2
- Fork event: 2
- Issue comment event: 3
- Issues event: 2
- Pull request event: 12
- Pull request review event: 3
- Push event: 55
- Release event: 1
- Watch event: 4
Committers metadata
Last synced: 1 day ago
Total Commits: 103
Total Committers: 4
Avg Commits per committer: 25.75
Development Distribution Score (DDS): 0.505
Commits in past year: 52
Committers in past year: 2
Avg Commits per committer in past year: 26.0
Development Distribution Score (DDS) in past year: 0.019
Name | Commits | |
---|---|---|
LashaO | o****a@g****m | 51 |
Jason Parham | b****e@g****m | 50 |
Tanya | t****e@w****g | 1 |
Jon Van Oast | j****n@w****g | 1 |
Committer domains:
- wildme.org: 2
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 1
Total pull requests: 6
Average time to close issues: 4 days
Average time to close pull requests: about 7 hours
Total issue authors: 1
Total pull request authors: 2
Average comments per issue: 2.0
Average comments per pull request: 0.17
Merged pull request: 6
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 6
Past year average time to close issues: 4 days
Past year average time to close pull requests: about 7 hours
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 2.0
Past year average comments per pull request: 0.17
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- TanyaStere42 (1)
Top Pull Request Authors
- LashaO (5)
- TanyaStere42 (1)
Top Issue Labels
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 124 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 18
- Total maintainers: 1
pypi.org: scoutbot
The computer vision for Wild Me's Scout project
- Homepage: https://github.com/WildMeOrg
- Documentation: https://scoutbot.readthedocs.io
- Licenses: MIT
- Latest release: 0.1.17 (published over 1 year ago)
- Last Synced: 2024-05-10T12:00:33.215Z (1 day ago)
- Versions: 18
- Dependent Packages: 0
- Dependent Repositories: 1
- Downloads: 124 Last month
-
Rankings:
- Dependent packages count: 10.103%
- Average: 17.034%
- Downloads: 19.391%
- Dependent repos count: 21.607%
- Maintainers (1)
Dependencies
- Sphinx >=5,<6
- brunette *
- codecov *
- coverage *
- flake8 *
- ipython *
- onnx *
- pre-commit *
- pytest *
- pytest-benchmark *
- pytest-cov *
- pytest-profiling *
- pytest-random-order *
- pytest-sugar *
- pytest-xdist *
- sphinx_rtd_theme *
- xdoctest *
- Pillow *
- click *
- cryptography *
- gradio *
- imgaug *
- numpy *
- onnxruntime *
- opencv-python-headless *
- pooch *
- rich *
- sphinx-click *
- torch *
- torchvision *
- tqdm *
- wbia-utool *
- actions/checkout v2 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- docker/login-action v1 composite
- docker/setup-buildx-action v1 composite
- docker/setup-qemu-action v1 composite
- nschloe/action-cached-lfs-checkout v1.1.3 composite
- actions/download-artifact v2 composite
- actions/setup-python v2 composite
- actions/upload-artifact v2 composite
- nschloe/action-cached-lfs-checkout v1.1.3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/setup-python v2 composite
- codecov/codecov-action v1.2.1 composite
- nschloe/action-cached-lfs-checkout v1.1.3 composite
- nvidia/cuda 11.6.0-cudnn8-runtime-ubuntu20.04 build
Score: 7.608870629191259