{"id":29020443,"url":"https://github.com/mayasmess/structor","last_synced_at":"2025-06-26T01:05:40.818Z","repository":{"id":66320885,"uuid":"524649217","full_name":"MayasMess/structor","owner":"MayasMess","description":"⚡️ Simple package that allow you to create templates of folders/files structure and generate them from a cli (like done in angular, django, react...)","archived":false,"fork":false,"pushed_at":"2024-03-17T14:11:45.000Z","size":115,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-19T19:55:23.863Z","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/MayasMess.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,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-08-14T11:18:11.000Z","updated_at":"2023-02-20T23:42:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"0490b084-e5ee-45d5-a4f4-c30c26e2d849","html_url":"https://github.com/MayasMess/structor","commit_stats":{"total_commits":15,"total_committers":3,"mean_commits":5.0,"dds":0.4,"last_synced_commit":"524dd19ac73db26a94d9bd808ad68366b1ee160a"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MayasMess/structor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayasMess%2Fstructor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayasMess%2Fstructor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayasMess%2Fstructor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayasMess%2Fstructor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MayasMess","download_url":"https://codeload.github.com/MayasMess/structor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayasMess%2Fstructor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261978906,"owners_count":23239417,"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":"2025-06-26T01:05:39.276Z","updated_at":"2025-06-26T01:05:40.790Z","avatar_url":"https://github.com/MayasMess.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca\u003e\u003cimg src=\"static/structor.png\" alt=\"Structor\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cem\u003eSimple library that allow you to create templates of folders/files structure and generate them from a cli (like done in angular, django, react...)\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\nInstallation:\n-\n### On macOS\n\n```shell script\nbrew install pipx\npipx ensurepath\npipx install structor\n```\n\n### On Linux, install via pip (requires pip 19.0 or later)\n\n```shell script\npython3 -m pip install --user pipx\npython3 -m pipx ensurepath\npipx install structor\n```\n\n### On Windows, install via pip (requires pip 19.0 or later)\n\n```shell script\n# If you installed python using the app-store, replace `python` with `python3` in the next line.\n# If you have a pre-installed version on windows replace `python` with `py`\npython -m pip install --user pipx\npython -m pipx ensurepath\npipx install structor\n```\n\nInitialization\n-\nRun the command \"structor init\" to initialize a sample template. this will generate the folder and the yaml file.\n![](static/init.gif)\n\n- In this example, the command \"structor run startproject\" will create all the folders and the files in the startproject section and the command \"structor run addmodule my_new_module\" will create new modules/components\n```yaml\n---\ncommands:\n  startproject:\n    src:\n    - __init__.py\n    src \u003e config:\n    - __init__.py\n    - config.py\n    - local_config.py.dist\n    src \u003e modules:\n    - __init__.py\n    src \u003e static: []\n  addmodule:\n    src \u003e modules \u003e {{APP-NAME}}:\n    - __init__.py\n    - \"{{APP-NAME}}.py\"\n    - \"models.py\"\n    - \"views.py\"\n    - \"controllers.py\"\nreplacement:\n  \"{{APP-NAME}}\": \"**1\"\nfile-template:\n  src \u003e modules \u003e {{APP-NAME}} \u003e {{APP-NAME}}.py: \"my_template_file.py.struct\"\n```\n\n- The values \"**1\", \"**2\"... will be replaced by the arguments passed in the cli.\n- All values put in the \"replacement\" section will be replaced in the folders/files and files content.\n- The \"file-template\" section allow you to init the created files from a file template\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayasmess%2Fstructor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmayasmess%2Fstructor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayasmess%2Fstructor/lists"}