helpscout-mailbox 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- helpscout_mailbox-1.0.0/.gitignore +62 -0
- helpscout_mailbox-1.0.0/CODE_OF_CONDUCT.md +57 -0
- helpscout_mailbox-1.0.0/CONTRIBUTING.md +125 -0
- helpscout_mailbox-1.0.0/COPYING +675 -0
- helpscout_mailbox-1.0.0/PKG-INFO +197 -0
- helpscout_mailbox-1.0.0/README.md +154 -0
- helpscout_mailbox-1.0.0/pyproject.toml +89 -0
- helpscout_mailbox-1.0.0/src/helpscout_mailbox/__init__.py +19 -0
- helpscout_mailbox-1.0.0/src/helpscout_mailbox/client.py +487 -0
- helpscout_mailbox-1.0.0/src/helpscout_mailbox/py.typed +0 -0
- helpscout_mailbox-1.0.0/tests/__init__.py +1 -0
- helpscout_mailbox-1.0.0/tests/test_client.py +122 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
pip-wheel-metadata/
|
|
20
|
+
share/python-wheels/
|
|
21
|
+
*.egg-info/
|
|
22
|
+
.installed.cfg
|
|
23
|
+
*.egg
|
|
24
|
+
MANIFEST
|
|
25
|
+
|
|
26
|
+
# Virtual environments
|
|
27
|
+
venv/
|
|
28
|
+
ENV/
|
|
29
|
+
env/
|
|
30
|
+
.venv
|
|
31
|
+
|
|
32
|
+
# Testing
|
|
33
|
+
.pytest_cache/
|
|
34
|
+
.coverage
|
|
35
|
+
htmlcov/
|
|
36
|
+
.tox/
|
|
37
|
+
.nox/
|
|
38
|
+
|
|
39
|
+
# Type checking
|
|
40
|
+
.mypy_cache/
|
|
41
|
+
.dmypy.json
|
|
42
|
+
dmypy.json
|
|
43
|
+
.pytype/
|
|
44
|
+
|
|
45
|
+
# IDEs
|
|
46
|
+
.vscode/
|
|
47
|
+
.idea/
|
|
48
|
+
*.swp
|
|
49
|
+
*.swo
|
|
50
|
+
*~
|
|
51
|
+
.DS_Store
|
|
52
|
+
|
|
53
|
+
# OMC state
|
|
54
|
+
.omc/
|
|
55
|
+
|
|
56
|
+
# Documentation
|
|
57
|
+
docs/
|
|
58
|
+
site/
|
|
59
|
+
|
|
60
|
+
# Distribution
|
|
61
|
+
*.tar.gz
|
|
62
|
+
*.whl
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
+
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
+
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity and
|
|
10
|
+
orientation.
|
|
11
|
+
|
|
12
|
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
13
|
+
diverse, inclusive, and healthy community.
|
|
14
|
+
|
|
15
|
+
## Our Standards
|
|
16
|
+
|
|
17
|
+
Examples of behavior that contributes to a positive environment:
|
|
18
|
+
|
|
19
|
+
- Using welcoming and inclusive language
|
|
20
|
+
- Being respectful of differing viewpoints and experiences
|
|
21
|
+
- Gracefully accepting constructive criticism
|
|
22
|
+
- Focusing on what is best for the community
|
|
23
|
+
- Showing empathy towards other community members
|
|
24
|
+
|
|
25
|
+
Examples of unacceptable behavior:
|
|
26
|
+
|
|
27
|
+
- The use of sexualized language or imagery and unwelcome sexual attention
|
|
28
|
+
- Trolling, insulting/derogatory comments, and personal or political attacks
|
|
29
|
+
- Public or private harassment
|
|
30
|
+
- Publishing others' private information without explicit permission
|
|
31
|
+
- Other conduct which could reasonably be considered inappropriate
|
|
32
|
+
|
|
33
|
+
## Enforcement Responsibilities
|
|
34
|
+
|
|
35
|
+
Project maintainers are responsible for clarifying and enforcing our standards
|
|
36
|
+
of acceptable behavior and will take appropriate and fair corrective action in
|
|
37
|
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
38
|
+
or harmful.
|
|
39
|
+
|
|
40
|
+
## Scope
|
|
41
|
+
|
|
42
|
+
This Code of Conduct applies within all community spaces, and also applies when
|
|
43
|
+
an individual is officially representing the community in public spaces.
|
|
44
|
+
|
|
45
|
+
## Enforcement
|
|
46
|
+
|
|
47
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
48
|
+
reported to the project maintainers at devops@connectify.com. All complaints
|
|
49
|
+
will be reviewed and investigated promptly and fairly.
|
|
50
|
+
|
|
51
|
+
All project maintainers are obligated to respect the privacy and security of
|
|
52
|
+
the reporter of any incident.
|
|
53
|
+
|
|
54
|
+
## Attribution
|
|
55
|
+
|
|
56
|
+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org),
|
|
57
|
+
version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Contributing to helpscout-mailbox
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to helpscout-mailbox!
|
|
4
|
+
|
|
5
|
+
## Code of Conduct
|
|
6
|
+
|
|
7
|
+
This project adheres to a Code of Conduct that all contributors are expected to follow. See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
|
|
8
|
+
|
|
9
|
+
## How to Contribute
|
|
10
|
+
|
|
11
|
+
### Reporting Issues
|
|
12
|
+
|
|
13
|
+
- Check existing [issues](https://github.com/Connectify/helpscout-mailbox/issues) first
|
|
14
|
+
- Provide reproduction steps, expected vs actual behavior
|
|
15
|
+
- Include Python version, library version, and environment details
|
|
16
|
+
|
|
17
|
+
### Submitting Pull Requests
|
|
18
|
+
|
|
19
|
+
1. **Fork** the repository
|
|
20
|
+
2. **Create a feature branch**: `git checkout -b feature/your-feature-name`
|
|
21
|
+
3. **Make your changes**:
|
|
22
|
+
- Follow existing code style (Black, isort, flake8)
|
|
23
|
+
- Add tests for new functionality
|
|
24
|
+
- Update docstrings (NumPy style)
|
|
25
|
+
- Run `pre-commit run --all-files` before committing
|
|
26
|
+
4. **Commit**: Use clear, descriptive commit messages
|
|
27
|
+
5. **Push**: `git push origin feature/your-feature-name`
|
|
28
|
+
6. **Open a Pull Request** with:
|
|
29
|
+
- Description of what changed and why
|
|
30
|
+
- Link to related issues
|
|
31
|
+
- Test results
|
|
32
|
+
|
|
33
|
+
### Development Setup
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Clone your fork
|
|
37
|
+
git clone https://github.com/YOUR-USERNAME/helpscout-mailbox.git
|
|
38
|
+
cd helpscout-mailbox
|
|
39
|
+
|
|
40
|
+
# Install with dev dependencies
|
|
41
|
+
pip install -e ".[dev]"
|
|
42
|
+
|
|
43
|
+
# Install pre-commit hooks
|
|
44
|
+
pre-commit install
|
|
45
|
+
|
|
46
|
+
# Run tests
|
|
47
|
+
pytest
|
|
48
|
+
|
|
49
|
+
# Run all linters
|
|
50
|
+
pre-commit run --all-files
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Testing
|
|
54
|
+
|
|
55
|
+
- Add tests for all new features and bug fixes
|
|
56
|
+
- Maintain or improve code coverage
|
|
57
|
+
- Use `responses` library to mock HTTP calls
|
|
58
|
+
- Run `pytest` to verify tests pass
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Run tests with coverage
|
|
62
|
+
pytest --cov=helpscout_mailbox --cov-report=term-missing
|
|
63
|
+
|
|
64
|
+
# Run specific test
|
|
65
|
+
pytest tests/test_client.py::test_parse_created_at
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Code Style
|
|
69
|
+
|
|
70
|
+
This project uses:
|
|
71
|
+
- **Black** (line length 120) for formatting
|
|
72
|
+
- **isort** for import sorting
|
|
73
|
+
- **flake8** for linting
|
|
74
|
+
- **mypy** for type checking (strict mode)
|
|
75
|
+
- **bandit** for security checks
|
|
76
|
+
|
|
77
|
+
Pre-commit hooks enforce these automatically.
|
|
78
|
+
|
|
79
|
+
### Docstring Style
|
|
80
|
+
|
|
81
|
+
Use NumPy-style docstrings:
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
def example_function(param1: str, param2: int) -> bool:
|
|
85
|
+
"""
|
|
86
|
+
Brief description of what the function does.
|
|
87
|
+
|
|
88
|
+
Longer description if needed, explaining behavior,
|
|
89
|
+
edge cases, or important details.
|
|
90
|
+
|
|
91
|
+
Parameters
|
|
92
|
+
----------
|
|
93
|
+
param1 : str
|
|
94
|
+
Description of param1.
|
|
95
|
+
param2 : int
|
|
96
|
+
Description of param2.
|
|
97
|
+
|
|
98
|
+
Returns
|
|
99
|
+
-------
|
|
100
|
+
bool
|
|
101
|
+
Description of return value.
|
|
102
|
+
|
|
103
|
+
Raises
|
|
104
|
+
------
|
|
105
|
+
ValueError
|
|
106
|
+
When param2 is negative.
|
|
107
|
+
"""
|
|
108
|
+
pass
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Documentation
|
|
112
|
+
|
|
113
|
+
- Update README.md for user-facing changes
|
|
114
|
+
- Docstrings generate API docs automatically via pdoc
|
|
115
|
+
- Build docs locally: `pdoc -o docs/ helpscout_mailbox`
|
|
116
|
+
|
|
117
|
+
## License
|
|
118
|
+
|
|
119
|
+
By contributing, you agree that your contributions will be licensed under the GPL-3.0-or-later license.
|
|
120
|
+
|
|
121
|
+
No Contributor License Agreement (CLA) is required.
|
|
122
|
+
|
|
123
|
+
## Questions?
|
|
124
|
+
|
|
125
|
+
Open an issue or start a discussion in [GitHub Issues](https://github.com/Connectify/helpscout-mailbox/issues).
|