{"id":18953713,"url":"https://github.com/jctophefabre/wecoded","last_synced_at":"2026-05-05T03:39:30.292Z","repository":{"id":62588635,"uuid":"372785202","full_name":"jctophefabre/wecoded","owner":"jctophefabre","description":"a Python tool for counting contributed lines by authors on multiple git repositories","archived":false,"fork":false,"pushed_at":"2021-06-02T14:02:16.000Z","size":9,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T15:41:15.355Z","etag":null,"topics":["contributions","git","repositories","statistics"],"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/jctophefabre.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}},"created_at":"2021-06-01T10:09:27.000Z","updated_at":"2021-06-02T13:32:20.000Z","dependencies_parsed_at":"2022-11-03T22:42:45.011Z","dependency_job_id":null,"html_url":"https://github.com/jctophefabre/wecoded","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jctophefabre%2Fwecoded","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jctophefabre%2Fwecoded/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jctophefabre%2Fwecoded/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jctophefabre%2Fwecoded/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jctophefabre","download_url":"https://codeload.github.com/jctophefabre/wecoded/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239952628,"owners_count":19723924,"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":["contributions","git","repositories","statistics"],"created_at":"2024-11-08T13:41:50.152Z","updated_at":"2026-03-30T05:30:15.320Z","avatar_url":"https://github.com/jctophefabre.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WeCoded\n\nWeCoded is a Python tool for counting contributed lines by authors on multiple git repositories.\n\n\n## Installation\n\n\nWeCoded requires Python 3.6 (or higher) and can be installed using the pip/pip3 tool\n\n```sh\npip3 install wecoded\n```\n\n## Usage\n\nWeCoded is run as a command line program with arguments. \nIt performs the cloning of the repositories then it computes and agregates the lines count statistics as a CSV file.\n\n\n### Prerequisites\n\nWeCoded needs the following external tools:\n\n* the `git` command line\n* the [git-extras](https://github.com/tj/git-extras) extension\n\n_Currently, WeCoded has only be tested on Linux system_\n\n\n### Configuration file \n\nWeCoded requires a configuration file defining \n\n* git repositories to clone and explore\n* authors aliases (optional)\n\nEach repository is defined by a name with an associated URL and an optional revision to checkout. \nThe revision can be a branch name, a tag or even a commit SHA1.\nIf no revision is provided, the default repository branch is checked out.  \nAliases for authors can be defined to avoid separate counting of the same author \nwho has commited under various forms of his name (e.g. 'John Doe', 'jdoe', 'J. Doe').\n\n```yaml\nrepositories:\n  - name: a-repos\n    url: https://organization.org/gitrepos/arepos\n    revision: v3.2.0\n  - name: another-repos\n    url: https://organization.org/gitrepos/anotherrepos\n  - name: extrarepos\n    url: https://company.com/git/extra\n    revision: develop\n\nauthors:\n  - name: 'John Doe'\n    aliases: \n      - 'J. Doe'\n      - 'jdoe'\n  - name: 'Erika Mustermann'\n    aliases: \n      - 'emustermann'\n```\n\nExamples of real configuration files are provided in the [examples](https://github.com/jctophefabre/wecoded/tree/master/examples) directory.\n\n\n### Command line\n\nTo execute the WeCoded tool in a given work directory, run the following command:\n```sh\nwecoded /path/to/work/dir\n```\nin this case, WeCoded will try to use a `wecoded-config.yaml` file in the current directory.  \n\n\nTo specify a configuration file path, use the `-f` / `--config-file` option\n```sh\nwecoded /path/to/work/dir -f /path/to/wecoded-myconfig.yaml\n```\n\nThe complete help on command line arguments can be obtained in a terminal using the `wecoded --help` command:\n```txt\nusage: wecoded [-h] [-f CONFIG_FILE] [-c] [-s] workpath\n\nA tool for contributions stats by authors on multiple git repositories\n\npositional arguments:\n  workpath              the work path\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -f CONFIG_FILE, --config-file CONFIG_FILE\n                        the path to the YAML configuration file (default: /path/to/wecoded-config.yaml)\n  -c, --no-clone        disable the cloning of remote repositories\n  -s, --no-stats        disable the computation of stats\n```\n\n\n## Author and License\n\nThe WeCoded package is developped by [Jean-Christophe Fabre](https://github.com/jctophefabre).  \nit is distributed under the terms of the [MIT license](https://github.com/jctophefabre/wecoded/blob/master/LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjctophefabre%2Fwecoded","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjctophefabre%2Fwecoded","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjctophefabre%2Fwecoded/lists"}