Skip to main content

Add your description here

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

weda_app-0.1.0.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

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

weda_app-0.1.0-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file weda_app-0.1.0.tar.gz.

File metadata

  • Download URL: weda_app-0.1.0.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for weda_app-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d4938cb317a577c6e485acdc913bb177179875fb776bbdac3e6431821186adb2
MD5 48742621dbc9369c3cd0a39c08d61b55
BLAKE2b-256 1c9a4b250a704e166432dde16b7e772477682848855e6c0ed437b0a79ccc9935

See more details on using hashes here.

File details

Details for the file weda_app-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: weda_app-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for weda_app-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c930ad7cebfb671fcc2161f9ed8a8ddea956c19522b36f20580a19493bf202f8
MD5 0a7f3b9d8eed8a38523aad9c9ffb7cb7
BLAKE2b-256 992e628a67fc0240a92dba0a15f8599ccd14c0d166b2f4f01c56b47fa83675a1

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