{"id":15473505,"url":"https://github.com/seluj78/42pychecker","last_synced_at":"2026-06-16T15:31:28.738Z","repository":{"id":118614406,"uuid":"120588870","full_name":"Seluj78/42PyChecker","owner":"Seluj78","description":"A 42FileChecker rework in Python","archived":false,"fork":false,"pushed_at":"2018-02-22T09:11:48.000Z","size":305,"stargazers_count":4,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-25T17:45:18.564Z","etag":null,"topics":["42","42-school","42born2code","42fc","42filechecker","42pychecker","42school","ftls","libft"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Seluj78.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-07T08:52:37.000Z","updated_at":"2024-03-20T10:26:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"240d7719-0f2f-47e1-960b-d613db7da3ec","html_url":"https://github.com/Seluj78/42PyChecker","commit_stats":{"total_commits":67,"total_committers":1,"mean_commits":67.0,"dds":0.0,"last_synced_commit":"39098fc9d4ac153453ddce187ad48826e9731a0f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Seluj78/42PyChecker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seluj78%2F42PyChecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seluj78%2F42PyChecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seluj78%2F42PyChecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seluj78%2F42PyChecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Seluj78","download_url":"https://codeload.github.com/Seluj78/42PyChecker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seluj78%2F42PyChecker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34412785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"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":["42","42-school","42born2code","42fc","42filechecker","42pychecker","42school","ftls","libft"],"created_at":"2024-10-02T02:54:19.636Z","updated_at":"2026-06-16T15:31:28.717Z","avatar_url":"https://github.com/Seluj78.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 42PyChecker\n\n\u003c!-- Need an image here --\u003e\n\n## We're actively looking for contributors !\nShoot me an email at \u003c\u003cjlasne@student.42.fr\u003e\u003e or on slack (42Born2Code) `jlasne` !\n\n#### Uses\nThe script is designed as a reminder:\n* author file terminated by a Line Feed\n* count and files name\n* code's standard\n* required and forbidden functions\n* macro definitions\n* static variables \u0026 functions declarations\n* makefile rules\n\nExtra tests may also be performed:\n* memory leaks detection\n* speed test comparison\n* Unit Tests\n\nComplete unit tests are handled through external frameworks whose sources are automatically downloaded, configured and updated in background when you run the script:\n* [**moulitest**](https://github.com/yyang42/moulitest), developed by [@yyang42](https://github.com/yyang42) and other contributors\n* [**libftest**](https://github.com/jtoty/Libftest), developed by [@jtoty](https://github.com/jtoty)\n* [**libft-unit-test**](https://github.com/alelievr/libft-unit-test), developed by [@alelievr](https://github.com/alelievr)\n* [**fillit_checker**](https://github.com/anisg/fillit_checker), developed by [@anisg](https://github.com/anisg)\n* [**Maintest**](https://github.com/QuentinPerez/Maintest), developed by [@QuentinPerez](https://github.com/QuentinPerez) and other contributors\n\u003c!--* [**42ShellTester**](https://github.com/we-sh/42ShellTester), developed by [@gabkk](https://github.com/gabkk) and [@jgigault](https://github.com/jgigault)--\u003e\n\n## Install \u0026 launch\nThis script requires python 3.6 or above to work.\n```bash\nrm -rf $HOME/.brew \u0026\u0026 brew update \u0026\u0026 export PATH=$HOME/.brew/bin:$PATH \u0026\u0026 brew update \u0026\u0026 brew install python3 \u0026\u0026 cd \u0026\u0026 git clone https://github.com/Seluj78/42PyChecker.git --recursive \u0026\u0026 cd 42PyChecker\n```\n\n## non-interactive mode\nThe non-interactive mode enables you to launch a test suite without any prompt.\nYou must specify the two options `--project` and `--path`.\nHere is an example of use with the project `libft`:\n```bash\npython3 ~/42PyChecker/42PyChecker.py --project=libft --path=/Users/admin/Projects/libft/ --no-gui\n```\n\n## options\n\n#### `--project` + *`$PROJECT`*\n\nRequired for non-interactive mode.  \nSpecify the name of the project you want to test.  \ne.g.: `python3 ./42PyChecker.py --project=libft`.  \nMust be one of the following values: `42commandements`, `libft` or `other`.\n\n#### `--path` + *`$PATH`*\n\nRequired for non-interactive mode.  \nThis option has no effect when used without the option `--project`.  \nSpecify the absolute path of directory of your project.  \ne.g.: `python3 ./42PyChecker.py --project=libft --path=/Users/admin/Projects/libft/`.\n\n##### `--no-author`, `--no-norm`, `--no-makefile`, `--no-forbidden-functions`, `--no-static`, `--no-moulitest`, `--no-maintest`, `--no-libftest`, `--no-extra` `--no-required`, `--no-libft-unit-test`, `--no-fillit-checker`, `--no-bonus`\n\nDisable a specific test.\n\n##### `--no-tests`\nThis will disable all testing suites but run the other tests.\n\n##### `--do-benchmark`\nEnables speed benchmark for libft\n\n#### `--show-c` and `--show-w`\nThese options will display respectively the License and the Warranty.\n\n## official team and credits\n\n42PyChecker is an open source project distributed under licence [GNU-3.0](https://github.com/Seluj78/42PyChecker/blob/master/LICENSE).\n\nOriginally developed by Jules Lasne [@seluj78](https://github.com/seluj78) \u003c\u003cjules.lasne@gmail.com\u003e\u003e\n\nHuge thanks to the original author and main inspiration, Jean Michel Gigault [@jgigault](https://github.com/jgigault) and his incredible [42FileChecker](https://github.com/jgigault/42FileChecker)\n\n## contribute\n\nIf you want to be part of the project, to fix and to improve 42PyChecker, please follow the guide lines [**Contributing to 42PyChecker**](https://github.com/seluj78/42PyChecker/wiki/Contributing-to-42PyChecker), or if you want your own unit testing framework to be integrated in the 42PyChecker, just let me know at **jlasne@student.42.fr**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseluj78%2F42pychecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseluj78%2F42pychecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseluj78%2F42pychecker/lists"}