# fastapi_factory_utilities
Project Empty for Python with Poetry
## Setup
### Dev Tools
#### Python
<https://www.python.org/downloads/>
```bash
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12 -y
```
#### Poetry
<https://python-poetry.org/>
```bash
curl -sSL https://install.python-poetry.org | python3.12 -
```
#### Pre-commit
Included in the project while in virtual environment
<https://pre-commit.com/>
#### Docker
<https://docs.docker.com/get-docker/>
#### Skaffold
<https://skaffold.dev>
```bash
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
chmod +x skaffold
sudo mv skaffold /usr/local/bin
```
#### Buildpacks
<https://buildpacks.io/>
```bash
sudo add-apt-repository ppa:cncf-buildpacks/pack-cli
sudo apt-get update
sudo apt-get install pack-cli
```
#### Paketo
Included with the usage of buildpacks
<https://paketo.io/>
#### Portman
```bash
npm install -g @apideck/portman
```
### MongoDB
<https://docs.mongodb.com/manual/installation/>
```bash
sudo apt install -y mongodb
```
### 1- Dev Environment
```bash
# Initialize python virtual environment and install dependencies
./scripts/setup_dev_env.sh
pre-commit run --all-files
```
### 2- Build and Run Application on Docker
```bash
./scripts/dev-in-container.sh
```
```bash
./scripts/test_portman.sh
```
Raw data
{
"_id": null,
"home_page": "https://github.com/miragecentury/fastapi_factory_utilities",
"name": "fastapi-factory-utilities",
"maintainer": "miragecentury",
"docs_url": null,
"requires_python": "<3.13,>=3.12",
"maintainer_email": "victorien.vanroye@gmail.com",
"keywords": "python, fastapi, beanie, httpx, opentelemetry, microservices",
"author": "miragecentury",
"author_email": "victorien.vanroye@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/24/a4/3acf04b676c90276113ac9efc2f15ba392a4fc65a21956b3d2fdce1ef969/fastapi_factory_utilities-0.1.0.tar.gz",
"platform": null,
"description": "# fastapi_factory_utilities\n\nProject Empty for Python with Poetry\n\n## Setup\n\n### Dev Tools\n\n#### Python\n\n<https://www.python.org/downloads/>\n\n```bash\nsudo apt install software-properties-common -y\nsudo add-apt-repository ppa:deadsnakes/ppa\nsudo apt update\nsudo apt install python3.12 -y\n```\n\n#### Poetry\n\n<https://python-poetry.org/>\n\n```bash\ncurl -sSL https://install.python-poetry.org | python3.12 -\n```\n\n#### Pre-commit\n\nIncluded in the project while in virtual environment\n<https://pre-commit.com/>\n\n#### Docker\n\n<https://docs.docker.com/get-docker/>\n\n#### Skaffold\n\n<https://skaffold.dev>\n\n```bash\ncurl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64\nchmod +x skaffold\nsudo mv skaffold /usr/local/bin\n```\n\n#### Buildpacks\n\n<https://buildpacks.io/>\n\n```bash\nsudo add-apt-repository ppa:cncf-buildpacks/pack-cli\nsudo apt-get update\nsudo apt-get install pack-cli\n```\n\n#### Paketo\n\nIncluded with the usage of buildpacks\n<https://paketo.io/>\n\n#### Portman\n\n```bash\nnpm install -g @apideck/portman\n```\n\n### MongoDB\n\n<https://docs.mongodb.com/manual/installation/>\n\n```bash\nsudo apt install -y mongodb\n```\n\n### 1- Dev Environment\n\n```bash\n# Initialize python virtual environment and install dependencies\n./scripts/setup_dev_env.sh\n\npre-commit run --all-files\n```\n\n### 2- Build and Run Application on Docker\n\n```bash\n./scripts/dev-in-container.sh\n```\n\n```bash\n./scripts/test_portman.sh\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Consolidate libraries and utilities to create microservices in Python with FastAPI, Beanie, Httpx, AioPika and OpenTelemetry.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/miragecentury/fastapi_factory_utilities",
"Repository": "https://github.com/miragecentury/fastapi_factory_utilities"
},
"split_keywords": [
"python",
" fastapi",
" beanie",
" httpx",
" opentelemetry",
" microservices"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a6c7823ed1510affa4c804dcf53d677534083ed3021dce3e610e650b5eb112d4",
"md5": "cc7b500d69e7ce48f00e97efc2d8510b",
"sha256": "8e3895b007e4840317eb4ca84b74785436f1c43f0e037227bb6294c5bf4b664d"
},
"downloads": -1,
"filename": "fastapi_factory_utilities-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cc7b500d69e7ce48f00e97efc2d8510b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.12",
"size": 43808,
"upload_time": "2025-01-03T00:07:48",
"upload_time_iso_8601": "2025-01-03T00:07:48.535241Z",
"url": "https://files.pythonhosted.org/packages/a6/c7/823ed1510affa4c804dcf53d677534083ed3021dce3e610e650b5eb112d4/fastapi_factory_utilities-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "24a43acf04b676c90276113ac9efc2f15ba392a4fc65a21956b3d2fdce1ef969",
"md5": "e81ae0d8cf5db8167c1843cf2abdb134",
"sha256": "40b9ec5f177a50ec03a339d89cd6dc3afd6de1b622c02f735f06cce6d3be52f8"
},
"downloads": -1,
"filename": "fastapi_factory_utilities-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e81ae0d8cf5db8167c1843cf2abdb134",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.12",
"size": 26339,
"upload_time": "2025-01-03T00:07:50",
"upload_time_iso_8601": "2025-01-03T00:07:50.932226Z",
"url": "https://files.pythonhosted.org/packages/24/a4/3acf04b676c90276113ac9efc2f15ba392a4fc65a21956b3d2fdce1ef969/fastapi_factory_utilities-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-03 00:07:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "miragecentury",
"github_project": "fastapi_factory_utilities",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "fastapi-factory-utilities"
}