- JsonStore._write used a fixed '<path>.tmp' name with no lock, so two concurrent authorizer invocations could clobber each other's temp and corrupt/lose the key store. use tempfile.mkstemp in the same dir (unique per write) then os.replace (atomic), cleaning up the temp on failure. - list 'created_at' formatting did int(raw) unguarded; one hand-edited/legacy doc with a bad timestamp aborted the whole table. guard per-row, fall back to '-'. verified by execution: 20 concurrent writers -> 0 errors, file stays valid JSON, no leftover .tmp; upsert still dedupes/updates; bad/absent created_at -> '-'. Signed-off-by: disqualifier <dev@disqualifier.me>
28 lines
711 B
TOML
28 lines
711 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "envelope_authorizer"
|
|
version = "0.1.1"
|
|
description = "CLI key-authorization manager for envelope_crypto"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"envelope_crypto @ git+ssh://git@git.rethinkstudios.io/rethink-public/envelope_crypto.git@v0.1.0",
|
|
"tomli>=2.0; python_version<'3.11'",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
mongo = [
|
|
"mongo @ git+ssh://git@git.rethinkstudios.io/rethink-public/mongo.git@v0.1.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
authorizer = "envelope_authorizer.__main__:main"
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/envelope_authorizer"]
|