File size: 2,473 Bytes
18b382b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Contributing to awesome-depth-anything-3

Thank you for your interest in contributing! This document provides guidelines for contributing to this project.

## Important Note

This is an **optimized fork** of [Depth Anything 3](https://github.com/ByteDance-Seed/Depth-Anything-3) by ByteDance.

- **Model/architecture changes** should be proposed to the [upstream repository](https://github.com/ByteDance-Seed/Depth-Anything-3)
- **Optimization/deployment improvements** are welcome here

## Development Setup

```bash
# Clone the repository
git clone https://github.com/Aedelon/awesome-depth-anything-3.git
cd awesome-depth-anything-3

# Install with development dependencies (using uv)
uv sync --extra dev

# Or with pip
pip install -e ".[dev]"
```

## Running Tests

```bash
# Run all tests
uv run pytest tests/ -v

# Run specific test file
uv run pytest tests/test_adaptive_batching.py -v

# Run with coverage
uv run pytest tests/ --cov=src/depth_anything_3
```

## Code Style

We use `ruff` for linting and formatting:

```bash
# Check for issues
uv run ruff check src/

# Auto-fix issues
uv run ruff check src/ --fix

# Format code
uv run ruff format src/
```

## Pre-commit Hooks

We recommend using pre-commit hooks:

```bash
uv run pre-commit install
uv run pre-commit run --all-files
```

## Pull Request Process

1. **Fork** the repository
2. **Create a branch** for your feature (`git checkout -b feature/amazing-feature`)
3. **Make your changes** with clear, descriptive commits
4. **Run tests** and linting
5. **Update documentation** if needed
6. **Push** to your fork and **open a Pull Request**

### PR Guidelines

- Keep PRs focused on a single change
- Include tests for new functionality
- Update CHANGELOG.md for user-facing changes
- Ensure CI passes before requesting review

## Types of Contributions Welcome

### Highly Welcome

- Performance optimizations
- Bug fixes
- Documentation improvements
- Test coverage improvements
- CI/CD improvements
- Device compatibility (CUDA, MPS, CPU)

### Discuss First

- New CLI commands
- API changes
- New dependencies

### Redirect to Upstream

- Model architecture changes
- Training code changes
- New model variants

## Reporting Issues

When reporting bugs, please include:

- Python version
- PyTorch version
- Device type (CUDA/MPS/CPU)
- Minimal reproduction code
- Full error traceback

## License

By contributing, you agree that your contributions will be licensed under the Apache License 2.0.