{"id":15027400,"url":"https://github.com/architv/soccer-cli","last_synced_at":"2025-05-15T08:07:34.779Z","repository":{"id":36526403,"uuid":"40832166","full_name":"architv/soccer-cli","owner":"architv","description":":soccer: Football scores for hackers. :computer: A command line interface for all the football scores.","archived":false,"fork":false,"pushed_at":"2023-05-22T21:34:32.000Z","size":218,"stargazers_count":1106,"open_issues_count":24,"forks_count":223,"subscribers_count":83,"default_branch":"master","last_synced_at":"2025-04-07T03:14:35.926Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/architv.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":"2015-08-16T18:06:38.000Z","updated_at":"2025-03-27T13:21:26.000Z","dependencies_parsed_at":"2023-10-20T17:31:28.521Z","dependency_job_id":null,"html_url":"https://github.com/architv/soccer-cli","commit_stats":{"total_commits":215,"total_committers":30,"mean_commits":7.166666666666667,"dds":0.6697674418604651,"last_synced_commit":"04932b677eed1fef032eaccffebabfcaeec2d48b"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architv%2Fsoccer-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architv%2Fsoccer-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architv%2Fsoccer-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/architv%2Fsoccer-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/architv","download_url":"https://codeload.github.com/architv/soccer-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248890069,"owners_count":21178357,"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","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":[],"created_at":"2024-09-24T20:06:22.054Z","updated_at":"2025-04-14T13:42:33.857Z","avatar_url":"https://github.com/architv.png","language":"Python","funding_links":[],"categories":["Tools","Football Apps"],"sub_categories":["Python","Misc"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"http://i.imgur.com/F9zuexe.jpg\" width=\"500px\" /\u003e\n\u003c/p\u003e\n\nSoccer CLI\n=====\n\n[![PyPI version](https://badge.fury.io/py/soccer-cli.svg)](http://badge.fury.io/py/soccer-cli) [![Join the chat at https://gitter.im/architv/soccer-cli](https://badges.gitter.im/architv/soccer-cli.svg)](https://gitter.im/architv/soccer-cli?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Run on Repl.it](https://repl.it/badge/github/architv/soccer-cli)](https://repl.it/github/architv/soccer-cli)\n\nSoccer for Hackers - a CLI for all the football scores.\n\n![](http://i.imgur.com/9QbcUrj.gif)\n\nInstall\n=====\n\nAn API key from [football-data.org](http://api.football-data.org/) will be required and you can register for one [here](http://api.football-data.org/client/register).\n\n\n### Build from source\n\n```bash\n$ git clone https://github.com/architv/soccer-cli.git\n$ cd soccer-cli\n$ python setup.py install\n```\n\nYou can set the API key using an environment variable as shown above or create a file `.soccer-cli.ini` in your home folder (`/home/username/.soccer-cli.ini`) that contains only your API token, such that:\n\n```bash\n$ cat /home/username/.soccer-cli.ini\n\u003cYOUR_API_TOKEN\u003e\n```\n\n#### Note:\nCurrently supports Linux, Mac OS X, NetBSD, FreeBSD and Windows.\n\nTo get colorized terminal output on Windows, make sure to install [ansicon](https://github.com/adoxa/ansicon/releases/latest) and [colorama](https://pypi.org/project/colorama/).\n\nUsage\n====\n\n### Get standings for a league\n\n```bash\n$ soccer --standings --league=PL # PL is the league code for English Premier League\n```\n\n### Get scores for a particular team\n\n```bash\n$ soccer --team=MUFC # MUFC is the team code for Manchester United\n$ soccer --team=PSG --time=10 # scores for all the Paris Saint-Germain games over the past 10 days\n```\n\n### Get upcoming fixtures\n\n```bash\n$ soccer --time 5 --upcoming # get upcoming fixtures for next 5 days\n$ soccer --time 5 --upcoming --use12hour # upcoming fixture for next 5 days with timings in 12 hour format\n```\n\n### Get scores for live games\n\n```bash\n$ soccer --live\n```\n\n### Get scores for a particular league\n\n```bash\n$ soccer --league=BL # BL is the league code for Bundesliga\n$ soccer --league=FL --time=15 # get scores for all the French Ligue games over the past 15 days\n```\n\n### Get information about players of a team\n\n```bash\n$ soccer --team=JUVE --players\n```\n\n### Get scores for all seven leagues with a set time period\n\n```bash\n$ soccer --time=10 # get scores for all the seven leagues over the past 10 days\n```\n\n### Get the output in csv or json\n\n```bash\n$ soccer --league PL --standings --csv # prints the output in csv format\n$ soccer --league PL --standings --json # prints the output in json format\n```\n\n### Store the ouput in a file\n\n```bash\n$ soccer --league PL --standings --csv -o 'standings.csv' # stores the ouput in csv format in `standings.csv`\n```\n\n### Help\n```bash\n$ soccer --help\n```\n### List of supported leagues and their league codes\n\n- World:\n  - WC: World Cup (if running/active)\n- Europe:\n  - CL: Champions League\n  - EC: European Championships (if running/active)\n- Brazil:\n  - BSA: Brazil Serie A\n- England:\n  - PL: English Premier League\n  - ELC: English Championship\n- France:\n  - FL1: Ligue 1\n- Germany:\n  - BL: Bundesliga\n- Italy:\n  - SA: Serie A\n- Netherlands:\n  - DED: Eredivisie\n- Portugal:\n  - PPL: Primeira Liga\n- Spain:\n  - LLIGA: La Liga\n\n### Team and team codes\n\nFor a full list of supported team and team codes [see this](soccer/teams.json).\n\n### Tests\n\nTo run testing suite from root of repo\n\n```bash\n$ python -m unittest discover tests\n```\n\nTo run specific test file (in this case the tests in test_request_handler.py)\n\n```bash\n$ python -m unittest tests.test_request_handler\n```\n\nDemo\n====\n\n### Standings\n![standings](http://i.imgur.com/voyWLQE.gif)\n\n### Live scores\n![](http://i.imgur.com/EX9GMAM.gif)\n\n### Team scores\n![](http://i.imgur.com/QfvH8QL.png)\n\n### Output in json format\n![](http://i.imgur.com/jqGhLia.gif)\n\nTodo\n====\n- [ ] Enable cache.\n- [ ] Add more test cases.\n- [x] Add fixtures for UEFA Champions League.\n- [ ] Add league filter for live scores.\n- [x] Color coding for Europa league and differentiation between straight CL and CL playoff spots, and the same for EL spots.\n- [x] Add support for team line up.\n- [ ] A built in watch feature so you can run once with --live and just leave the program running.\n- [ ] Python 3 support.\n\nLicence\n====\nOpen sourced under [MIT License](LICENSE)\n\nSupport\n====\nIf you like my work, please support the project by donating.\n\n- https://gratipay.com/~architv\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchitv%2Fsoccer-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchitv%2Fsoccer-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchitv%2Fsoccer-cli/lists"}