Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Microsoft Open Source Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).

Resources:

- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
32 changes: 32 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Contributing

This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (for example, label or comment).
Simply follow the instructions provided by the bot. You will only need to do this once
across all repositories using our CLA.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## Reporting security issues

Please do not report security vulnerabilities through public GitHub issues. Follow the instructions in [SECURITY.md](SECURITY.md).

## Development workflow

Before opening a pull request, run the checks relevant to your change:

```bash
source .venv/bin/activate
maturin develop
cargo clippy --all-targets
pytest -v
```

After Rust source changes (`src/*.rs`), re-run `maturin develop` before running Python tests.
22 changes: 21 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,26 @@ See [CHANGELOG.md](https://github.com/microsoft/duroxide-python/blob/main/CHANGE
- [User Guide](https://github.com/microsoft/duroxide-python/blob/main/docs/user-guide.md) — orchestration patterns, activities, providers, tracing, determinism rules
- [Architecture](https://github.com/microsoft/duroxide-python/blob/main/docs/architecture.md) — PyO3 interop, GIL deadlock fix, generator driver, tracing internals

## Support

Use GitHub Issues for bug reports and feature requests. Do not report security vulnerabilities through public GitHub issues; follow the instructions in [SECURITY.md](SECURITY.md) instead.

## Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or comments.

## Security

Microsoft takes the security of our software products and services seriously. Please do not report security vulnerabilities through public GitHub issues. See [SECURITY.md](SECURITY.md) for security reporting instructions.

## Privacy and Telemetry

duroxide-python does not send telemetry to Microsoft. Applications may configure their own logging or metrics exporters; those signals are controlled by the application owner.

## Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third-party policies.

## License

MIT
MIT License - see [LICENSE](LICENSE) for details.
3 changes: 3 additions & 0 deletions ci/smoke/run-local.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

# Pre-publish smoke for Windows. See run-local.sh for details.
$ErrorActionPreference = 'Stop'

Expand Down
3 changes: 3 additions & 0 deletions ci/smoke/run-local.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
#!/usr/bin/env bash
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

# Pre-publish smoke: install the duroxide wheel for the current platform into
# a fresh venv OUTSIDE the repo, then run smoke.py.
#
Expand Down
3 changes: 3 additions & 0 deletions ci/smoke/run-registry.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

# Post-publish smoke for Windows. See run-registry.sh for details.
$ErrorActionPreference = 'Stop'

Expand Down
3 changes: 3 additions & 0 deletions ci/smoke/run-registry.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
#!/usr/bin/env bash
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

# Post-publish smoke: install `duroxide==<version>` from PyPI into a fresh
# venv and run smoke.py.
#
Expand Down
3 changes: 3 additions & 0 deletions ci/smoke/smoke.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Cross-platform packaging smoke test for the `duroxide` PyPI wheel.

Expand Down
3 changes: 3 additions & 0 deletions python/duroxide/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
duroxide - Python SDK for the Duroxide durable execution runtime.

Expand Down
3 changes: 3 additions & 0 deletions python/duroxide/context.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
OrchestrationContext and ActivityContext for duroxide Python SDK.

Expand Down
3 changes: 3 additions & 0 deletions python/duroxide/driver.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Generator driver for duroxide Python SDK.

Expand Down
3 changes: 3 additions & 0 deletions src/client.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

use pyo3::prelude::*;
use std::sync::Arc;
use std::time::Duration;
Expand Down
3 changes: 3 additions & 0 deletions src/handlers.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

use parking_lot::Mutex;
use pyo3::prelude::*;
use std::collections::HashMap;
Expand Down
3 changes: 3 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

mod client;
mod handlers;
mod pg_provider;
Expand Down
3 changes: 3 additions & 0 deletions src/pg_provider.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

use pyo3::prelude::*;
use std::sync::Arc;
use std::time::Duration;
Expand Down
3 changes: 3 additions & 0 deletions src/provider.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

use pyo3::prelude::*;
use std::sync::Arc;

Expand Down
3 changes: 3 additions & 0 deletions src/runtime.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

use pyo3::prelude::*;
use std::sync::Arc;
use std::time::Duration;
Expand Down
3 changes: 3 additions & 0 deletions src/types.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

use pyo3::prelude::*;
use serde::{Deserialize, Serialize};

Expand Down
2 changes: 2 additions & 0 deletions tests/scenarios/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
3 changes: 3 additions & 0 deletions tests/scenarios/test_toygres.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Toygres Scenario Tests — duroxide Python SDK

Expand Down
3 changes: 3 additions & 0 deletions tests/test_admin_api.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Management / Admin API tests for duroxide Python SDK — PostgreSQL backend.

Expand Down
3 changes: 3 additions & 0 deletions tests/test_advanced_features.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Advanced feature tests covering typed registration, retry, cancellation,
timers, custom status, event queues, CAN, versioning, errors, and nondeterminism.
Expand Down
3 changes: 3 additions & 0 deletions tests/test_async_blocks.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Tests for async blocks using sub-orchestrations with all() and race().

Expand Down
3 changes: 3 additions & 0 deletions tests/test_copilot_chat.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Copilot Chat scenario — exercises event queues, custom status, continue-as-new,
and wait_for_status_change in a multi-turn conversational pattern.
Expand Down
3 changes: 3 additions & 0 deletions tests/test_e2e.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
End-to-end tests for duroxide Python SDK — PostgreSQL backend.
Ported from duroxide-node/__tests__/e2e.test.js
Expand Down
3 changes: 3 additions & 0 deletions tests/test_init_tracing.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Tests for init_tracing function.
"""
Expand Down
3 changes: 3 additions & 0 deletions tests/test_kv_store.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""End-to-end KV store tests for the duroxide Python SDK."""

import time
Expand Down
3 changes: 3 additions & 0 deletions tests/test_races.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Tests for ctx.all() (join) and ctx.race() (select) with mixed task types,
including activity cooperative cancellation via is_cancelled().
Expand Down
3 changes: 3 additions & 0 deletions tests/test_sessions.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
End-to-end tests for activity session affinity in duroxide Python SDK.

Expand Down
3 changes: 3 additions & 0 deletions tests/test_tags.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Activity tag routing tests for duroxide Python SDK.

Expand Down
3 changes: 3 additions & 0 deletions tests/test_typed_apis.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

"""
Tests for typed convenience API methods in duroxide Python SDK.

Expand Down
Loading