Create a Python example app that: Accepts a city (e.g., San Francisco, CA) and a country (e.g., United States) as input. Fetches the list of items from the Numbeo API using: https://www.numbeo.com/api/items?api_key=API_KEY Fetches cost of living price data for the selected city using: https://www.numbeo.com/api/city_prices?query=city,country&api_key=API_KEY Displays the fetched prices in a table format, with items sorted in ascending order according to the display_order field from the /items response. For building the app you can use api key API_KEY put it into .env The documentation for the API is here: https://www.numbeo.com/api/doc.jsp Numbeo API main page: https://www.numbeo.com/common/api.jsp Add to README.md that API key can be obtained here: https://www.numbeo.com/common/api.jsp This is the JSON response for https://www.numbeo.com/api/city_prices?query=San%20Francisco,%20CA&api_key=API_KEY {"name":"San Francisco, CA, United States","currency":"USD","contributors12months":126,"monthLastUpdate":1,"contributors":185,"yearLastUpdate":2026,"prices":[{"data_points":25,"item_id":1,"lowest_price":16,"average_price":25,"highest_price":45,"item_name":"Meal at an Inexpensive Restaurant, Restaurants"},{"data_points":20,"item_id":2,"lowest_price":100,"average_price":145,"highest_price":200,"item_name":"Meal for Two at a Mid-Range Restaurant (Three Courses, Without Drinks), Restaurants"},{"data_points":13,"item_id":3,"lowest_price":11,"average_price":15,"highest_price":15,"item_name":"Combo Meal at McDonald's (or Equivalent Fast-Food Meal), Restaurants"},{"data_points":23,"item_id":4,"lowest_price":6,"average_price":8,"highest_price":12,"item_name":"Domestic Draft Beer (0.5 Liter), Restaurants"},{"data_points":15,"item_id":5,"lowest_price":7,"average_price":9,"highest_price":10,"item_name":"Imported Beer (0.33 Liter Bottle), Restaurants"},{"data_points":24,"item_id":6,"lowest_price":2.75,"average_price":3.3087500000000003,"highest_price":4,"item_name":"Soft Drink (Coca-Cola or Pepsi, 0.33 Liter Bottle), Restaurants"},{"data_points":26,"item_id":7,"lowest_price":2,"average_price":2.881764705882353,"highest_price":5,"item_name":"Bottled Water (0.33 Liter), Restaurants"},{"data_points":34,"item_id":8,"lowest_price":1.0566882105491837,"average_price":1.5843118464878017,"highest_price":2.377548473735663,"item_name":"Milk (Regular, 1 Liter), Markets"},{"data_points":33,"item_id":9,"lowest_price":3.29591081966392,"average_price":5.259528104896954,"highest_price":11.023113109243878,"item_name":"Fresh White Bread (500 g Loaf), Markets"},{"data_points":23,"item_id":11,"lowest_price":3.5,"average_price":6.601249999999999,"highest_price":9.17,"item_name":"Eggs (12, Large Size), Markets"},{"data_points":26,"item_id":12,"lowest_price":11.023113109243878,"average_price":22.358763896055734,"highest_price":44.09245243697551,"item_name":"Local Cheese (1 kg), Markets"},{"data_points":20,"item_id":13,"lowest_price":1.5,"average_price":2.9861538461538464,"highest_price":4,"item_name":"Bottled Water (1.5 Liter), Markets"},{"data_points":22,"item_id":14,"lowest_price":10,"average_price":18,"highest_price":25,"item_name":"Bottle of Wine (Mid-Range), Markets"},{"data_points":19,"item_id":15,"lowest_price":1.4285714285714286,"average_price":3.0578851687565365,"highest_price":4.285714285714286,"item_name":"Domestic Beer (0.5 Liter Bottle), Markets"},{"data_points":18,"item_id":16,"lowest_price":2.5,"average_price":3.7715246565265925,"highest_price":5,"item_name":"Imported Beer (0.33 Liter Bottle), Markets"},{"data_points":16,"item_id":17,"lowest_price":11.71,"average_price":14,"highest_price":15,"item_name":"Cigarettes (Pack of 20, Marlboro), Markets"},{"data_points":25,"item_id":18,"lowest_price":2.5,"average_price":3,"highest_price":3.5,"item_name":"One-Way Ticket (Local Transport), Transportation"},{"data_points":24,"item_id":19,"lowest_price":6.613867865546327,"average_price":14.223020809769132,"highest_price":26.455471462185308,"item_name":"Chicken Fillets (1 kg), Markets"},{"data_points":17,"item_id":20,"lowest_price":81,"average_price":87,"highest_price":102,"item_name":"Monthly Public Transport Pass (Regular Price), Transportation"},{"data_points":22,"item_id":24,"lowest_price":1.1887742368678316,"average_price":1.2750882814363913,"highest_price":1.426529084241398,"item_name":"Gasoline (1 Liter), Transportation"},{"data_points":9,"item_id":25,"lowest_price":36753.8927,"average_price":36998,"highest_price":37649.85,"item_name":"Volkswagen Golf 1.5 (or Equivalent New Compact Car), Transportation"},{"data_points":27,"item_id":26,"lowest_price":2592,"average_price":3351.0244444444447,"highest_price":4140,"item_name":"1 Bedroom Apartment in City Centre, Rent Per Month"},{"data_points":35,"item_id":27,"lowest_price":2300,"average_price":2782.608695652174,"highest_price":3500,"item_name":"1 Bedroom Apartment Outside of City Centre, Rent Per Month"},{"data_points":34,"item_id":28,"lowest_price":4500,"average_price":5732.727272727273,"highest_price":7500,"item_name":"3 Bedroom Apartment in City Centre, Rent Per Month"},{"data_points":22,"item_id":29,"lowest_price":3900,"average_price":4629.333333333333,"highest_price":5500,"item_name":"3 Bedroom Apartment Outside of City Centre, Rent Per Month"},{"data_points":37,"item_id":30,"lowest_price":134.21052631578948,"average_price":229.1463331022678,"highest_price":415.8783568181818,"item_name":"Basic Utilities for 85 m2 Apartment (Electricity, Heating, Cooling, Water, Garbage), Utilities (Monthly)"},{"data_points":23,"item_id":33,"lowest_price":35,"average_price":68.5,"highest_price":100,"item_name":"Broadband Internet (Unlimited Data, 60 Mbps or Higher), Utilities (Monthly)"},{"data_points":36,"item_id":34,"lowest_price":35,"average_price":66.70833333333333,"highest_price":120,"item_name":"Mobile Phone Plan (Monthly, with Calls and 10GB+ Data), Utilities (Monthly)"},{"data_points":32,"item_id":40,"lowest_price":36,"average_price":115.57142857142857,"highest_price":250,"item_name":"Monthly Fitness Club Membership, Sports And Leisure"},{"data_points":11,"item_id":42,"lowest_price":5,"average_price":21.875,"highest_price":28,"item_name":"Tennis Court Rental (1 Hour, Weekend), Sports And Leisure"},{"data_points":24,"item_id":44,"lowest_price":15,"average_price":18,"highest_price":21,"item_name":"Cinema Ticket (International Release), Sports And Leisure"},{"data_points":20,"item_id":60,"lowest_price":42,"average_price":74.61538461538461,"highest_price":99,"item_name":"Jeans (Levi's 501 or Similar), Clothing And Shoes"},{"data_points":15,"item_id":62,"lowest_price":32,"average_price":48.59948111799456,"highest_price":70,"item_name":"Summer Dress in a Chain Store (e.g. Zara or H&M), Clothing And Shoes"},{"data_points":28,"item_id":64,"lowest_price":65,"average_price":100.78947368421052,"highest_price":145,"item_name":"Nike Running Shoes (Mid-Range), Clothing And Shoes"},{"data_points":15,"item_id":66,"lowest_price":100,"average_price":127.76201053657114,"highest_price":200,"item_name":"Men's Leather Business Shoes, Clothing And Shoes"},{"data_points":17,"item_id":206,"lowest_price":25633.5457,"average_price":26147.704200000004,"highest_price":26897.271099999998,"item_name":"Toyota Corolla Sedan 1.6 (or Equivalent New Mid-Size Car), Transportation"},{"data_points":24,"item_id":224,"lowest_price":2362,"average_price":3105.7183333333332,"highest_price":3763,"item_name":"Private Full-Day Preschool or Kindergarten, Monthly Fee per Child, Childcare"},{"data_points":21,"item_id":100,"lowest_price":8887,"average_price":10633.404640364837,"highest_price":12916.692500051666,"item_name":"Price per Square Meter to Buy Apartment in City Centre, Buy Apartment Price"},{"data_points":7,"item_id":228,"lowest_price":42000,"average_price":42000,"highest_price":45000,"item_name":"International Primary School, Annual Tuition per Child, Childcare"},{"data_points":16,"item_id":101,"lowest_price":7018,"average_price":9141.557150023391,"highest_price":19375.0387500775,"item_name":"Price per Square Meter to Buy Apartment Outside of Centre, Buy Apartment Price"},{"data_points":29,"item_id":105,"average_price":7377.736842105263,"item_name":"Average Monthly Net Salary (After Tax), Salaries And Financing"},{"data_points":32,"item_id":106,"lowest_price":6,"average_price":6.476190476190476,"highest_price":7.2,"item_name":"Annual Mortgage Interest Rate (20-Year Fixed, in %), Salaries And Financing"},{"data_points":13,"item_id":107,"lowest_price":4.15,"average_price":4.15,"highest_price":4.15,"item_name":"Taxi Start (Standard Tariff), Transportation"},{"data_points":13,"item_id":108,"lowest_price":2.019456374771335,"average_price":2.03,"highest_price":2.485484768949336,"item_name":"Taxi 1 km (Standard Tariff), Transportation"},{"data_points":12,"item_id":109,"lowest_price":38.999999922,"average_price":39,"highest_price":39,"item_name":"Taxi 1 Hour Waiting (Standard Tariff), Transportation"},{"data_points":26,"item_id":110,"lowest_price":4.144690529075698,"average_price":7.039230347879503,"highest_price":11.023113109243878,"item_name":"Apples (1 kg), Markets"},{"data_points":23,"item_id":111,"lowest_price":3.3069339327731635,"average_price":5.427505317163955,"highest_price":11.023113109243878,"item_name":"Oranges (1 kg), Markets"},{"data_points":21,"item_id":112,"lowest_price":2.1605301694118,"average_price":3.9542705192077436,"highest_price":8.818490487395103,"item_name":"Potatoes (1 kg), Markets"},{"data_points":25,"item_id":113,"lowest_price":2,"average_price":3.2311764705882355,"highest_price":4,"item_name":"Lettuce (1 Head), Markets"},{"data_points":33,"item_id":114,"lowest_price":3.72,"average_price":5.679545454545455,"highest_price":10,"item_name":"Cappuccino (Regular Size), Restaurants"},{"data_points":21,"item_id":115,"lowest_price":2.8660094084034085,"average_price":6.466210325426266,"highest_price":13.227735731092654,"item_name":"White Rice (1 kg), Markets"},{"data_points":26,"item_id":116,"lowest_price":3,"average_price":7.800520827753809,"highest_price":13.205689504874167,"item_name":"Tomatoes (1 kg), Markets"},{"data_points":28,"item_id":118,"lowest_price":1.9621141334454104,"average_price":3.0412188904556015,"highest_price":8.818490487395103,"item_name":"Bananas (1 kg), Markets"},{"data_points":24,"item_id":119,"lowest_price":3,"average_price":4.731671302142935,"highest_price":8.818490487395103,"item_name":"Onions (1 kg), Markets"},{"data_points":21,"item_id":121,"lowest_price":15.43235835294143,"average_price":23.824493168315524,"highest_price":37.456538345210696,"item_name":"Beef Round or Equivalent Back Leg Red Meat (1 kg), Markets"}],"city_id":3483} and this is the JSON response for /api/items call {"items":[{"rent_factor":0,"cpi_factor":16,"item_id":1,"name":"Meal at an Inexpensive Restaurant","display_order":1,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":4,"item_id":2,"name":"Meal for Two at a Mid-Range Restaurant (Three Courses, Without Drinks)","display_order":2,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":12,"item_id":3,"name":"Combo Meal at McDonald's (or Equivalent Fast-Food Meal)","display_order":3,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":6,"item_id":4,"name":"Domestic Draft Beer (0.5 Liter)","display_order":4,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":6,"item_id":5,"name":"Imported Beer (0.33 Liter Bottle)","display_order":5,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":10,"item_id":6,"name":"Soft Drink (Coca-Cola or Pepsi, 0.33 Liter Bottle)","display_order":7,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":10,"item_id":7,"name":"Bottled Water (0.33 Liter)","display_order":8,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":25,"item_id":8,"name":"Milk (Regular, 1 Liter)","display_order":9,"category":"Markets"},{"rent_factor":0,"cpi_factor":31,"item_id":9,"name":"Fresh White Bread (500 g Loaf)","display_order":10,"category":"Markets"},{"rent_factor":0,"cpi_factor":20,"item_id":11,"name":"Eggs (12, Large Size)","display_order":12,"category":"Markets"},{"rent_factor":0,"cpi_factor":12,"item_id":12,"name":"Local Cheese (1 kg)","display_order":13,"category":"Markets"},{"rent_factor":0,"cpi_factor":30,"item_id":13,"name":"Bottled Water (1.5 Liter)","display_order":23,"category":"Markets"},{"rent_factor":0,"cpi_factor":4,"item_id":14,"name":"Bottle of Wine (Mid-Range)","display_order":24,"category":"Markets"},{"rent_factor":0,"cpi_factor":6,"item_id":15,"name":"Domestic Beer (0.5 Liter Bottle)","display_order":25,"category":"Markets"},{"rent_factor":0,"cpi_factor":6,"item_id":16,"name":"Imported Beer (0.33 Liter Bottle)","display_order":26,"category":"Markets"},{"rent_factor":0,"cpi_factor":15,"item_id":17,"name":"Cigarettes (Pack of 20, Marlboro)","display_order":27,"category":"Markets"},{"rent_factor":0,"cpi_factor":20,"item_id":18,"name":"One-Way Ticket (Local Transport)","display_order":28,"category":"Transportation"},{"rent_factor":0,"cpi_factor":1.5,"item_id":20,"name":"Monthly Public Transport Pass (Regular Price)","display_order":29,"category":"Transportation"},{"rent_factor":0,"cpi_factor":31,"item_id":110,"name":"Apples (1 kg)","display_order":16,"category":"Markets"},{"rent_factor":0.25,"cpi_factor":0.03,"item_id":26,"name":"1 Bedroom Apartment in City Centre","display_order":48,"category":"Rent Per Month"},{"rent_factor":0.25,"cpi_factor":0.03,"item_id":27,"name":"1 Bedroom Apartment Outside of City Centre","display_order":49,"category":"Rent Per Month"},{"rent_factor":0.25,"cpi_factor":0.03,"item_id":28,"name":"3 Bedroom Apartment in City Centre","display_order":50,"category":"Rent Per Month"},{"rent_factor":0.25,"cpi_factor":0.03,"item_id":29,"name":"3 Bedroom Apartment Outside of City Centre","display_order":51,"category":"Rent Per Month"},{"rent_factor":0,"cpi_factor":1,"item_id":30,"name":"Basic Utilities for 85 m2 Apartment (Electricity, Heating, Cooling, Water, Garbage)","display_order":36,"category":"Utilities (Monthly)"},{"rent_factor":0,"cpi_factor":1,"item_id":33,"name":"Broadband Internet (Unlimited Data, 60 Mbps or Higher)","display_order":38,"category":"Utilities (Monthly)"},{"rent_factor":0,"cpi_factor":0.02,"item_id":100,"name":"Price per Square Meter to Buy Apartment in City Centre","display_order":52,"category":"Buy Apartment Price"},{"rent_factor":0,"cpi_factor":0.02,"item_id":101,"name":"Price per Square Meter to Buy Apartment Outside of Centre","display_order":53,"category":"Buy Apartment Price"},{"rent_factor":0,"cpi_factor":0,"item_id":105,"name":"Average Monthly Net Salary (After Tax)","display_order":54,"category":"Salaries And Financing"},{"rent_factor":0,"cpi_factor":0,"item_id":106,"name":"Annual Mortgage Interest Rate (20-Year Fixed, in %)","display_order":55,"category":"Salaries And Financing"},{"rent_factor":0,"cpi_factor":60,"item_id":24,"name":"Gasoline (1 Liter)","display_order":33,"category":"Transportation"},{"rent_factor":0,"cpi_factor":2.3,"item_id":40,"name":"Monthly Fitness Club Membership","display_order":39,"category":"Sports And Leisure"},{"rent_factor":0,"cpi_factor":3,"item_id":42,"name":"Tennis Court Rental (1 Hour, Weekend)","display_order":40,"category":"Sports And Leisure"},{"rent_factor":0,"cpi_factor":6,"item_id":44,"name":"Cinema Ticket (International Release)","display_order":41,"category":"Sports And Leisure"},{"rent_factor":0,"cpi_factor":15,"item_id":19,"name":"Chicken Fillets (1 kg)","display_order":14,"category":"Markets"},{"rent_factor":0,"cpi_factor":0.0035,"item_id":25,"name":"Volkswagen Golf 1.5 (or Equivalent New Compact Car)","display_order":34,"category":"Transportation"},{"rent_factor":0,"cpi_factor":0.35,"item_id":60,"name":"Jeans (Levi's 501 or Similar)","display_order":44,"category":"Clothing And Shoes"},{"rent_factor":0,"cpi_factor":0.35,"item_id":62,"name":"Summer Dress in a Chain Store (e.g. Zara or H&M)","display_order":45,"category":"Clothing And Shoes"},{"rent_factor":0,"cpi_factor":0.35,"item_id":64,"name":"Nike Running Shoes (Mid-Range)","display_order":46,"category":"Clothing And Shoes"},{"rent_factor":0,"cpi_factor":0.35,"item_id":66,"name":"Men's Leather Business Shoes","display_order":47,"category":"Clothing And Shoes"},{"rent_factor":0,"cpi_factor":5,"item_id":107,"name":"Taxi Start (Standard Tariff)","display_order":30,"category":"Transportation"},{"rent_factor":0,"cpi_factor":20,"item_id":108,"name":"Taxi 1 km (Standard Tariff)","display_order":31,"category":"Transportation"},{"rent_factor":0,"cpi_factor":0.7,"item_id":109,"name":"Taxi 1 Hour Waiting (Standard Tariff)","display_order":32,"category":"Transportation"},{"rent_factor":0,"cpi_factor":30,"item_id":111,"name":"Oranges (1 kg)","display_order":18,"category":"Markets"},{"rent_factor":0,"cpi_factor":24,"item_id":112,"name":"Potatoes (1 kg)","display_order":20,"category":"Markets"},{"rent_factor":0,"cpi_factor":18,"item_id":113,"name":"Lettuce (1 Head)","display_order":22,"category":"Markets"},{"rent_factor":0,"cpi_factor":30,"item_id":114,"name":"Cappuccino (Regular Size)","display_order":6,"category":"Restaurants"},{"rent_factor":0,"cpi_factor":14,"item_id":115,"name":"White Rice (1 kg)","display_order":11,"category":"Markets"},{"rent_factor":0,"cpi_factor":22,"item_id":116,"name":"Tomatoes (1 kg)","display_order":19,"category":"Markets"},{"rent_factor":0,"cpi_factor":25,"item_id":118,"name":"Bananas (1 kg)","display_order":17,"category":"Markets"},{"rent_factor":0,"cpi_factor":10,"item_id":119,"name":"Onions (1 kg)","display_order":21,"category":"Markets"},{"rent_factor":0,"cpi_factor":15,"item_id":121,"name":"Beef Round or Equivalent Back Leg Red Meat (1 kg)","display_order":15,"category":"Markets"},{"rent_factor":0,"cpi_factor":0.0035,"item_id":206,"name":"Toyota Corolla Sedan 1.6 (or Equivalent New Mid-Size Car)","display_order":35,"category":"Transportation"},{"rent_factor":0,"cpi_factor":0,"item_id":224,"name":"Private Full-Day Preschool or Kindergarten, Monthly Fee per Child","display_order":42,"category":"Childcare"},{"rent_factor":0,"cpi_factor":0,"item_id":228,"name":"International Primary School, Annual Tuition per Child","display_order":43,"category":"Childcare"},{"rent_factor":0,"cpi_factor":4,"item_id":34,"name":"Mobile Phone Plan (Monthly, with Calls and 10GB+ Data)","display_order":37,"category":"Utilities (Monthly)"}]}