Homework done
Project description
📘 Homework: Build & Publish a Python Weather App
🎯 Objective
In this assignment, you will take a simple Python weather application and turn it into a real-world, installable Python package that others can use.
By the end, you will:
- Work with virtual environments using UV
- Use environment variables securely
- Package Python projects (.whl)
- Publish to PyPI
- Share your project with others
🧩 Starter Code
main.py
📝 Tasks
- ✅ 1. Create a Virtual Environment (Using UV) and Activate it.
- 🔑 2. Get API Key & Use .env
- 🏗️ 3. Structure Your Project Properly
- 📦 4. Build Your Package (.whl)
- 🚀 5. Publish to PyPI
- 🌍 6. Install Your Package
pip install your-project-namefrom weather_app import OpenWeatherMap
- 🧑💻 7. Push to GitHub
- 👥 8. Share With Others
🏗️ Structure Your Project Properly
weather-app/
│
├── src/
│ └── weather_app/
│ ├── __init__.py
│ └── client.py
│
├── .env
|-- main.py
├── pyproject.toml
├── README.md
└── .gitignore
🧠 Grading Criteria
| Criteria | Points |
|---|---|
| Virtual environment setup | 10 |
API key + .env usage |
15 |
| Project structure | 15 |
Package build (.whl) |
20 |
| PyPI deployment | 20 |
| GitHub repo | 10 |
| Sharing/testing | 10 |
| Total | 100 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
weatherme-0.1.1.tar.gz
(2.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file weatherme-0.1.1.tar.gz.
File metadata
- Download URL: weatherme-0.1.1.tar.gz
- Upload date:
- Size: 2.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2290d94d0c0023c1ce69806a1d3cbe6969bd4cad2c37a2e27f882958f9d7d2f2
|
|
| MD5 |
5ba3c5685edc7880b40cb5db5949966d
|
|
| BLAKE2b-256 |
c6745ef2c8dc62c9bd4b101687c3bd14c1ae89acf3b883de84c97362e4fd6d0b
|
File details
Details for the file weatherme-0.1.1-py3-none-any.whl.
File metadata
- Download URL: weatherme-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff13fbaafe910403837ab560863cd01b1879d226fcf387a11aa0e50f83cc1218
|
|
| MD5 |
52350ab1ee8abcc01d51f802cdf9d469
|
|
| BLAKE2b-256 |
8823d0b44db5ff6937c11ff5c959d2d11942780ab56bdba29bb9df1a41008113
|