{"id":15911206,"url":"https://github.com/robinthibaut/project_template","last_synced_at":"2025-08-14T23:32:01.022Z","repository":{"id":41180904,"uuid":"508634325","full_name":"robinthibaut/project_template","owner":"robinthibaut","description":"Template for Python scientific projects","archived":false,"fork":false,"pushed_at":"2023-08-10T20:58:01.000Z","size":70,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-10T07:57:38.232Z","etag":null,"topics":["data-science","python","science-research","template","template-project","vcs"],"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/robinthibaut.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-06-29T09:52:41.000Z","updated_at":"2025-02-24T22:56:30.000Z","dependencies_parsed_at":"2022-08-19T02:40:25.315Z","dependency_job_id":null,"html_url":"https://github.com/robinthibaut/project_template","commit_stats":{"total_commits":14,"total_committers":2,"mean_commits":7.0,"dds":0.0714285714285714,"last_synced_commit":"564f10d018beb494d187c612b6187644bc8e66b5"},"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/robinthibaut/project_template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinthibaut%2Fproject_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinthibaut%2Fproject_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinthibaut%2Fproject_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinthibaut%2Fproject_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robinthibaut","download_url":"https://codeload.github.com/robinthibaut/project_template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robinthibaut%2Fproject_template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270500002,"owners_count":24595150,"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-08-14T02:00:10.309Z","response_time":75,"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":["data-science","python","science-research","template","template-project","vcs"],"created_at":"2024-10-06T15:40:38.028Z","updated_at":"2025-08-14T23:32:00.734Z","avatar_url":"https://github.com/robinthibaut.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](report/img/repository-template.png)\n\n[//]: # (## Python Scientific Project Template)\n\nWelcome to this Python project template!\n\nThis template is designed to help you get started with your Python scientific project. It includes a directory structure, files, and configurations that will help you get up and running quickly.\n\n### How to use?\n\nSimply click on the [\"Use this template\"](https://github.com/robinthibaut/project_template/generate) button above to start using this template. You can then rename the project directory and start working on your project by cloning it to your system.\n\n### Directories\nThe `project_name` directory is where your project's code will live. The `scripts`, `notebooks`, and `data` directories are where you'll store your project's Python scripts, Jupyter notebooks, and data files, respectively. The `outputs` directory is where your project's output files will be stored (e.g., results, figures...). Finally, the `report` directory contains a LaTeX template for your project's report.\n\n### Files\nThe `README.md` file contains this information and is intended to help you understand and use the template.\n\nThe `LICENSE` file contains the license for this template.\n\nThe `.gitignore` file tells git which files to ignore when you're using version control.\n\nThe `requirements.txt` file contains a list of Python libraries that your project depends on.\n\nThe `config.py` file defines some basic information about the directories used by the project and the hyperparameters used by the project. This is helpful for keeping track of where things are located and what settings are being used.\n\n```python\n# config.py\n\nimport os\nimport platform\nfrom dataclasses import dataclass\nfrom os.path import dirname, join\n\n\nclass Machine(object):\n    computer: str = platform.node()\n\n\n@dataclass\nclass Directories:\n    \"\"\"Define main directories and file names\"\"\"\n\n    # Content directory\n    main_dir: str = dirname(os.path.abspath(__file__))\n    data_dir: str = join(main_dir, \"data\")\n    results_dir: str = join(main_dir, \"outputs\")\n\n    package_dir: str = dirname(main_dir)\n    latex_dir: str = join(package_dir, \"report\")\n\n\n@dataclass\nclass HyperParameters:\n    \"\"\"Define hyperparameters\"\"\"\n\n    ...\n\n```\n\nYou can then access the information in this file using the `config` object in your scripts:\n\n```python\n# example_script.py\n\nfrom project_name.config import Directories, HyperParameters\n\nmain_dir = Directories.main_dir\n```\n\n### More Information\nCheck this [tutorial](https://medium.com/python-in-plain-english/a-gentle-introduction-to-python-with-pycharm-367f6b73364a) for a gentle introduction to Python, Pycharm, and VCS.\n\nI hope you find this template helpful!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinthibaut%2Fproject_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobinthibaut%2Fproject_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobinthibaut%2Fproject_template/lists"}