Skip to content

Commit 152808c

Browse files
committed
UPDATE
1 parent c5ccc4a commit 152808c

File tree

5 files changed

+92
-272
lines changed

5 files changed

+92
-272
lines changed

IMPROVEMENTS.md

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

Makefile

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ clean: ## Clean up build artifacts and cache
144144
find . -type d -name __pycache__ -exec rm -rf {} +
145145
find . -type f -name "*.pyc" -delete
146146

147+
clean-all: clean clean-dist ## Clean everything including distribution files
148+
@echo "🧹 Deep cleaning complete!"
149+
147150
clean-docker: ## Clean up Docker images and containers
148151
@echo "🐳 Cleaning up Docker..."
149152
docker system prune -f
@@ -173,7 +176,39 @@ check-env: ## Check if required environment variables are set
173176
echo "✅ OPENAI_API_KEY is set"; \
174177
fi
175178

176-
# Release
179+
# Release Management
180+
bump-version: ## Bump version and create release (usage: make bump-version VERSION=0.1.0)
181+
@if [ -z "$(VERSION)" ]; then \
182+
echo "❌ Please specify VERSION. Usage: make bump-version VERSION=0.1.0"; \
183+
exit 1; \
184+
fi
185+
./scripts/release.sh $(VERSION)
186+
187+
build-package: ## Build package for PyPI
188+
@echo "📦 Building package..."
189+
uv build
190+
uvx twine check dist/*
191+
192+
test-pypi: ## Upload to Test PyPI
193+
@echo "🧪 Uploading to Test PyPI..."
194+
uvx twine upload --repository testpypi dist/*
195+
196+
upload-pypi: ## Upload to PyPI (manual backup)
197+
@echo "📤 Uploading to PyPI..."
198+
uvx twine upload dist/*
199+
200+
check-release: ## Check if package is ready for release
201+
@echo "🔍 Checking release readiness..."
202+
uv build
203+
uvx twine check dist/*
204+
uv run pytest
205+
@echo "✅ Package ready for release!"
206+
207+
clean-dist: ## Clean distribution files
208+
@echo "🧹 Cleaning distribution files..."
209+
rm -rf dist/ build/ *.egg-info/
210+
211+
# Release (legacy)
177212
build: ## Build the package
178213
@echo "📦 Building package..."
179214
uv build

pyproject.toml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,37 @@
11
[project]
22
name = "structured-output-cookbook"
3-
version = "0.1.0"
4-
description = "LLM-powered structured output extraction with predefined and custom schemas"
3+
dynamic = ["version"]
4+
description = "Extract structured data from text using LLMs with ready-to-use templates"
55
readme = "README.md"
6-
requires-python = ">=3.13"
6+
requires-python = ">=3.10"
77
authors = [
88
{ name = "Saverio Mazza", email = "[email protected]" }
99
]
10+
maintainers = [
11+
{ name = "Saverio Mazza", email = "[email protected]" }
12+
]
1013
license = { text = "MIT" }
11-
keywords = ["llm", "structured-output", "extraction", "ai", "openai"]
14+
keywords = [
15+
"openai", "llm", "data-extraction", "text-processing",
16+
"structured-data", "templates", "pydantic", "json-extraction",
17+
"nlp", "automation", "api-wrapper"
18+
]
1219
classifiers = [
1320
"Development Status :: 4 - Beta",
1421
"Intended Audience :: Developers",
22+
"Intended Audience :: Data Scientists",
1523
"License :: OSI Approved :: MIT License",
24+
"Operating System :: OS Independent",
1625
"Programming Language :: Python :: 3",
26+
"Programming Language :: Python :: 3.10",
27+
"Programming Language :: Python :: 3.11",
28+
"Programming Language :: Python :: 3.12",
1729
"Programming Language :: Python :: 3.13",
1830
"Topic :: Software Development :: Libraries :: Python Modules",
31+
"Topic :: Text Processing :: Linguistic",
1932
"Topic :: Scientific/Engineering :: Artificial Intelligence",
33+
"Topic :: Office/Business",
34+
"Topic :: Utilities",
2035
]
2136

2237
dependencies = [
@@ -51,12 +66,21 @@ structured-output = "structured_output_cookbook.cli:main"
5166
[project.urls]
5267
Homepage = "https://github.com/mazzasaverio/structured-output-cookbook"
5368
Repository = "https://github.com/mazzasaverio/structured-output-cookbook"
54-
Issues = "https://github.com/mazzasaverio/structured-output-cookbook/issues"
69+
Documentation = "https://github.com/mazzasaverio/structured-output-cookbook#readme"
70+
"Bug Tracker" = "https://github.com/mazzasaverio/structured-output-cookbook/issues"
71+
Changelog = "https://github.com/mazzasaverio/structured-output-cookbook/blob/main/CHANGELOG.md"
72+
"Source Code" = "https://github.com/mazzasaverio/structured-output-cookbook"
5573

5674
[build-system]
5775
requires = ["hatchling"]
5876
build-backend = "hatchling.build"
5977

78+
[tool.hatch.version]
79+
path = "src/structured_output_cookbook/__init__.py"
80+
81+
[tool.hatch.build.targets.wheel]
82+
packages = ["src/structured_output_cookbook"]
83+
6084
[tool.uv]
6185
dev-dependencies = [
6286
"pytest>=8.0.0",

0 commit comments

Comments
 (0)