Skip to content

Commit 28f20d9

Browse files
authored
Merge pull request #1 from brazill7/feature/publish-to-pypi
Added --quick flag, parallel agents, tests and PyPI package publishing
2 parents 0720e69 + ecf65d3 commit 28f20d9

8 files changed

Lines changed: 578 additions & 89 deletions

File tree

.github/workflows/publish.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Publish to PyPI
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- name: Set up Python
14+
uses: actions/setup-python@v5
15+
with:
16+
python-version: "3.12"
17+
18+
- name: Install dependencies
19+
run: |
20+
python -m pip install --upgrade pip
21+
pip install build
22+
23+
- name: Build package
24+
run: python -m build
25+
26+
- name: Publish to PyPI
27+
uses: pypa/gh-action-pypi-publish@release/v1
28+
with:
29+
password: ${{ secrets.PYPI_API_TOKEN }}

.gitignore

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,50 @@
1+
# Python
12
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
27
build/
8+
develop-eggs/
39
dist/
4-
*.spec
5-
.idea/
10+
downloads/
11+
eggs/
12+
.eggs/
13+
lib/
14+
lib64/
15+
parts/
16+
sdist/
17+
var/
18+
wheels/
19+
*.egg-info/
20+
*.egg
21+
22+
# Virtual environments
23+
.venv/
24+
venv/
25+
ENV/
26+
env/
27+
28+
# Testing
29+
.pytest_cache/
30+
.coverage
31+
htmlcov/
32+
.tox/
33+
34+
# IDE
35+
.idea/
36+
.vscode/
37+
*.swp
38+
*.swo
39+
*~
40+
41+
# OS
42+
.DS_Store
43+
Thumbs.db
44+
45+
# Environment variables
46+
.env
47+
.env.local
48+
49+
# MyPy
50+
.mypy_cache/

pyproject.toml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "smartcommit"
7+
version = "1.1.0"
8+
description = "AI-powered Git commit message generator using Apple Intelligence"
9+
readme = "README.md"
10+
requires-python = ">=3.10"
11+
authors = [
12+
{name = "Maverick Brazill", email = "brazillmav@gmail.com"}
13+
]
14+
classifiers = [
15+
"Development Status :: 3 - Alpha",
16+
"Environment :: Console",
17+
"Intended Audience :: Developers",
18+
"Programming Language :: Python :: 3",
19+
"Programming Language :: Python :: 3.10",
20+
"Programming Language :: Python :: 3.11",
21+
"Programming Language :: Python :: 3.12",
22+
"Programming Language :: Python :: 3.13",
23+
"Programming Language :: Python :: 3.14",
24+
]
25+
dependencies = [
26+
"apple_fm_sdk",
27+
]
28+
29+
[project.scripts]
30+
smartcommit = "smartcommit:main"
31+
32+
[project.optional-dependencies]
33+
dev = [
34+
"pytest",
35+
"pytest-asyncio",
36+
]
37+
38+
[tool.setuptools.packages.find]
39+
where = ["src"]
40+
include = ["smartcommit*"]
41+
42+
[tool.pypi]
43+
twine = "dist"
44+
45+
[tool.uv]
46+
dev-dependencies = [
47+
"pytest",
48+
"pytest-asyncio",
49+
]

pytest.ini

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[pytest]
2+
testpaths = tests
3+
python_files = test_*.py
4+
python_classes = Test*
5+
python_functions = test_*
6+
asyncio_mode = auto

requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
apple-fm-sdk
2+
pytest
3+
pytest-asyncio

smartcommit.py

Lines changed: 0 additions & 87 deletions
This file was deleted.

0 commit comments

Comments
 (0)