feat(clients): professional clients with tests, CI/CD, and examples

- Python: pyproject.toml, pytest suite (unit + integration), README, examples
- JavaScript: package.json, TypeScript definitions, node:test suite, README, examples
- Nim: integration tests, examples, README, improved nimble tasks
- Rust: fixed nodelay/localhost IPv6 bug, integration tests, examples, README
- Added GitHub Actions CI for all 4 clients against Docker server
- Added docker-compose.test.yml for local integration testing
- Added .gitignore for each client
This commit is contained in:
2026-05-08 00:18:34 +03:00
parent e9d3c7e9de
commit ae2e07e626
31 changed files with 2651 additions and 12 deletions
+14 -3
View File
@@ -1,8 +1,8 @@
# Package
version = "0.1.0"
version = "1.0.0"
author = "BaraDB Team"
description = "BaraDB client library for Nim — async binary protocol client"
description = "Official Nim client for BaraDB — async binary protocol client"
license = "Apache-2.0"
srcDir = "src"
@@ -12,5 +12,16 @@ requires "nim >= 2.2.0"
# Export the client module
bin = @[]
task test, "Run client tests":
task test, "Run all client tests (unit + integration if server available)":
exec "nim c -r tests/test_client.nim"
# Integration tests are compiled separately; they auto-skip if no server.
try:
exec "nim c -r tests/test_integration.nim"
except:
echo "Integration tests skipped (no server on localhost:9472)"
task test_unit, "Run unit tests only":
exec "nim c -r tests/test_client.nim"
task example, "Run basic example":
exec "nim c -r examples/basic.nim"