Skip to content

Commit

Permalink
Merge pull request #6 from johnnymillergh/develop
Browse files Browse the repository at this point in the history
perf($Python): upgrade to Python 3.12
  • Loading branch information
johnnymillergh authored Oct 28, 2023
2 parents 8403d1e + 9b4f1d8 commit 7cb53ea
Show file tree
Hide file tree
Showing 10 changed files with 1,216 additions and 946 deletions.
2 changes: 1 addition & 1 deletion .github/actions/project-environment-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ runs:
- id: setup-python
uses: actions/setup-python@v4
with:
python-version: "3.11.4"
python-version: "3.12"
architecture: x64
# https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#caching-packages
cache: "pipenv"
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# [7.0](https://github.com/johnnymillergh/python_boilerplate/compare/6.0.3...7.0) (2023-10-28)


### Performance Improvements

* **$Python:** upgrade to Python 3.12 ([4cb471f](https://github.com/johnnymillergh/python_boilerplate/commit/4cb471f5f58826116088f1ea9415196c8fa7f078))



# [6.0.3](https://github.com/johnnymillergh/python_boilerplate/compare/6.0.2...6.0.3) (2023-07-01)


Expand Down
6 changes: 4 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.11-slim AS base
FROM python:3.12-slim AS base

# Setup env
ENV LANG C.UTF-8
Expand All @@ -10,7 +10,9 @@ FROM base AS python-deps

# Install pipenv and compilation dependencies
RUN pip install pipenv
RUN apt-get update && apt-get install -y --no-install-recommends gcc
RUN apt-get update \
&& apt-get install -y --no-install-recommends gcc \
&& apt-get clean

# Install python dependencies in /.venv
COPY Pipfile .
Expand Down
50 changes: 25 additions & 25 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,91 +4,91 @@ url = "https://pypi.python.org/simple"
verify_ssl = true

[requires]
# https://docs.python.org/3/whatsnew/3.11.html
python_version = "3.11"
# https://docs.python.org/3/whatsnew/3.12.html
python_version = "3.12"

[packages]
# 🏗 Foundamental dependencies
# Data validation using Python type hints. https://github.com/pydantic/pydantic
pydantic = "==1.10.10"
pydantic = "==2.4.2"
# Loguru is a library which aims to bring enjoyable logging in Python. https://pypi.org/project/loguru/
loguru = "==0.7.0"
loguru = "==0.7.2"
# pyhocon is a HOCON parser for Python. Additionally we provide a tool (pyhocon) to convert any HOCON content into json,
# yaml and properties format. https://pypi.org/project/pyhocon/
pyhocon = "==0.3.60"
# Data manipulation dependencies
# NumPy is a Python library used for working with arrays. https://pypi.org/project/numpy/
numpy = "==1.25.0"
numpy = "==1.26.1"
# pandas is a Python package that provides fast, flexible, and expressive data structures designed to make working
# with "relational" or "labeled" data both easy and intuitive. https://pypi.org/project/pandas/
pandas = "==2.0.3"
pandas = "==2.1.2"
# Python enhancement dependencies
# Arrow is a Python library that offers a sensible and human-friendly approach to creating, manipulating,
# formatting and converting dates, times and timestamps. https://pypi.org/project/arrow/
arrow = "==1.2.3"
arrow = "==1.3.0"
# ORM dependencies
# Peewee is a simple and small ORM. https://pypi.org/project/peewee/
peewee = "==3.16.2"
peewee = "==3.17.0"
# Template engine dependencies
# Jinja is a fast, expressive, extensible templating engine. https://pypi.org/project/Jinja2/
jinja2 = "==3.1.2"
# Tool dependencies
# Faker is a Python package that generates fake data for you. https://pypi.org/project/Faker/
faker = "==18.11.2"
faker = "==19.12.0"
# A Python module to parse, validate and reformat standard numbers and codes in different formats.
# It contains a large collection of number formats. https://pypi.org/project/python-stdnum/
python-stdnum = "==1.18"
python-stdnum = "==1.19"
# Retrying library for Python. https://pypi.org/project/tenacity/
tenacity = "==8.2.2"
tenacity = "==8.2.3"
# Python plotting package. https://pypi.org/project/matplotlib/
matplotlib = "==3.7.1"
matplotlib = "==3.8.0"
# Pretty Good Privacy for Python. https://github.com/SecurityInnovation/PGPy
pgpy = "==0.6.0"
# Cross-platform lib for process and system monitoring in Python. https://github.com/giampaolo/psutil
psutil = "==5.9.5"
psutil = "==5.9.6"
# 🪜 Customization dependencies

[dev-packages]
# 🏗 Foundamental dependencies
# Black is the uncompromising Python code formatter. By using it, you agree to cede control over minutiae of
# hand-formatting. https://pypi.org/project/black/
black = "==23.3.0"
black = "==23.10.1"
# Naming Convention checker for Python. https://github.com/PyCQA/pep8-naming
pep8-naming = "==0.13.3"
# Removes unused imports and unused variables as reported by pyflakes. https://github.com/PyCQA/autoflake
autoflake = "==2.2.0"
autoflake = "==2.2.1"
# Linting & toolkit for checking your code base against coding style (PEP8). https://github.com/pycqa/flake8
flake8 = "==6.0.0"
flake8 = "==6.1.0"
# https://github.com/DmytroLitvinov/awesome-flake8-extensions
flake8-quotes = "==3.3.2"
flake8-print = "==5.0.0"
flake8-use-fstring = "==1.4"
flake8-comprehensions = "==3.13.0"
flake8-comprehensions = "==3.14.0"
# isort your imports, so you don't have to. https://pypi.org/project/isort/
isort = "==5.12.0"
# Add type annotations to your Python programs, and use mypy to type check them. https://pypi.org/project/mypy/
mypy = "==1.4.0"
mypy = "==1.6.1"
# A framework for managing and maintaining multi-language pre-commit hooks. https://pypi.org/project/pre-commit/
pre-commit = "==3.3.3"
pre-commit = "==3.5.0"
# The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
# for applications and libraries. https://pypi.org/project/pytest/
pytest = "==7.4.0"
pytest = "==7.4.3"
# Thin-wrapper around the mock package for easier use with pytest. https://pypi.org/project/pytest-mock/
pytest-mock = "==3.11.1"
pytest-mock = "==3.12.0"
# This plugin produces coverage reports. https://pypi.org/project/pytest-cov/
pytest-cov = "==4.1.0"
# Plugin for generating HTML reports for pytest results. https://github.com/pytest-dev/pytest-html/
pytest-html = "==3.2.0"
pytest-html = "==4.0.2"
# pytest xdist plugin for distributed testing and loop-on-failing modes. https://github.com/pytest-dev/pytest-xdist/
pytest-xdist = "==3.3.1"
# Pytest support for asyncio. https://github.com/pytest-dev/pytest-asyncio
pytest-asyncio = "==0.21.0"
pytest-asyncio = "==0.21.1"
# A `pytest` fixture for benchmarking code. https://github.com/ionelmc/pytest-benchmark
pytest-benchmark = "==4.0.0"
# Call stack profiler for Python. Shows you why your code is slow! https://github.com/joerick/pyinstrument
pyinstrument = "==4.5.0"
pyinstrument = "==4.6.0"
# Pytest plugin for analyzing resource usage during test sessions. https://github.com/CFMTech/pytest-monitor
pytest-monitor = "==1.6.6"
# PyInstaller bundles a Python application and all its dependencies into a single package. https://github.com/pyinstaller/pyinstaller
pyinstaller = "==5.13.0"
pyinstaller = "==6.1.0"
# 🪜 Customization dependencies
Loading

0 comments on commit 7cb53ea

Please sign in to comment.