Skip to content

Commit

Permalink
Merge pull request #177 from datopian/tickets/DM-42598
Browse files Browse the repository at this point in the history
tickets/DM-42598: get PyPi releases going, and replace pip with UV
  • Loading branch information
athornton authored Dec 16, 2024
2 parents a87ea84 + 59484db commit b54be21
Show file tree
Hide file tree
Showing 9 changed files with 80 additions and 45 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"

- name: Run pre-commit
uses: pre-commit/[email protected]
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

<a id='changelog-v0.6.0'></a>
## v0.6.0 (2024-12-16)

### New features

- Support Python 3.13

- Work through PyPi publication
11 changes: 9 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ TESTS_DIR := tests

SHELL := bash
PYTHON := python
PIP := pip
PIP_COMPILE := pip-compile
PIP := uv pip
PIP_COMPILE := uv pip compile
PYTEST := pytest
DOCKER := docker
GIT := git
Expand All @@ -28,6 +28,9 @@ VERSION := $(shell $(PYTHON) -c "from importlib.metadata import version;print(ve

default: help

## Install uv (fast pip replacement)
init: $(SENTINELS)/uv

## Regenerate requirements files
requirements: requirements/dev.txt requirements/dev.in requirements/main.txt requirements/main.in

Expand Down Expand Up @@ -90,6 +93,10 @@ $(SENTINELS)/dev-setup: init requirements/main.txt requirements/dev.txt | $(SENT
$(PIP) install -r requirements/dev.txt
@touch $@

$(SENTINELS)/uv: $(SENTINELS)
pip install uv
@touch $@

# Help related variables and targets

GREEN := $(shell tput -Txterm setaf 2)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Giftless - a Pluggable Git LFS Server
[![Maintainability](https://api.codeclimate.com/v1/badges/58f05c5b5842c8bbbdbb/maintainability)](https://codeclimate.com/github/datopian/giftless/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/58f05c5b5842c8bbbdbb/test_coverage)](https://codeclimate.com/github/datopian/giftless/test_coverage)

Giftless a Python implementation of a [Git LFS][1] Server. It is designed
Giftless is a Python implementation of a [Git LFS][1] Server. It is designed
with flexibility in mind, to allow pluggable storage backends, transfer
methods and authentication methods.

Expand Down Expand Up @@ -40,7 +40,7 @@ Documentation

License
-------
Copyright (C) 2020, Datopian / Viderum, Inc.
Copyright (C) 2020-2024, Datopian / Viderum, Inc.

Giftless is free / open source software and is distributed under the terms of
the MIT license. See [LICENSE](LICENSE) for details.
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ email="[email protected]"
name="Adam Thornton"
email="[email protected]"

[[project.authors]]
name="Vit Zikmund"

[project.urls]
Homepage = "https://giftless.datopian.com"
Source = "https://github.com/datopian/giftless"
Expand Down
4 changes: 4 additions & 0 deletions requirements/dev.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
-c main.txt

uv

pip-tools
tox
flake8
Expand Down Expand Up @@ -28,4 +30,6 @@ furo
sphinx
sphinx-autodoc-typehints

# Internal tooling
scriv

43 changes: 27 additions & 16 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --no-emit-index-url --output-file=requirements/dev.txt requirements/dev.in
#
# This file was autogenerated by uv via the following command:
# uv pip compile --no-emit-index-url -o requirements/dev.txt requirements/dev.in
alabaster==0.7.16
# via sphinx
attrs==23.2.0
# via pytest-mypy
# via
# pytest-mypy
# scriv
babel==2.14.0
# via sphinx
beautifulsoup4==4.12.3
Expand Down Expand Up @@ -38,15 +36,17 @@ charset-normalizer==3.3.2
click==8.1.7
# via
# -c requirements/main.txt
# click-log
# pip-tools
# scriv
click-log==0.4.0
# via scriv
colorama==0.4.6
# via tox
commonmark==0.9.1
# via recommonmark
coverage[toml]==7.4.3
# via
# coverage
# pytest-cov
coverage==7.4.3
# via pytest-cov
distlib==0.3.8
# via virtualenv
docutils==0.20.1
Expand Down Expand Up @@ -86,13 +86,18 @@ isort==5.13.2
jinja2==3.1.3
# via
# -c requirements/main.txt
# scriv
# sphinx
markdown-it-py==3.0.0
# via scriv
markupsafe==2.1.5
# via
# -c requirements/main.txt
# jinja2
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
multidict==6.0.5
# via yarl
mypy==1.9.0
Expand All @@ -107,6 +112,8 @@ packaging==24.0
# pytest
# sphinx
# tox
pip==24.3.1
# via pip-tools
pip-tools==7.4.1
# via -r requirements/dev.in
platformdirs==4.2.0
Expand Down Expand Up @@ -171,13 +178,18 @@ requests==2.31.0
# via
# -c requirements/main.txt
# responses
# scriv
# sphinx
responses==0.25.0
# via -r requirements/dev.in
rsa==4.9
# via
# -c requirements/main.txt
# google-auth
scriv==1.5.1
# via -r requirements/dev.in
setuptools==75.6.0
# via pip-tools
snowballstemmer==2.2.0
# via sphinx
soupsieve==2.5
Expand Down Expand Up @@ -228,14 +240,17 @@ types-s3transfer==0.10.0
typing-extensions==4.10.0
# via
# -c requirements/main.txt
# boto3-stubs
# mypy
urllib3==2.0.7
# via
# -c requirements/main.txt
# requests
# responses
# types-requests
uv==0.5.8
# via
# -c requirements/main.txt
# -r requirements/dev.in
vcrpy==6.0.1
# via pytest-vcr
virtualenv==20.25.1
Expand All @@ -246,7 +261,3 @@ wrapt==1.16.0
# via vcrpy
yarl==1.9.4
# via vcrpy

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
3 changes: 3 additions & 0 deletions requirements/main.in
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,7 @@ boto3~=1.34
# GitHub AA Provider
cachetools~=5.3

# uv: fast pip replacement
uv

importlib-metadata; python_version < '3.13'
46 changes: 22 additions & 24 deletions requirements/main.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --no-emit-index-url --output-file=requirements/main.txt requirements/main.in
#
# This file was autogenerated by uv via the following command:
# uv pip compile --no-emit-index-url -o requirements/main.txt requirements/main.in
azure-core==1.30.1
# via azure-storage-blob
azure-storage-blob==12.19.1
# via -r main.in
# via -r requirements/main.in
blinker==1.7.0
# via flask
boto3==1.34.59
# via -r main.in
# via -r requirements/main.in
botocore==1.34.59
# via
# boto3
# s3transfer
cachetools==5.3.3
# via
# -r main.in
# -r requirements/main.in
# google-auth
certifi==2024.2.2
# via requests
Expand All @@ -30,19 +26,19 @@ click==8.1.7
# via flask
cryptography==42.0.5
# via
# -r main.in
# -r requirements/main.in
# azure-storage-blob
figcan==0.0.4
# via -r main.in
# via -r requirements/main.in
flask==2.3.3
# via
# -r main.in
# -r requirements/main.in
# flask-classful
# flask-marshmallow
flask-classful==0.16.0
# via -r main.in
# via -r requirements/main.in
flask-marshmallow==0.15.0
# via -r main.in
# via -r requirements/main.in
google-api-core==2.17.1
# via
# google-cloud-core
Expand All @@ -55,7 +51,7 @@ google-auth==2.28.2
google-cloud-core==2.4.1
# via google-cloud-storage
google-cloud-storage==2.15.0
# via -r main.in
# via -r requirements/main.in
google-crc32c==1.5.0
# via
# google-cloud-storage
Expand All @@ -66,8 +62,8 @@ googleapis-common-protos==1.63.0
# via google-api-core
idna==3.6
# via requests
importlib-metadata==7.0.2 ; python_version < "3.13"
# via -r main.in
importlib-metadata==7.0.2
# via -r requirements/main.in
isodate==0.6.1
# via azure-storage-blob
itsdangerous==2.1.2
Expand Down Expand Up @@ -104,15 +100,15 @@ pyasn1-modules==0.3.0
pycparser==2.21
# via cffi
pyjwt==2.8.0
# via -r main.in
# via -r requirements/main.in
python-dateutil==2.9.0.post0
# via
# -r main.in
# -r requirements/main.in
# botocore
python-dotenv==1.0.1
# via -r main.in
# via -r requirements/main.in
pyyaml==6.0.1
# via -r main.in
# via -r requirements/main.in
requests==2.31.0
# via
# azure-core
Expand All @@ -129,18 +125,20 @@ six==1.16.0
# python-dateutil
typing-extensions==4.10.0
# via
# -r main.in
# -r requirements/main.in
# azure-core
# azure-storage-blob
urllib3==2.0.7
# via
# botocore
# requests
uv==0.5.8
# via -r requirements/main.in
webargs==8.4.0
# via -r main.in
# via -r requirements/main.in
werkzeug==3.0.3
# via
# -r main.in
# -r requirements/main.in
# flask
zipp==3.17.0
# via importlib-metadata

0 comments on commit b54be21

Please sign in to comment.