Skip to main content

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-name
    • from 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weather_app_vkyei-0.1.2.tar.gz (2.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weather_app_vkyei-0.1.2-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file weather_app_vkyei-0.1.2.tar.gz.

File metadata

  • Download URL: weather_app_vkyei-0.1.2.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

Hashes for weather_app_vkyei-0.1.2.tar.gz
Algorithm Hash digest
SHA256 68f129156d18babd74b85a675988dccc8f6c03bf596d4eb816c6e1317739cd6a
MD5 6812dc3e214abf1fdb0f5335f84b2873
BLAKE2b-256 3f3fe796113bdfb77f21a8a2e361448dbed8add2cdf8aac3bf118a8491cd7dd3

See more details on using hashes here.

File details

Details for the file weather_app_vkyei-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for weather_app_vkyei-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a3c8f91459764d52ccd5cc7b1b0ba2cb23c98b907def15818d36f2951c827573
MD5 6a3ec47cd74b61f7728c229d5c94e1a6
BLAKE2b-256 b9813fff182154e5e66a24d82ca9cf8a2fc1cc95fe5472dd481cf331c488554f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page