{"id":21559660,"url":"https://github.com/axioma-ai-labs/python-template","last_synced_at":"2025-10-04T04:14:53.539Z","repository":{"id":263539395,"uuid":"861003448","full_name":"axioma-ai-labs/python-template","owner":"axioma-ai-labs","description":"Template for python repositories.","archived":false,"fork":false,"pushed_at":"2025-04-07T22:29:22.000Z","size":47,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-07T23:28:07.193Z","etag":null,"topics":["fastapi","python","python-3","python-app","python-development","python-template"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/axioma-ai-labs.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,"publiccode":null,"codemeta":null}},"created_at":"2024-09-21T18:30:39.000Z","updated_at":"2025-04-07T22:29:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"e22dc3e4-cabf-4a15-b896-1dd37680ccb6","html_url":"https://github.com/axioma-ai-labs/python-template","commit_stats":null,"previous_names":["axioma-ai-labs/python-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axioma-ai-labs%2Fpython-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axioma-ai-labs%2Fpython-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axioma-ai-labs%2Fpython-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axioma-ai-labs%2Fpython-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axioma-ai-labs","download_url":"https://codeload.github.com/axioma-ai-labs/python-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248210671,"owners_count":21065588,"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":["fastapi","python","python-3","python-app","python-development","python-template"],"created_at":"2024-11-24T09:08:13.149Z","updated_at":"2025-10-04T04:14:48.501Z","avatar_url":"https://github.com/axioma-ai-labs.png","language":"Makefile","readme":"# Template for python repositories.\n[![Lint](https://github.com/axioma-ai-labs/python-template/actions/workflows/ci-lint.yml/badge.svg)](https://github.com/axioma-ai-labs/python-template/actions/workflows/ci-lint.yml)\n[![Docker](https://github.com/axioma-ai-labs/python-template/actions/workflows/docker.yml/badge.svg)](https://github.com/axioma-ai-labs/python-template/actions/workflows/docker.yml)\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Development](#development)\n\n## Overview\n\nThis project is a template for Python repositories. It includes a Makefile with commands for \nformatting, linting, and installing dependencies. It also includes a pre-configured Github Actions \nworkflow for CI/CD.\n\nLet the following note be in your project-specific Readme file:\n\n\u003e [!NOTE]\n\u003e This project uses the [python-template](https://github.com/axioma-ai-labs/python-template)\n\n## Features\n\n### 1. Pyenv and Poetry\n\nThe project uses Pyenv for managing Python versions and Poetry for managing dependencies. Find more\ndetails in the [Development](#development) section.\n\n### 2. Pydantic\n\nThe project uses `Pydantic` for data validation and settings management.\n\n### 3. Ruff, Isort, Mypy\n\nThe project uses `Ruff` for formatting, `Isort` for sorting imports, and `Mypy` for static typing. \nRecommended to use with `Makefile` commands. For more information look at the \n[Makefile](./Makefile).\n\n### 4. Github Actions\n\nThe project uses Github Actions for CI/CD. Look at the [.github/workflows](.github/workflows) for \nmore information. The package includes the linting workflow per default.\n\n### 5. Makefile\n\nThe project uses Makefile for automating tasks. Look at the [Makefile](./Makefile) for more \ninformation.\n\nThe provided Makefile includes the following commands:\n\n```\nmake deps    # Install dependencies\nmake format  # Format code\nmake lint    # Lint code\n```\n\n## Development\n\n### Pyenv and Poetry\n\n#### Overview\n\nYou will need to have Python 3.13 and Poetry installed. The next step is to checkout the repository \nand install the Python dependencies. Then, you will be able to utilize the CLI and run the tests. \nThe following assumes a Debian/Ubuntu machine; your mileage may vary.\n\n#### Prerequisites\n\nYou can use pyenv for getting a specific python version. Once you have pyenv installed, you can \ninstall a specific python version:\n\n```\npyenv install 3.13\n```\n\nInstall Poetry (for Linux and MacOS):\n\n```\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n\n#### Install Dependencies\n\nYou can use the provided Makefile files to install the dependencies.\n\n```\nmake deps\n```\n\n#### Add new dependencies\n\n```\npoetry add \u003cpackage\u003e\n```\n\nor if you want to add a dependency to the development group:\n\n```\npoetry add --group dev \u003cpackage\u003e\n```\n\n#### Setup Environment Variables\n\nYou can use the provided `.env.example` file to setup the environment variables. \n\n```\ncp .env.example .env\n```\n\n### 6. Docker\n\nThe project uses Docker for building the image. Look at the [Dockerfile](./Dockerfile) for more \ninformation.\n\n```\ndocker build -t python-template .\n```\n\n### 7. Testing\n\nThe project uses pytest for testing. Look at the [Makefile](./Makefile) for more information.\n\n```\nmake test\n```\n\n### 8. CI/CD\n\nThe project uses Github Actions for CI/CD. Look at the [.github/workflows](.github/workflows) for \nmore information. The package includes the linting and docker build workflows per default.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxioma-ai-labs%2Fpython-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxioma-ai-labs%2Fpython-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxioma-ai-labs%2Fpython-template/lists"}