Skip to main content

First App Package

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.1.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.1-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: weda_app-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 88f4bd9b4656e8c30bd7520e7a6039d7860a70d9d376b36c375494fede779a27
MD5 cc713b5fe5e2b3e54ec91a55acde4469
BLAKE2b-256 ae47c2e04204ac95928051b24f98ac8a52ca2a1c608a551a9b267f3fae25b1bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: weda_app-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c8a107b0a34a252d26593b94d5ee2ef91bfcd2853fa9a154dd9614459c82188
MD5 c6b9fa5519b17656d0942338c3fd8e3b
BLAKE2b-256 918dd94c67632d0fd78e45d93d1142ec94f61e634f95fce16c03e3b64502d814

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