pactown 0.1.47__tar.gz → 0.1.57__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pactown-0.1.47 → pactown-0.1.57}/.bumpversion.cfg +1 -1
- {pactown-0.1.47 → pactown-0.1.57}/Makefile +42 -2
- {pactown-0.1.47 → pactown-0.1.57}/PKG-INFO +6 -1
- {pactown-0.1.47 → pactown-0.1.57}/project.functions.toon +197 -168
- {pactown-0.1.47 → pactown-0.1.57}/project.toon +36 -24
- {pactown-0.1.47 → pactown-0.1.57}/pyproject.toml +7 -1
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/__init__.py +1 -1
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/cli.py +2 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/config.py +52 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/fast_start.py +136 -15
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/registry/server.py +4 -1
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/runner_api.py +3 -1
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/sandbox_manager.py +138 -4
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/security.py +3 -1
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/service_runner.py +29 -4
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/user_isolation.py +6 -3
- pactown-0.1.57/tests/test_security.py +292 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_service_runner_fast_run_fallback.py +4 -1
- {pactown-0.1.47 → pactown-0.1.57}/.gitignore +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/CHANGELOG.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/LICENSE +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/TODO.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/CLOUDFLARE_WORKERS_COMPARISON.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/CONFIGURATION.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/DEPLOYMENT.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/FAST_START.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/GENERATOR.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/LOGGING.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/NETWORK.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/QUADLET.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/SECURITY.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/SECURITY_POLICY.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/SPECIFICATION.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/docs/USER_ISOLATION.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/api-gateway-webhooks/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/email-llm-responder/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/fast-start-demo/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/fast-start-demo/demo.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/microservices/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/microservices/saas.pactown.yaml +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/microservices/services/go-gateway/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/microservices/services/node-api/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/microservices/services/python-ml/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/quadlet-vps/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/realtime-notifications/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/saas.pactown.yaml +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/services/api/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/services/cli/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/services/database/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/services/gateway/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/saas-platform/services/web/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/security-policy/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/security-policy/demo.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/user-isolation/README.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples/user-isolation/demo.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/examples.md +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/img.png +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/project.sh +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/project.toon-schema.json +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/saas.pactown.yaml +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/__init__.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/base.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/compose.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/docker.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/kubernetes.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/podman.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/quadlet.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/quadlet_api.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/deploy/quadlet_shell.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/events.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/generator.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/llm.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/markpact_blocks.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/network.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/orchestrator.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/parallel.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/platform.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/registry/__init__.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/registry/client.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/registry/models.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/src/pactown/resolver.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/__init__.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_config.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_deploy_dockerfile.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_llm.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_markpact_blocks.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_network.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_parallel.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_platform.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_quadlet_security.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_registry.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_resolver.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_runner_api.py +0 -0
- {pactown-0.1.47 → pactown-0.1.57}/tests/test_user_isolation_manager.py +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.PHONY: help install dev test test-cov lint format build clean registry up down status examples check-pypi-deps publish-pypi bump-patch bump-minor bump-major release
|
|
1
|
+
.PHONY: help install dev test test-cov lint format build clean registry up down status examples check-pypi-deps publish-pypi bump-patch bump-minor bump-major release security security-sast security-deps security-secrets security-all
|
|
2
2
|
|
|
3
3
|
PYTHON ?= $(shell if [ -x ./venv/bin/python3 ]; then echo ./venv/bin/python3; elif [ -x ./.venv/bin/python3 ]; then echo ./.venv/bin/python3; else echo python3; fi)
|
|
4
4
|
CONFIG ?= saas.pactown.yaml
|
|
@@ -124,4 +124,44 @@ bump-major: ## Bump major version (0.1.0 → 1.0.0)
|
|
|
124
124
|
$(BUMP2VERSION) major --config-file .bumpversion.cfg --allow-dirty
|
|
125
125
|
@echo "Bumped to $$(grep -m1 'version = ' pyproject.toml | cut -d'"' -f2)"
|
|
126
126
|
|
|
127
|
-
release: publish-pypi ## Bump patch and publish
|
|
127
|
+
release: publish-pypi ## Bump patch and publish
|
|
128
|
+
|
|
129
|
+
# Security targets
|
|
130
|
+
security: security-sast security-deps ## Run all security checks (SAST + deps)
|
|
131
|
+
|
|
132
|
+
security-sast: ## Run SAST (bandit + semgrep)
|
|
133
|
+
@echo "Running SAST analysis..."
|
|
134
|
+
@if $(PYTHON) -c "import bandit" >/dev/null 2>&1; then \
|
|
135
|
+
$(PYTHON) -m bandit -r src/ -ll -ii --skip B101 || true; \
|
|
136
|
+
elif command -v bandit >/dev/null 2>&1; then \
|
|
137
|
+
bandit -r src/ -ll -ii --skip B101 || true; \
|
|
138
|
+
else \
|
|
139
|
+
echo "[SKIP] bandit not installed. Run: $(PYTHON) -m pip install bandit"; \
|
|
140
|
+
fi
|
|
141
|
+
@if command -v semgrep >/dev/null 2>&1; then \
|
|
142
|
+
semgrep scan --config=p/python --config=p/owasp-top-ten src/ --error 2>/dev/null || \
|
|
143
|
+
semgrep scan --config=auto src/ --error 2>/dev/null || \
|
|
144
|
+
echo "[WARN] semgrep scan completed with findings"; \
|
|
145
|
+
else \
|
|
146
|
+
echo "[SKIP] semgrep not installed. Run: pip install semgrep (or pipx install semgrep)"; \
|
|
147
|
+
fi
|
|
148
|
+
|
|
149
|
+
security-deps: ## Scan dependencies for vulnerabilities (pip-audit)
|
|
150
|
+
@echo "Scanning dependencies for vulnerabilities..."
|
|
151
|
+
@if $(PYTHON) -c "import pip_audit" >/dev/null 2>&1; then \
|
|
152
|
+
$(PYTHON) -m pip_audit --desc on || true; \
|
|
153
|
+
elif command -v pip-audit >/dev/null 2>&1; then \
|
|
154
|
+
pip-audit --desc on || true; \
|
|
155
|
+
else \
|
|
156
|
+
echo "[SKIP] pip-audit not installed. Run: $(PYTHON) -m pip install pip-audit"; \
|
|
157
|
+
fi
|
|
158
|
+
|
|
159
|
+
security-secrets: ## Scan for secrets in codebase (gitleaks)
|
|
160
|
+
@echo "Scanning for secrets..."
|
|
161
|
+
@if command -v gitleaks >/dev/null 2>&1; then \
|
|
162
|
+
gitleaks detect --source . --verbose 2>/dev/null || echo "[WARN] Potential secrets found"; \
|
|
163
|
+
else \
|
|
164
|
+
echo "[SKIP] gitleaks not installed. Install: https://github.com/gitleaks/gitleaks#installing"; \
|
|
165
|
+
fi
|
|
166
|
+
|
|
167
|
+
security-all: security security-secrets ## Run all security checks including secrets scan
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pactown
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.57
|
|
4
4
|
Summary: Decentralized Service Ecosystem Orchestrator - Build interconnected microservices from Markdown using markpact
|
|
5
5
|
Project-URL: Homepage, https://github.com/wronai/pactown
|
|
6
6
|
Project-URL: Repository, https://github.com/wronai/pactown
|
|
@@ -42,6 +42,11 @@ Requires-Dist: ruff>=0.1; extra == 'dev'
|
|
|
42
42
|
Requires-Dist: twine; extra == 'dev'
|
|
43
43
|
Provides-Extra: llm
|
|
44
44
|
Requires-Dist: lolm>=0.1.6; extra == 'llm'
|
|
45
|
+
Provides-Extra: security
|
|
46
|
+
Requires-Dist: bandit>=1.7; extra == 'security'
|
|
47
|
+
Requires-Dist: pip-audit>=2.6; extra == 'security'
|
|
48
|
+
Requires-Dist: safety>=2.3; extra == 'security'
|
|
49
|
+
Requires-Dist: semgrep>=1.50; extra == 'security'
|
|
45
50
|
Description-Content-Type: text/markdown
|
|
46
51
|
|
|
47
52
|

|