Skip to content

Commit bc285aa

Browse files
author
Felipe Parodi
committed
Add *.py
0 parents  commit bc285aa

File tree

151 files changed

+41445
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+41445
-0
lines changed

.github/CONTRIBUTING.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# Contributing to PrimateFace
2+
3+
Thank you for your interest in contributing to PrimateFace! We welcome contributions from the community to help improve and expand this resource for primate facial analysis.
4+
5+
## Ways to Contribute
6+
7+
### 1. Report Issues
8+
- Use the [GitHub Issues](https://github.com/PrimateFace/primateface_oss/issues) page
9+
- Check if the issue already exists before creating a new one
10+
- Provide detailed information including:
11+
- Your environment (OS, Python version, package versions)
12+
- Steps to reproduce the issue
13+
- Expected vs actual behavior
14+
- Error messages and stack traces
15+
16+
### 2. Contribute Code
17+
18+
#### Getting Started
19+
1. Fork the repository
20+
2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/primateface_oss.git`
21+
3. Create a new branch: `git checkout -b feature-name`
22+
4. Set up your development environment:
23+
```bash
24+
pip install -e .[dev]
25+
```
26+
27+
#### Code Guidelines
28+
- Follow PEP 8 style guidelines
29+
- Add docstrings to all functions and classes
30+
- Include type hints where appropriate
31+
- Write unit tests for new functionality
32+
- Keep commits atomic and write clear commit messages
33+
34+
#### Testing
35+
Before submitting a PR, ensure:
36+
```bash
37+
# Run tests
38+
pytest tests/
39+
40+
# Check code style
41+
black --check .
42+
flake8 .
43+
44+
# Type checking
45+
mypy .
46+
```
47+
48+
### 3. Contribute Data or Models
49+
50+
If you have:
51+
- **New primate facial datasets**: Contact us about data sharing agreements
52+
- **Trained models**: Submit via pull request with documentation
53+
- **Annotations**: Follow our COCO format guidelines
54+
55+
Please ensure:
56+
- You have appropriate permissions to share the data
57+
- Data is properly anonymized if needed
58+
- Include documentation about data collection and annotation procedures
59+
60+
### 4. Improve Documentation
61+
62+
- Fix typos or clarify existing documentation
63+
- Add examples and tutorials
64+
- Translate documentation to other languages
65+
- Create video tutorials or blog posts
66+
67+
## Pull Request Process
68+
69+
1. **Before submitting:**
70+
- Ensure your code follows our style guidelines
71+
- Add/update tests as needed
72+
- Update documentation if you changed functionality
73+
- Add your changes to CHANGELOG.md
74+
75+
2. **PR Description should include:**
76+
- What changes were made and why
77+
- Link to any relevant issues
78+
- Screenshots/videos for UI changes
79+
- Performance impact if applicable
80+
81+
3. **Review process:**
82+
- PRs require at least one maintainer approval
83+
- Address all review comments
84+
- Keep your branch up to date with main
85+
86+
## Development Setup
87+
88+
### Environment Setup
89+
```bash
90+
# Clone the repo
91+
git clone https://github.com/PrimateFace/primateface_oss.git
92+
cd primateface_oss
93+
94+
# Create conda environment
95+
conda create -n primateface-dev python=3.10
96+
conda activate primateface-dev
97+
98+
# Install in development mode
99+
pip install -e .[dev]
100+
```
101+
102+
### Running Tests
103+
```bash
104+
# All tests
105+
pytest
106+
107+
# Specific module
108+
pytest tests/test_detection.py
109+
110+
# With coverage
111+
pytest --cov=primateface tests/
112+
```
113+
114+
## Code of Conduct
115+
116+
### Our Standards
117+
- Be respectful and inclusive
118+
- Welcome newcomers and help them get started
119+
- Accept constructive criticism gracefully
120+
- Focus on what's best for the community
121+
- Show empathy towards other community members
122+
123+
### Unacceptable Behavior
124+
- Harassment, discrimination, or offensive comments
125+
- Personal or political attacks
126+
- Public or private harassment
127+
- Publishing others' private information
128+
- Other unprofessional conduct
129+
130+
## Questions?
131+
132+
- Email: primateface@gmail.com
133+
- GitHub Discussions: [Link](https://github.com/PrimateFace/primateface_oss/discussions)
134+
- Issues: [Link](https://github.com/PrimateFace/primateface_oss/issues)
135+
136+
## License
137+
138+
By contributing to PrimateFace, you agree that your contributions will be licensed under the MIT License.
139+
140+
## Acknowledgments
141+
142+
Thank you to all our contributors! Your efforts help advance primate behavioral research and computer vision.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Run command '....'
17+
3. See error
18+
19+
**Expected behavior**
20+
A clear and concise description of what you expected to happen.
21+
22+
**Error messages**
23+
```
24+
Paste any error messages or stack traces here
25+
```
26+
27+
**Environment (please complete the following information):**
28+
- OS: [e.g. Ubuntu 22.04, Windows 11, macOS 13]
29+
- Python version: [e.g. 3.10.0]
30+
- PrimateFace version: [e.g. 0.1.0]
31+
- Installation method: [pip/conda/source]
32+
- CUDA version (if applicable): [e.g. 11.8]
33+
34+
**Additional context**
35+
Add any other context about the problem here.
36+
37+
**Screenshots**
38+
If applicable, add screenshots to help explain your problem.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: Dataset Contribution
3+
about: Propose contributing new data or annotations
4+
title: '[DATA] '
5+
labels: dataset
6+
assignees: ''
7+
8+
---
9+
10+
**Dataset Description**
11+
Provide a brief description of the dataset you'd like to contribute.
12+
13+
**Species/Subjects**
14+
- Species: [e.g., Macaca mulatta, Homo sapiens]
15+
- Number of subjects:
16+
- Number of images/videos:
17+
18+
**Data Type**
19+
- [ ] Images
20+
- [ ] Videos
21+
- [ ] Annotations (facial landmarks)
22+
- [ ] Annotations (bounding boxes)
23+
- [ ] Other:
24+
25+
**Data Source**
26+
- How was the data collected?
27+
- Do you have permission to share this data?
28+
- Are there any licensing restrictions?
29+
30+
**Annotation Details**
31+
If contributing annotations:
32+
- Annotation format: [e.g., COCO, custom]
33+
- Number of keypoints: [e.g., 68, 49]
34+
- Annotation methodology:
35+
36+
**Ethical Considerations**
37+
- [ ] Data was collected following ethical guidelines
38+
- [ ] Appropriate permissions obtained for human subjects (if applicable)
39+
- [ ] IACUC approval for animal subjects (if applicable)
40+
41+
**Contact Information**
42+
How can we reach you to discuss this contribution further?
43+
44+
**Additional Information**
45+
Any other relevant details about the dataset.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
21+
22+
**Would you be willing to contribute this feature?**
23+
Let us know if you'd be interested in implementing this feature yourself with guidance from maintainers.

.github/requirements-docs.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
mkdocs>=1.5.0
2+
mkdocs-material>=9.0.0
3+
mkdocs-minify-plugin>=0.7.0
4+
pymdown-extensions>=10.0

.github/workflows/deploy-docs.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Deploy MkDocs to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: "pages"
17+
cancel-in-progress: false
18+
19+
jobs:
20+
build:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: '3.x'
30+
31+
- name: Cache dependencies
32+
uses: actions/cache@v3
33+
with:
34+
path: ~/.cache/pip
35+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
36+
restore-keys: |
37+
${{ runner.os }}-pip-
38+
39+
- name: Install MkDocs dependencies
40+
run: pip install -r .github/requirements-docs.txt
41+
42+
- name: Build MkDocs site
43+
run: |
44+
mkdocs build
45+
cp docs/CNAME site/CNAME
46+
47+
- name: Upload artifact
48+
uses: actions/upload-pages-artifact@v3
49+
with:
50+
path: ./site
51+
52+
deploy:
53+
environment:
54+
name: github-pages
55+
url: ${{ steps.deployment.outputs.page_url }}
56+
runs-on: ubuntu-latest
57+
needs: build
58+
steps:
59+
- name: Deploy to GitHub Pages
60+
id: deployment
61+
uses: actions/deploy-pages@v4

0 commit comments

Comments
 (0)