{"id":19390851,"url":"https://github.com/tecnickcom/pygen","last_synced_at":"2025-04-24T00:31:39.642Z","repository":{"id":66250120,"uuid":"124050634","full_name":"tecnickcom/pygen","owner":"tecnickcom","description":"Command-line tool to generate Python applications and libraries","archived":false,"fork":false,"pushed_at":"2020-02-01T10:30:29.000Z","size":86,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T22:51:16.615Z","etag":null,"topics":["application","biolerplate","code","example","generator","library","python","service","template"],"latest_commit_sha":null,"homepage":null,"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/tecnickcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"publiccode":null,"codemeta":null},"funding":{"custom":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20pygen%20project"]}},"created_at":"2018-03-06T09:03:08.000Z","updated_at":"2025-03-06T03:32:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"52a6ad17-9d23-47bc-b445-643fd4cc7e10","html_url":"https://github.com/tecnickcom/pygen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fpygen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fpygen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fpygen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tecnickcom%2Fpygen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tecnickcom","download_url":"https://codeload.github.com/tecnickcom/pygen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250539445,"owners_count":21447310,"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":["application","biolerplate","code","example","generator","library","python","service","template"],"created_at":"2024-11-10T10:23:35.711Z","updated_at":"2025-04-24T00:31:39.635Z","avatar_url":"https://github.com/tecnickcom.png","language":"Python","readme":"# pygen\n\n*Command-line tool to generate Python services, applications and libraries with reusable logic.*\n\n[![Master Build Status](https://secure.travis-ci.org/tecnickcom/pygen.png?branch=master)](https://travis-ci.org/tecnickcom/pygen?branch=master)\n[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20pygen%20project)\n*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20pygen%20project)*\n\n* **category**    Tool\n* **author**      Nicola Asuni \u003cinfo@tecnick.com\u003e\n* **copyright**   2014-2019 Nicola Asuni - Tecnick.com LTD\n* **license**     MIT (see [LICENSE](LICENSE))\n* **link**        https://github.com/tecnickcom/pygen\n\n\n## Description\n\nThis is a command-line tool to quickly generate Python services, applications and libraries with a common set of features and reusable logic.\n\nFor an equivalent project in Go (golang) please check [GoGen](https://github.com/tecnickcom/gogen).\n\nEach Python project built with this tool adheres to the set of conventions detailed in the following articles:\n\n* [Software Naming](https://technick.net/guides/software/software_naming)\n* [Software Structure](https://technick.net/guides/software/software_structure)\n* [Software Versioning](https://technick.net/guides/software/software_versioning)\n* [Software Configuration](https://technick.net/guides/software/software_configuration)\n* [Software Logging Format](https://technick.net/guides/software/software_logging_format)\n* [Software Metrics](https://technick.net/guides/software/software_metrics)\n* [Simple API JSON Response Format](https://technick.net/guides/software/software_json_api_format)\n* [Software Automation](https://technick.net/guides/software/software_automation)\n* [Build Software with Docker](https://technick.net/guides/software/software_docker_build)\n\nEach generated project is immediately functional and can be fully tested using the ```make build``` command.\n\n\n## Quick Start\n\nThis project includes a Makefile that allows you to test and build the project in a Linux-compatible system with simple commands.  \nAll the artifacts and reports produced using this Makefile are stored in the *target* folder.  \n\nTo see all available options:\n```\nmake help\n```\n\n\n## Usage\n\n```\nmake new TYPE=app CONFIG=myproject.cfg\n```\n\n* **TYPE** is the project type:\n    * **lib**     :  library\n    * **app**     :  command-line application\n    * **srv**     :  HTTP API service\n    * **libapp**  :  library + command-line application\n    * **libsrv**  :  library + HTTP API service\n\n* **CONFIG** is the configuration file containing the project settings.\n\nTo create a new configuration please clone the *default.cfg* file and change the values.\n\nAll projects are creted inside the *target* directory.\n\n\n## Features\n\n### Services (srv)\n\n* Web HTTP RESTful JSON API;\n* Standard command line options;\n* Multiple configuration options, including remote configuration via URL;\n* Logging;\n* StatsD client to collect usage metrics;\n* Unit tests;\n* Makefile;\n* Docker build;\n* Conda packaging.\n* Wheel packaging.\n\n### Applications (app)\n\n* Standard command line options;\n* Multiple configuration options, including remote configuration via URL;\n* Logging;\n* StatsD client to collect usage metrics;\n* Unit tests;\n* Makefile;\n* Docker build;\n* Conda packaging.\n* Wheel packaging.\n\n### Libraries (lib)\n\n* Unit tests;\n* Makefile;\n* Docker build;\n* Conda packaging.\n* Wheel packaging.\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026currency_code=GBP\u0026business=paypal@tecnick.com\u0026item_name=donation%20for%20pygen%20project"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Fpygen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftecnickcom%2Fpygen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftecnickcom%2Fpygen/lists"}