Skip to content

Commit 3e83ff6

Browse files
committed
Phase 17: Add release preparation files (CHANGELOG, CONTRIBUTING, CODE_OF_CONDUCT)
1 parent baa5447 commit 3e83ff6

4 files changed

Lines changed: 180 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.0] - 2024-01-15
9+
10+
### Added
11+
- Initial release of Steadfast Courier Python SDK
12+
- Order management (create single and bulk orders)
13+
- Order tracking (by consignment ID, invoice, tracking code)
14+
- Balance management
15+
- Return request management
16+
- Payment information retrieval
17+
- Location/police station lookup
18+
- Comprehensive error handling with specific exception types
19+
- Full type hints throughout codebase
20+
- Pre-commit hooks for code quality
21+
- GitHub Actions CI/CD workflows
22+
- Complete documentation and examples
23+
- 169 unit tests with 80%+ coverage
24+
25+
### Features
26+
- Simple API Key/Secret Key authentication
27+
- Order creation (single and bulk up to 500 items)
28+
- Multiple tracking methods
29+
- Return request management
30+
- Balance and payment tracking
31+
- Police station lookup
32+
- Type hints throughout
33+
- Comprehensive error handling
34+
- Retry logic with exponential backoff
35+
- Credential sanitization in logs

CODE_OF_CONDUCT.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Code of Conduct
2+
3+
## Our Commitment
4+
5+
We are committed to providing a welcoming and inspiring community for all. We expect all participants to uphold this code of conduct.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
- Using welcoming and inclusive language
12+
- Being respectful of differing opinions, viewpoints, and experiences
13+
- Gracefully accepting constructive criticism
14+
- Focusing on what is best for the community
15+
- Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior include:
18+
19+
- Harassment or discrimination of any kind
20+
- Offensive comments related to gender, sexual orientation, disability, mental illness, neuroatypicality, physical appearance, body size, race, or religion
21+
- Unwelcome sexual attention or advances
22+
- Deliberate intimidation or threats
23+
- Sustained disruption of community spaces
24+
- Other conduct which could reasonably be considered inappropriate
25+
26+
## Enforcement
27+
28+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated promptly and fairly.
29+
30+
The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
31+
32+
## Attribution
33+
34+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.0.

CONTRIBUTING.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Contributing to Steadfast Courier Python SDK
2+
3+
Thank you for your interest in contributing! This document provides guidelines and instructions for contributing.
4+
5+
## Getting Started
6+
7+
1. Fork the repository
8+
2. Clone your fork: `git clone https://github.com/your-username/steadfast-python.git`
9+
3. Create a virtual environment: `python3 -m venv venv`
10+
4. Activate it: `source venv/bin/activate`
11+
5. Install dev dependencies: `pip install -r requirements-dev.txt`
12+
6. Install pre-commit hooks: `pre-commit install`
13+
14+
## Development Workflow
15+
16+
1. Create a feature branch: `git checkout -b feature/your-feature`
17+
2. Make your changes
18+
3. Run quality checks: `./scripts/quality-check.sh`
19+
4. Commit with legacy-style messages: `git commit -m "Add feature description"`
20+
5. Push to your fork: `git push origin feature/your-feature`
21+
6. Create a Pull Request
22+
23+
## Code Quality Standards
24+
25+
All code must pass:
26+
27+
- **Black** - Code formatting (88 character line length)
28+
- **Flake8** - Linting
29+
- **MyPy** - Type checking (strict mode)
30+
- **Pytest** - All tests must pass
31+
32+
Run checks manually:
33+
```bash
34+
./scripts/quality-check.sh
35+
```
36+
37+
## Testing
38+
39+
- Write tests for all new features
40+
- Maintain 80%+ code coverage
41+
- Test edge cases and error scenarios
42+
- Use descriptive test names
43+
44+
Run tests:
45+
```bash
46+
pytest tests/ -v
47+
pytest tests/ --cov=steadfast --cov-report=html
48+
```
49+
50+
## Type Hints
51+
52+
All functions must have type hints:
53+
54+
```python
55+
def create_order(
56+
invoice: str,
57+
recipient_name: str,
58+
cod_amount: float
59+
) -> Order:
60+
"""Create an order."""
61+
pass
62+
```
63+
64+
## Documentation
65+
66+
- Update docstrings for all functions
67+
- Add examples for new features
68+
- Update relevant documentation files
69+
- Keep README.md current
70+
71+
## Commit Messages
72+
73+
Use legacy-style commit messages without emojis:
74+
75+
```
76+
Add feature description
77+
Fix bug in module
78+
Update documentation
79+
```
80+
81+
## Pull Request Process
82+
83+
1. Update documentation
84+
2. Add/update tests
85+
3. Ensure all checks pass
86+
4. Provide clear PR description
87+
5. Link related issues
88+
89+
## Code of Conduct
90+
91+
Be respectful and professional. We're committed to providing a welcoming environment.
92+
93+
## Questions?
94+
95+
Open an issue or contact the maintainers.
96+
97+
Thank you for contributing!

docs/steadfast_implementation_checklist.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -439,28 +439,28 @@ All examples are runnable and well-documented.
439439

440440
## Phase 17: Release Preparation
441441

442-
- [ ] **Version Management**
443-
- [ ] Update version in setup.py
444-
- [ ] Update version in __init__.py
442+
- [x] **Version Management**
443+
- [x] Version in setup.py: 0.1.0
444+
- [x] Version in __init__.py: 0.1.0
445445

446-
- [ ] **Documentation**
447-
- [ ] Create CHANGELOG.md
448-
- [ ] Create CONTRIBUTING.md
449-
- [ ] Create CODE_OF_CONDUCT.md
446+
- [x] **Documentation**
447+
- [x] Create CHANGELOG.md
448+
- [x] Create CONTRIBUTING.md
449+
- [x] Create CODE_OF_CONDUCT.md
450450

451451
- [ ] **PyPI Setup**
452452
- [ ] Create PyPI account
453453
- [ ] Generate PyPI token
454454
- [ ] Add to GitHub secrets
455455
- [ ] Verify package metadata
456456

457-
- [ ] **README**
458-
- [ ] Project description
459-
- [ ] Features list
460-
- [ ] Quick start
461-
- [ ] Installation
462-
- [ ] Contributing
463-
- [ ] License
457+
- [x] **README**
458+
- [x] Project description
459+
- [x] Features list
460+
- [x] Quick start
461+
- [x] Installation
462+
- [x] Contributing
463+
- [x] License
464464

465465
---
466466

0 commit comments

Comments
 (0)