Skip to content

Commit 3fee35b

Browse files
committed
Release v0.2.0
1 parent 9ca1f4c commit 3fee35b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+10164
-377
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12"]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Install uv
20+
uses: astral-sh/setup-uv@v5
21+
with:
22+
version: "latest"
23+
24+
- name: Set up Python ${{ matrix.python-version }}
25+
run: uv python install ${{ matrix.python-version }}
26+
27+
- name: Install dependencies
28+
run: uv sync --extra dev
29+
30+
- name: Run linting
31+
run: |
32+
uv run black --check hyperdb/ tests/
33+
uv run isort --check-only hyperdb/ tests/
34+
35+
- name: Run tests
36+
run: uv run pytest tests/ -v
37+
38+
- name: Build package
39+
run: uv build
40+
41+
test-windows:
42+
runs-on: windows-latest
43+
steps:
44+
- uses: actions/checkout@v4
45+
46+
- name: Install uv
47+
uses: astral-sh/setup-uv@v5
48+
with:
49+
version: "latest"
50+
51+
- name: Set up Python
52+
run: uv python install 3.11
53+
54+
- name: Install dependencies
55+
run: uv sync --extra dev
56+
57+
- name: Run tests
58+
run: uv run pytest tests/ -v
59+
60+
- name: Build package
61+
run: uv build

.github/workflows/release.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
build-and-publish:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- name: Install uv
15+
uses: astral-sh/setup-uv@v5
16+
with:
17+
version: "latest"
18+
19+
- name: Set up Python
20+
run: uv python install 3.11
21+
22+
- name: Install dependencies
23+
run: uv sync --extra dev
24+
25+
- name: Run tests
26+
run: uv run pytest tests/
27+
28+
- name: Build package
29+
run: uv build
30+
31+
- name: Publish to PyPI
32+
env:
33+
TWINE_USERNAME: __token__
34+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
35+
run: |
36+
uv run pip install twine
37+
uv run twine upload dist/*

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,7 @@ cython_debug/
171171
#.idea/
172172

173173
hyperdb/templates/data.js
174+
175+
# UV package manager
176+
.venv/
177+
uv.lock

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.11

Makefile

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
.PHONY: help install install-dev test lint format docs docs-serve docs-deploy clean build
2+
3+
# Default target
4+
help:
5+
@echo "Available commands:"
6+
@echo " install - Install package dependencies"
7+
@echo " install-dev - Install package with development dependencies"
8+
@echo " test - Run tests"
9+
@echo " lint - Run linting checks"
10+
@echo " format - Format code with black and isort"
11+
@echo " docs - Build documentation"
12+
@echo " docs-serve - Serve documentation locally"
13+
@echo " docs-deploy - Deploy documentation to GitHub Pages"
14+
@echo " clean - Clean build artifacts"
15+
@echo " build - Build package"
16+
17+
# Install package
18+
install:
19+
uv sync
20+
21+
# Install with development dependencies
22+
install-dev:
23+
uv sync --extra dev
24+
25+
# Run tests
26+
test:
27+
uv run pytest tests/
28+
29+
# Run linting
30+
lint:
31+
uv run black --check hyperdb/ tests/
32+
uv run isort --check-only hyperdb/ tests/
33+
34+
# Format code
35+
format:
36+
uv run black hyperdb/ tests/
37+
uv run isort hyperdb/ tests/
38+
39+
# Build documentation
40+
docs:
41+
uv run --extra docs mkdocs build
42+
43+
# Serve documentation locally
44+
docs-serve:
45+
uv run --extra docs mkdocs serve
46+
47+
# Deploy documentation to GitHub Pages
48+
docs-deploy:
49+
uv run --extra docs mkdocs gh-deploy
50+
51+
# Clean build artifacts
52+
clean:
53+
rm -rf dist/
54+
rm -rf build/
55+
rm -rf *.egg-info/
56+
find . -type d -name __pycache__ -exec rm -rf {} +
57+
find . -type f -name "*.pyc" -delete
58+
59+
# Build package
60+
build: clean
61+
uv build

0 commit comments

Comments
 (0)