rust-py-audit 0.2.3__tar.gz → 0.2.4__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.
Files changed (44) hide show
  1. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/Cargo.lock +1 -1
  2. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/Cargo.toml +1 -1
  3. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/PKG-INFO +2 -1
  4. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/README.md +1 -0
  5. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/pyproject.toml +1 -1
  6. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/python/rust_py_audit/__init__.py +1 -1
  7. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/.github/workflows/release.yml +0 -0
  8. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/.gitignore +0 -0
  9. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/LICENSE +0 -0
  10. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/__init__.py +0 -0
  11. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/basic_usage.py +0 -0
  12. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/django_example/__init__.py +0 -0
  13. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/django_example/settings.py +0 -0
  14. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/django_example/urls.py +0 -0
  15. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/django_example/views.py +0 -0
  16. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/fastapi_app.py +0 -0
  17. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/examples/immutablelog_basic.py +0 -0
  18. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/python/rust_py_audit/django.py +0 -0
  19. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/python/rust_py_audit/fastapi.py +0 -0
  20. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/audit_logger.rs +0 -0
  21. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/errors.rs +0 -0
  22. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/event.rs +0 -0
  23. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/hash.rs +0 -0
  24. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/immutablelog_client.rs +0 -0
  25. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/immutablelog_config.rs +0 -0
  26. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/immutablelog_receipt.rs +0 -0
  27. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/lib.rs +0 -0
  28. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/pyconv.rs +0 -0
  29. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/retry.rs +0 -0
  30. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/storage.rs +0 -0
  31. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/src/verifier.rs +0 -0
  32. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/conftest.py +0 -0
  33. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_audit_logger.py +0 -0
  34. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_concurrency.py +0 -0
  35. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_django_immutablelog.py +0 -0
  36. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_django_middleware.py +0 -0
  37. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_fastapi_immutablelog.py +0 -0
  38. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_fastapi_middleware.py +0 -0
  39. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_flush_pending.py +0 -0
  40. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_hello.py +0 -0
  41. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_immutablelog_hybrid.py +0 -0
  42. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_immutablelog_remote.py +0 -0
  43. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_metadata_bigint.py +0 -0
  44. {rust_py_audit-0.2.3 → rust_py_audit-0.2.4}/tests/test_verify.py +0 -0
@@ -1597,7 +1597,7 @@ dependencies = [
1597
1597
 
1598
1598
  [[package]]
1599
1599
  name = "rust_py_audit"
1600
- version = "0.2.3"
1600
+ version = "0.2.4"
1601
1601
  dependencies = [
1602
1602
  "httpmock",
1603
1603
  "pyo3",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rust_py_audit"
3
- version = "0.2.3"
3
+ version = "0.2.4"
4
4
  edition = "2021"
5
5
  description = "Auditoria de eventos com cadeia de hashes (SHA-256) para apps Python, core em Rust via PyO3."
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rust-py-audit
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -55,6 +55,7 @@ Records audit events (`who did what, when, on which resource`) in a fast, struct
55
55
  - **`AuditLogger`** — simple API: `log(...)`, `verify()`, `last_hash()`
56
56
  - **Hash chain (SHA-256)** — each event embeds the hash of the previous event; altering any recorded event breaks the chain in a detectable way
57
57
  - **JSONL storage** — one event per line, append-only, no database required
58
+ - **Thread-safe** — a single `AuditLogger` can be shared across threads (e.g. a multi-threaded WSGI server, or one middleware instance serving concurrent requests); the hash chain stays linear under concurrency
58
59
  - **Free-form `metadata`** — any JSON-serializable `dict` (IP, reason, request_id, etc.)
59
60
  - **FastAPI middleware** — automatically logs state-changing requests (POST/PUT/PATCH/DELETE)
60
61
  - **Django middleware** — same idea, supports WSGI and ASGI
@@ -18,6 +18,7 @@ Records audit events (`who did what, when, on which resource`) in a fast, struct
18
18
  - **`AuditLogger`** — simple API: `log(...)`, `verify()`, `last_hash()`
19
19
  - **Hash chain (SHA-256)** — each event embeds the hash of the previous event; altering any recorded event breaks the chain in a detectable way
20
20
  - **JSONL storage** — one event per line, append-only, no database required
21
+ - **Thread-safe** — a single `AuditLogger` can be shared across threads (e.g. a multi-threaded WSGI server, or one middleware instance serving concurrent requests); the hash chain stays linear under concurrency
21
22
  - **Free-form `metadata`** — any JSON-serializable `dict` (IP, reason, request_id, etc.)
22
23
  - **FastAPI middleware** — automatically logs state-changing requests (POST/PUT/PATCH/DELETE)
23
24
  - **Django middleware** — same idea, supports WSGI and ASGI
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "rust-py-audit"
7
- version = "0.2.3"
7
+ version = "0.2.4"
8
8
  description = "Fast, tamper-evident event auditing (hash chain) for Python apps, with a Rust core."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -8,5 +8,5 @@ que existe um módulo nativo por trás.
8
8
 
9
9
  from ._rust_py_audit import AuditLogger, hello
10
10
 
11
- __version__ = "0.2.3"
11
+ __version__ = "0.2.4"
12
12
  __all__ = ["AuditLogger", "hello"]
File without changes
File without changes
File without changes
File without changes