{"id":21540490,"url":"https://github.com/othercodes/technical-assessment-weather-console-python","last_synced_at":"2025-10-29T02:08:19.496Z","repository":{"id":78684853,"uuid":"454067484","full_name":"othercodes/technical-assessment-weather-console-python","owner":"othercodes","description":"A console-based weather viewer satisfying the scenarios required for a technical assessment in python.","archived":false,"fork":false,"pushed_at":"2022-03-23T08:30:47.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T21:56:07.590Z","etag":null,"topics":["assessment","console","python","weather"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/othercodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-01-31T15:47:34.000Z","updated_at":"2024-04-23T07:09:14.000Z","dependencies_parsed_at":"2023-04-26T10:46:41.231Z","dependency_job_id":null,"html_url":"https://github.com/othercodes/technical-assessment-weather-console-python","commit_stats":{"total_commits":15,"total_committers":2,"mean_commits":7.5,"dds":0.06666666666666665,"last_synced_commit":"286bfbd688b34d5eacef797c07cc12d9c3af3bd3"},"previous_names":["othercodes/technical-assessment-weather-console-python"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/othercodes/technical-assessment-weather-console-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othercodes%2Ftechnical-assessment-weather-console-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othercodes%2Ftechnical-assessment-weather-console-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othercodes%2Ftechnical-assessment-weather-console-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othercodes%2Ftechnical-assessment-weather-console-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/othercodes","download_url":"https://codeload.github.com/othercodes/technical-assessment-weather-console-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othercodes%2Ftechnical-assessment-weather-console-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281544195,"owners_count":26519554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assessment","console","python","weather"],"created_at":"2024-11-24T04:19:06.912Z","updated_at":"2025-10-29T02:08:19.470Z","avatar_url":"https://github.com/othercodes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Technical Assessment - Weather Console\n\nImplement a console-based weather viewer satisfying the scenarios below.\n\n## Installation\n\nJust clone the repository and install the dependencies using [Poetry](https://python-poetry.org/):\n\n```bash\ngit clone https://github.com/othercodes/technical-assessment-weather-console\ncd technical-assessment-weather-console\npoetry install\n# this will create a virtual env for the app\ncp example.env .env\n# copy the example.env as .env and set the required credentials\n# finally run the application :D\npoetry run python myweatherapp.py\n```\n\n## Scenarios\n\n**Get the current weather data for the given location.**\n\nArguments:\n\n* Location, in \"`{city},{country code}`\" format.\n\nOptions:\n\n* --units: Units of measurement must be `metric` or `imperial`, `metric` by default.\n\nExample:\n\n```bash\n$ myweatherapp current Irvine,US --units=imperial\nIRVINE (US)\nJan 31, 2022 \n\u003e Weather: Clear sky.\n\u003e Temperature: 48.72 ºF\n```\n\n**Get the weather forecast for max 5 days for the given location.**\n\nArguments:\n\n* Location, in \"`{city},{country code}`\" format.\n\nOptions:\n\n* --days: The number of days to retrieve forecast data for, `1` by default.\n* --units: Units of measurement must be `metric` or `imperial`, `metric` by default.\n\nExample:\n\n```bash\n$ myweatherapp forecast Santander,ES --days=3\nSANTANDER (ES)\nFeb 01, 2022 \n\u003e Weather: Clouds.\n\u003e Temperature: 11.1 ºC\nFeb 02, 2022 \n\u003e Weather: Broken clouds.\n\u003e Temperature: 14 ºC\nFeb 03, 2022 \n\u003e Weather: Sunny.\n\u003e Temperature: 16 ºC\n```\n\n## Details\n\n* Use the language you feel more comfortable.\n* The application must use the console for input and output.\n* The application must have a small help message (just as normal console commands).\n* You can name your application as you wish (in the examples above is \"myweatherapp\").\n* You must use at least one of the following APIs to get the weather data (registration and usage is free).\n    * https://developer.accuweather.com/apis\n    * https://openweathermap.org/api\n* Please follow best practices on storing your API Keys.\n* Add instructions about how to run the application.\n\n## What we are looking for:\n\n* Don't use any framework, we want to see you code.\n* Pay attention about how your code is organized.\n* How you are reflecting the domain in the code.\n* We love clean code.\n* We love tests, 95% of coverage will be appreciated but not required.\n* Logging support will be appreciated but not required.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fothercodes%2Ftechnical-assessment-weather-console-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fothercodes%2Ftechnical-assessment-weather-console-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fothercodes%2Ftechnical-assessment-weather-console-python/lists"}