Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Git
.git
.gitignore
.gitattributes

# Python
__pycache__
*.py[cod]
*$py.class
*.so
.Python
*.egg-info
dist
build
.eggs
.pytest_cache
.mypy_cache
.ruff_cache
.coverage
htmlcov

# Virtual environments
venv
env
ENV
.venv

# IDE
.vscode
.idea
*.swp
*.swo
*~

# Documentation
*.md
!README.md
docs

# CI/CD
.github

# Tests
tests
.coverage

# Development
Makefile
.flake8
requirements-dev.txt
.env
.env.example

# Docker
Dockerfile
docker-compose.yml
.dockerignore

# OS
.DS_Store
Thumbs.db

# Examples (uncomment if you don't want examples in the image)
# examples
9 changes: 9 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# OpenWeatherMap API Configuration
# Get your free API key at: https://openweathermap.org/api

# Required: Your OpenWeatherMap API key
OPENWEATHER_API_KEY=your_api_key_here

# Optional: Default temperature units (metric, imperial, or standard)
# metric = Celsius, imperial = Fahrenheit, standard = Kelvin
WEATHER_UNITS=metric
18 changes: 18 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[flake8]
max-line-length = 88
extend-ignore = E203, E266, E501, W503
exclude =
.git,
__pycache__,
build,
dist,
.eggs,
*.egg-info,
.venv,
venv,
.tox,
.pytest_cache,
.mypy_cache
max-complexity = 10
per-file-ignores =
__init__.py:F401
32 changes: 32 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Set default behavior to automatically normalize line endings
* text=auto

# Python files
*.py text eol=lf

# Shell scripts
*.sh text eol=lf

# Windows scripts
*.bat text eol=crlf
*.cmd text eol=crlf

# Documentation
*.md text
*.txt text
LICENSE text
CHANGELOG text

# Configuration files
*.yml text
*.yaml text
*.toml text
*.ini text
*.cfg text

# Exclude files from exporting
.gitattributes export-ignore
.gitignore export-ignore
.github export-ignore
tests export-ignore
Makefile export-ignore
67 changes: 67 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
name: Bug Report
about: Create a report to help us improve
title: '[BUG] '
labels: bug
assignees: ''
---

## Bug Description

A clear and concise description of what the bug is.

## To Reproduce

Steps to reproduce the behavior:

1. Run command '...'
2. With arguments '...'
3. See error '...'

## Expected Behavior

A clear and concise description of what you expected to happen.

## Actual Behavior

What actually happened instead.

## Screenshots

If applicable, add screenshots to help explain your problem.

## Environment

- OS: [e.g., Ubuntu 22.04, macOS 13.0, Windows 11]
- Python Version: [e.g., 3.11.0]
- Weather CLI Version: [e.g., 1.0.0]
- Installation Method: [e.g., pip, docker, source]

## Command Output

```bash
# Paste the full command and output here
$ python -m weather_cli.cli London
...
```

## Error Logs

```
# Paste any error messages or stack traces here
```

## Additional Context

Add any other context about the problem here.

## Possible Solution

If you have ideas on how to fix the issue, please describe them here.

## Checklist

- [ ] I have searched for similar issues
- [ ] I am using the latest version
- [ ] I have set the OPENWEATHER_API_KEY environment variable
- [ ] I have read the documentation
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Documentation
url: https://github.com/codeforgood-org/weather-cli/blob/main/README.md
about: Please check the documentation before opening an issue
- name: Examples
url: https://github.com/codeforgood-org/weather-cli/tree/main/examples
about: Check out example scripts demonstrating various use cases
57 changes: 57 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
name: Feature Request
about: Suggest an idea for this project
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

## Feature Description

A clear and concise description of the feature you'd like to see.

## Problem Statement

What problem does this feature solve? Describe the use case.

Example: "I'm always frustrated when..."

## Proposed Solution

Describe how you envision this feature working.

## Example Usage

Show how this feature would be used:

```bash
# Example command
$ weather-cli London --your-new-feature

# Expected output
...
```

## Alternatives Considered

Describe any alternative solutions or features you've considered.

## Additional Context

Add any other context, mockups, or screenshots about the feature request here.

## Benefits

- Who would benefit from this feature?
- How would it improve the tool?

## Implementation Ideas

If you have thoughts on how this could be implemented, share them here.

## Checklist

- [ ] I have searched for similar feature requests
- [ ] This feature aligns with the project's goals
- [ ] I am willing to help implement this feature
- [ ] I have considered backward compatibility
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Question
about: Ask a question about using Weather CLI
title: '[QUESTION] '
labels: question
assignees: ''
---

## Question

What would you like to know?

## Context

Provide any relevant context that might help us answer your question better.

## What I've Tried

Describe what you've already tried or researched:

- [ ] I've read the README
- [ ] I've checked the examples
- [ ] I've searched existing issues
- [ ] I've reviewed the documentation

## Expected Information

What kind of information or guidance are you looking for?

## Code Example (if applicable)

```python
# Include any relevant code here
```

## Additional Context

Add any other context or screenshots about your question here.
86 changes: 86 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Pull Request

## Description

Please include a summary of the changes and which issue is fixed. Include relevant motivation and context.

Fixes # (issue)

## Type of Change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Test improvement

## Changes Made

-
-
-

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

- [ ] Test A
- [ ] Test B

**Test Configuration**:
- Python version:
- OS:

## Screenshots (if applicable)

Add screenshots to demonstrate the changes.

## Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published

## Code Quality

- [ ] Code formatted with Black
- [ ] Imports sorted with isort
- [ ] Linted with flake8
- [ ] Type checked with mypy
- [ ] All tests passing

## Documentation

- [ ] README updated (if needed)
- [ ] Docstrings added/updated
- [ ] Examples added/updated (if applicable)
- [ ] CHANGELOG updated

## Breaking Changes

If this PR introduces breaking changes, please describe:

- What breaks:
- Migration path:
- Deprecation notice:

## Additional Notes

Add any additional notes or context for reviewers.

## Related Issues

Link any related issues here:

- Related to #
- Depends on #
- Blocks #
Loading
Loading