orbitals 0.1.0__tar.gz → 0.1.2__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 (49) hide show
  1. orbitals-0.1.2/.dockerignore +5 -0
  2. orbitals-0.1.2/CONTRIBUTING.md +45 -0
  3. orbitals-0.1.2/Dockerfile +23 -0
  4. orbitals-0.1.0/Dockerfile → orbitals-0.1.2/Dockerfile copy +16 -13
  5. {orbitals-0.1.0 → orbitals-0.1.2}/LICENSE +1 -1
  6. orbitals-0.1.2/PKG-INFO +170 -0
  7. orbitals-0.1.2/README.md +115 -0
  8. {orbitals-0.1.0 → orbitals-0.1.2}/README.scope-guard.md +99 -51
  9. orbitals-0.1.2/assets/orbitals-banner.png +0 -0
  10. orbitals-0.1.2/examples/scope-guard/test.py +27 -0
  11. {orbitals-0.1.0 → orbitals-0.1.2}/pyproject.toml +27 -8
  12. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/cli/serve.py +1 -1
  13. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/guards/base.py +8 -8
  14. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/guards/hf.py +2 -2
  15. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/guards/vllm.py +5 -5
  16. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/serving/main.py +2 -14
  17. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/types.py +14 -2
  18. orbitals-0.1.2/src/orbitals/utils.py +53 -0
  19. orbitals-0.1.2/src/scripts/playground.ipynb +267 -0
  20. {orbitals-0.1.0 → orbitals-0.1.2}/src/scripts/push_hf_pipeline.py +2 -9
  21. {orbitals-0.1.0 → orbitals-0.1.2}/uv.lock +129 -103
  22. orbitals-0.1.0/.dockerignore +0 -2
  23. orbitals-0.1.0/PKG-INFO +0 -103
  24. orbitals-0.1.0/README.md +0 -76
  25. orbitals-0.1.0/src/orbitals/utils.py +0 -45
  26. orbitals-0.1.0/src/scripts/playground.ipynb +0 -196
  27. {orbitals-0.1.0 → orbitals-0.1.2}/.gitignore +0 -0
  28. {orbitals-0.1.0 → orbitals-0.1.2}/AGENTS.md +0 -0
  29. {orbitals-0.1.0 → orbitals-0.1.2}/assets/orbitals.svg +0 -0
  30. {orbitals-0.1.0 → orbitals-0.1.2}/assets/scope-guard.svg +0 -0
  31. {orbitals-0.1.0 → orbitals-0.1.2}/examples/scope-guard/api.py +0 -0
  32. {orbitals-0.1.0 → orbitals-0.1.2}/examples/scope-guard/async_api.py +0 -0
  33. {orbitals-0.1.0 → orbitals-0.1.2}/examples/scope-guard/local.py +0 -0
  34. {orbitals-0.1.0 → orbitals-0.1.2}/examples/scope-guard/vllm_serve.py +0 -0
  35. {orbitals-0.1.0 → orbitals-0.1.2}/src/hf_pipeline/scope_guard.py +0 -0
  36. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/__init__.py +0 -0
  37. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/cli/__init__.py +0 -0
  38. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/cli/main.py +0 -0
  39. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/__init__.py +0 -0
  40. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/cli/__init__.py +0 -0
  41. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/cli/convert_default_model_name.py +0 -0
  42. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/cli/main.py +0 -0
  43. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/guards/__init__.py +0 -0
  44. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/guards/api.py +0 -0
  45. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/modeling.py +0 -0
  46. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/prompting.py +0 -0
  47. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/serving/__init__.py +0 -0
  48. {orbitals-0.1.0 → orbitals-0.1.2}/src/orbitals/scope_guard/serving/vllm_logging_config.json +0 -0
  49. {orbitals-0.1.0 → orbitals-0.1.2}/src/scripts/push_model.py +0 -0
@@ -0,0 +1,5 @@
1
+ .venv
2
+ dist
3
+ __pycache__/
4
+ .vscode/
5
+ examples/
@@ -0,0 +1,45 @@
1
+ # Contributing to Orbitals
2
+
3
+ Thank you for your interest in contributing to `orbitals`! We welcome contributions from the community.
4
+
5
+ ## Getting Started
6
+
7
+ 1. **Fork the repository** and clone it locally
8
+ 2. **Install dependencies** using `uv`:
9
+ ```bash
10
+ uv sync
11
+ ```
12
+
13
+ ## Development Workflow
14
+
15
+ 1. Create a new branch for your feature or fix:
16
+ ```bash
17
+ git checkout -b feature/your-feature-name
18
+ ```
19
+
20
+ 2. Make your changes and ensure they follow the project's coding conventions
21
+
22
+ 3. Test your changes thoroughly
23
+
24
+ 4. Commit your changes with a clear, descriptive message
25
+
26
+ 5. Push to your fork and submit a pull request
27
+
28
+ ## Coding Conventions
29
+
30
+ - Use **Google-style docstrings** for all documentation
31
+ - Follow PEP 8 style guidelines
32
+ - Keep code modular and well-organized
33
+
34
+ ## Reporting Issues
35
+
36
+ When reporting issues, please include:
37
+
38
+ - A clear description of the problem
39
+ - Steps to reproduce the issue
40
+ - Expected vs actual behavior
41
+ - Your environment details (Python version, OS, etc.)
42
+
43
+ ## Questions?
44
+
45
+ Feel free to open an issue for any questions or discussions about contributing.
@@ -0,0 +1,23 @@
1
+ FROM vllm/vllm-openai:v0.14.1
2
+
3
+ ARG DEBIAN_FRONTEND=noninteractive
4
+
5
+ COPY --from=ghcr.io/astral-sh/uv:0.9.8-debian-slim /usr/local/bin/uv /usr/local/bin/uvx /bin/
6
+
7
+ WORKDIR /app
8
+ ENV PATH="/app/.venv/bin:$PATH"
9
+ ENV UV_COMPILE_BYTECODE=1
10
+
11
+ ARG MODEL
12
+ ENV MODEL=${MODEL}
13
+
14
+ RUN hf download ${MODEL}
15
+
16
+ COPY pyproject.toml uv.lock README.md src /app/src/
17
+
18
+ RUN pip install -e .[serving]
19
+
20
+ EXPOSE 8000
21
+
22
+ ENTRYPOINT ["/bin/bash", "-c"]
23
+ CMD ["orbitals scope-guard serve ${MODEL} --port 8000 --host 0.0.0.0"]
@@ -1,7 +1,6 @@
1
- FROM vllm/vllm-openai:v0.11.2 as builder
1
+ FROM nvidia/cuda:13.1.1-cudnn-devel-ubuntu24.04 AS builder
2
2
 
3
3
  ARG DEBIAN_FRONTEND=noninteractive
4
- ARG MODEL
5
4
 
6
5
  COPY --from=ghcr.io/astral-sh/uv:0.9.8-debian-slim /usr/local/bin/uv /usr/local/bin/uvx /bin/
7
6
 
@@ -11,33 +10,34 @@ ENV UV_COMPILE_BYTECODE=1
11
10
 
12
11
  RUN \
13
12
  apt-get update && \
14
- apt-get install -y --no-install-recommends git
13
+ apt-get install -y --no-install-recommends git python3.12
15
14
 
16
15
  COPY pyproject.toml uv.lock README.md /app/
17
16
 
18
17
  RUN --mount=type=cache,target=/root/.cache/uv \
19
18
  uv venv -p 3.12 && \
20
- uv sync --frozen --extra serve --no-install-project --no-dev
19
+ uv sync --frozen --extra scope-guard-serve --no-install-project --no-dev
21
20
 
22
- COPY src /app/src/
21
+ ARG MODEL
22
+ RUN hf download ${MODEL}
23
23
 
24
- RUN --mount=type=cache,target=/root/.cache/uv \
25
- uv sync --locked --extra serve --no-editable --no-dev
24
+ COPY src /app/src/
26
25
 
27
26
  RUN --mount=type=cache,target=/root/.cache/uv \
28
- --mount=type=secret,id=HF_TOKEN \
29
- hf auth login --token $(cat /run/secrets/HF_TOKEN) && \
30
- hf download $(scope-classifier convert-default-model-name ${MODEL}) && \
31
- rm -rf /root/.huggingface
27
+ uv sync --locked --extra scope-guard-serve --no-editable --no-dev
32
28
 
33
29
  # TODO remove next line
34
30
  ENTRYPOINT ["/bin/bash", "-c"]
35
31
 
36
- FROM vllm/vllm-openai:v0.11.2 as runner
32
+ FROM nvidia/cuda:13.1.1-cudnn-runtime-ubuntu24.04 AS runner
37
33
 
38
34
  WORKDIR /app
39
35
  ENV PATH="/app/.venv/bin:$PATH"
40
36
 
37
+ RUN \
38
+ apt-get update && \
39
+ apt-get install -y --no-install-recommends python3.12
40
+
41
41
  COPY --from=builder /app/.venv/ /app/.venv/
42
42
 
43
43
  RUN mkdir -p /root/.cache/huggingface/hub
@@ -45,5 +45,8 @@ COPY --from=builder /root/.cache/huggingface/hub /root/.cache/huggingface/hub
45
45
 
46
46
  EXPOSE 8000
47
47
 
48
+ ARG MODEL
49
+ ENV MODEL=${MODEL}
50
+
48
51
  ENTRYPOINT ["/bin/bash", "-c"]
49
- CMD [ "scope-classifier", "serve", "${MODEL}", "--backend", "hf", "--port", "8000", "--host", "0.0.0.0" ]
52
+ CMD ["orbitals scope-guard serve ${MODEL} --port 8000 --host 0.0.0.0"]
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright [yyyy] [name of copyright owner]
189
+ Copyright 2026 Principled Intelligence s.r.l.
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -0,0 +1,170 @@
1
+ Metadata-Version: 2.4
2
+ Name: orbitals
3
+ Version: 0.1.2
4
+ Summary: LLM Guardrails tailored to your Principles
5
+ Author-email: Luigi Procopio <luigi@principled-intelligence.com>, Edoardo Barba <edoardo@principled-intelligence.com>
6
+ License: Apache-2.0
7
+ License-File: LICENSE
8
+ Classifier: Programming Language :: Python :: 3 :: Only
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Requires-Python: >=3.10
15
+ Requires-Dist: aiohttp
16
+ Requires-Dist: pydantic>=2.0.0
17
+ Requires-Dist: requests
18
+ Requires-Dist: typer>=0.12.3
19
+ Provides-Extra: all
20
+ Requires-Dist: accelerate>=1.11.0; extra == 'all'
21
+ Requires-Dist: fastapi[standard]>=0.119.1; extra == 'all'
22
+ Requires-Dist: nvidia-ml-py; extra == 'all'
23
+ Requires-Dist: transformers<5.0.0,>=4.47.0; extra == 'all'
24
+ Requires-Dist: uvicorn>=0.29.0; extra == 'all'
25
+ Requires-Dist: vllm>=0.11.0; extra == 'all'
26
+ Requires-Dist: xgrammar; extra == 'all'
27
+ Provides-Extra: scope-guard-all
28
+ Requires-Dist: accelerate>=1.11.0; extra == 'scope-guard-all'
29
+ Requires-Dist: fastapi[standard]>=0.119.1; extra == 'scope-guard-all'
30
+ Requires-Dist: nvidia-ml-py; extra == 'scope-guard-all'
31
+ Requires-Dist: transformers<5.0.0,>=4.47.0; extra == 'scope-guard-all'
32
+ Requires-Dist: uvicorn>=0.29.0; extra == 'scope-guard-all'
33
+ Requires-Dist: vllm>=0.11.0; extra == 'scope-guard-all'
34
+ Requires-Dist: xgrammar; extra == 'scope-guard-all'
35
+ Provides-Extra: scope-guard-hf
36
+ Requires-Dist: accelerate>=1.11.0; extra == 'scope-guard-hf'
37
+ Requires-Dist: nvidia-ml-py; extra == 'scope-guard-hf'
38
+ Requires-Dist: transformers<5.0.0,>=4.47.0; extra == 'scope-guard-hf'
39
+ Provides-Extra: scope-guard-serve
40
+ Requires-Dist: fastapi[standard]>=0.119.1; extra == 'scope-guard-serve'
41
+ Requires-Dist: nvidia-ml-py; extra == 'scope-guard-serve'
42
+ Requires-Dist: transformers<5.0.0,>=4.47.0; extra == 'scope-guard-serve'
43
+ Requires-Dist: uvicorn>=0.29.0; extra == 'scope-guard-serve'
44
+ Requires-Dist: vllm>=0.11.0; extra == 'scope-guard-serve'
45
+ Requires-Dist: xgrammar; extra == 'scope-guard-serve'
46
+ Provides-Extra: scope-guard-vllm
47
+ Requires-Dist: nvidia-ml-py; extra == 'scope-guard-vllm'
48
+ Requires-Dist: transformers<5.0.0,>=4.47.0; extra == 'scope-guard-vllm'
49
+ Requires-Dist: vllm>=0.11.0; extra == 'scope-guard-vllm'
50
+ Requires-Dist: xgrammar; extra == 'scope-guard-vllm'
51
+ Provides-Extra: serving
52
+ Requires-Dist: fastapi[standard]>=0.119.1; extra == 'serving'
53
+ Requires-Dist: uvicorn>=0.29.0; extra == 'serving'
54
+ Description-Content-Type: text/markdown
55
+
56
+ <div align="center">
57
+ <img src="https://raw.githubusercontent.com/Principled-Intelligence/orbitals/refs/heads/main/assets/orbitals-banner.png" width="70%" />
58
+ <h3 align="center">
59
+ <p>
60
+ <b>LLM Guardrails tailored to your Principles</b>
61
+ </p>
62
+ </h4>
63
+ </div>
64
+
65
+ <p align="center">
66
+ <a href="https://pypi.org/project/orbitals/">
67
+ <img src="https://img.shields.io/pypi/v/orbitals?color=green" alt="PyPI Version">
68
+ </a>
69
+ <!-- <img src="https://img.shields.io/badge/type%20checked-ty-blue.svg?color=green" alt="Type Checked with ty"> -->
70
+ <a href="https://pypi.org/project/orbitals/">
71
+ <img src="https://img.shields.io/pypi/pyversions/orbitals" alt="Python Versions">
72
+ </a>
73
+ <a href="https://raw.githubusercontent.com/Principled-Intelligence/orbitals/refs/heads/main/LICENSE">
74
+ <img src="https://img.shields.io/github/license/principled-intelligence/orbitals" alt="GitHub License">
75
+ </a>
76
+ </p>
77
+
78
+ ## Overview
79
+
80
+ **Orbitals** is a lightweight Python library for adding LLM guardrails in just a few lines of code. With Orbitals, you can add a governance layer tailored to **user-specific principles**. Rather than enforcing generic notions of safety, compliance, and correctness, Orbitals validates inputs (e.g., user requests) and outputs (e.g., assistant responses) against user-defined specifications and custom policies. This makes guardrails explicit, auditable, and aligned with the user's philosophy.
81
+
82
+ ### Key Features
83
+
84
+ - **User-defined specifications** — Guardrails that match your use case and your custom policies, not generic safety rules
85
+ - **Simple integration** — Add guardrails with minimal code changes
86
+ - **Open framework, open models** — Orbitals is open-source and is a simple interface for our open models
87
+
88
+ ## Getting started
89
+
90
+ ### Installation
91
+
92
+ You can install Orbitals via pip:
93
+
94
+ ```bash
95
+ pip install orbitals[all]
96
+ ```
97
+
98
+ ### Basic Usage
99
+
100
+ Here's a quick example to get you started with Orbitals, in which we use the ScopeGuard module to guard an AI service (for example, a customer support chatbot) from user requests that violate specified principles or fall outside of the scope of the core task of the assistant.
101
+
102
+ ```python
103
+ from orbitals.scope_guard import ScopeGuard
104
+
105
+ ai_service_description = "You are a helpful assistant for ..."
106
+ user_message = "Can I buy ..."
107
+
108
+ guardrail = ScopeGuard()
109
+ result = guardrail.validate(user_message, ai_service_description)
110
+ ```
111
+
112
+ The result of a guardrail validation will indicate whether the input or output passed the guardrail checks, along with details on any violations. You can then handle violations as needed, such as by rejecting the input or modifying the output. For example:
113
+
114
+ ```python
115
+ if result.scope_class.value == "Restricted" or result.scope_class.value == "Out of Scope":
116
+ print("Request violates guardrail:", result.evidences)
117
+ else:
118
+ # The user request is safe!
119
+ # We can now pass it to the AI assistant for processing.
120
+ ...
121
+ ```
122
+
123
+ ### Available Guardrails
124
+
125
+ Orbitals currently provides the following guardrail modules:
126
+
127
+ | Guardrail | Description | Hosting Options |
128
+ |:----------|:------------|:----------------|
129
+ | **[ScopeGuard](README.scope-guard.md)** | Classifies user queries against AI assistant specifications to detect out-of-scope requests, policy violations, and chit-chat | Self-hosted / Cloud hosting |
130
+ | 🚀 *Coming Soon* | More guardrails are on the way — stay tuned for updates! | — |
131
+
132
+ #### Hosting Options
133
+
134
+ - **Self-hosted**: Use open-weight models that you can deploy on your own infrastructure, ensuring data privacy and control.
135
+ - **Cloud hosting**: (Coming soon) Managed hosting options for ease of use and scalability
136
+
137
+ ### Documentation
138
+
139
+ For detailed documentation, including installation instructions, usage guides, and API references, please visit the Orbitals Documentation.
140
+
141
+ - [ScopeGuard Documentation](README.scope-guard.md)
142
+
143
+ ### FAQ
144
+
145
+ - **Can I use Orbitals for commercial applications?**
146
+ Yes, Orbitals is designed to be used in both research and commercial applications. It is licensed under the Apache 2.0 License, which allows for commercial use.
147
+ - **Other questions?**
148
+ Feel free to reach out to us at [orbitals@principled-intelligence.com](mailto:orbitals@principled-intelligence.com)!
149
+
150
+ ### Contributing
151
+
152
+ We welcome contributions from the community! If you'd like to contribute to Orbitals, please check out our [Contributing Guide](CONTRIBUTING.md) for guidelines on how to get started.
153
+
154
+ ### License
155
+
156
+ This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.
157
+
158
+ ### Contact
159
+
160
+ For questions, feedback, or support, please reach out to us at [orbitals@principled-intelligence.com](mailto:orbitals@principled-intelligence.com).
161
+
162
+ ---
163
+
164
+ <div align="center">
165
+ <p>
166
+ <b>Built with ❤️ by <a href="https://principled-intelligence.com">Principled Intelligence</a></b>
167
+ <br />
168
+ Follow us on <a href="https://www.linkedin.com/company/principled-ai/">LinkedIn</a> for the latest updates.
169
+ </p>
170
+ </div>
@@ -0,0 +1,115 @@
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/Principled-Intelligence/orbitals/refs/heads/main/assets/orbitals-banner.png" width="70%" />
3
+ <h3 align="center">
4
+ <p>
5
+ <b>LLM Guardrails tailored to your Principles</b>
6
+ </p>
7
+ </h4>
8
+ </div>
9
+
10
+ <p align="center">
11
+ <a href="https://pypi.org/project/orbitals/">
12
+ <img src="https://img.shields.io/pypi/v/orbitals?color=green" alt="PyPI Version">
13
+ </a>
14
+ <!-- <img src="https://img.shields.io/badge/type%20checked-ty-blue.svg?color=green" alt="Type Checked with ty"> -->
15
+ <a href="https://pypi.org/project/orbitals/">
16
+ <img src="https://img.shields.io/pypi/pyversions/orbitals" alt="Python Versions">
17
+ </a>
18
+ <a href="https://raw.githubusercontent.com/Principled-Intelligence/orbitals/refs/heads/main/LICENSE">
19
+ <img src="https://img.shields.io/github/license/principled-intelligence/orbitals" alt="GitHub License">
20
+ </a>
21
+ </p>
22
+
23
+ ## Overview
24
+
25
+ **Orbitals** is a lightweight Python library for adding LLM guardrails in just a few lines of code. With Orbitals, you can add a governance layer tailored to **user-specific principles**. Rather than enforcing generic notions of safety, compliance, and correctness, Orbitals validates inputs (e.g., user requests) and outputs (e.g., assistant responses) against user-defined specifications and custom policies. This makes guardrails explicit, auditable, and aligned with the user's philosophy.
26
+
27
+ ### Key Features
28
+
29
+ - **User-defined specifications** — Guardrails that match your use case and your custom policies, not generic safety rules
30
+ - **Simple integration** — Add guardrails with minimal code changes
31
+ - **Open framework, open models** — Orbitals is open-source and is a simple interface for our open models
32
+
33
+ ## Getting started
34
+
35
+ ### Installation
36
+
37
+ You can install Orbitals via pip:
38
+
39
+ ```bash
40
+ pip install orbitals[all]
41
+ ```
42
+
43
+ ### Basic Usage
44
+
45
+ Here's a quick example to get you started with Orbitals, in which we use the ScopeGuard module to guard an AI service (for example, a customer support chatbot) from user requests that violate specified principles or fall outside of the scope of the core task of the assistant.
46
+
47
+ ```python
48
+ from orbitals.scope_guard import ScopeGuard
49
+
50
+ ai_service_description = "You are a helpful assistant for ..."
51
+ user_message = "Can I buy ..."
52
+
53
+ guardrail = ScopeGuard()
54
+ result = guardrail.validate(user_message, ai_service_description)
55
+ ```
56
+
57
+ The result of a guardrail validation will indicate whether the input or output passed the guardrail checks, along with details on any violations. You can then handle violations as needed, such as by rejecting the input or modifying the output. For example:
58
+
59
+ ```python
60
+ if result.scope_class.value == "Restricted" or result.scope_class.value == "Out of Scope":
61
+ print("Request violates guardrail:", result.evidences)
62
+ else:
63
+ # The user request is safe!
64
+ # We can now pass it to the AI assistant for processing.
65
+ ...
66
+ ```
67
+
68
+ ### Available Guardrails
69
+
70
+ Orbitals currently provides the following guardrail modules:
71
+
72
+ | Guardrail | Description | Hosting Options |
73
+ |:----------|:------------|:----------------|
74
+ | **[ScopeGuard](README.scope-guard.md)** | Classifies user queries against AI assistant specifications to detect out-of-scope requests, policy violations, and chit-chat | Self-hosted / Cloud hosting |
75
+ | 🚀 *Coming Soon* | More guardrails are on the way — stay tuned for updates! | — |
76
+
77
+ #### Hosting Options
78
+
79
+ - **Self-hosted**: Use open-weight models that you can deploy on your own infrastructure, ensuring data privacy and control.
80
+ - **Cloud hosting**: (Coming soon) Managed hosting options for ease of use and scalability
81
+
82
+ ### Documentation
83
+
84
+ For detailed documentation, including installation instructions, usage guides, and API references, please visit the Orbitals Documentation.
85
+
86
+ - [ScopeGuard Documentation](README.scope-guard.md)
87
+
88
+ ### FAQ
89
+
90
+ - **Can I use Orbitals for commercial applications?**
91
+ Yes, Orbitals is designed to be used in both research and commercial applications. It is licensed under the Apache 2.0 License, which allows for commercial use.
92
+ - **Other questions?**
93
+ Feel free to reach out to us at [orbitals@principled-intelligence.com](mailto:orbitals@principled-intelligence.com)!
94
+
95
+ ### Contributing
96
+
97
+ We welcome contributions from the community! If you'd like to contribute to Orbitals, please check out our [Contributing Guide](CONTRIBUTING.md) for guidelines on how to get started.
98
+
99
+ ### License
100
+
101
+ This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.
102
+
103
+ ### Contact
104
+
105
+ For questions, feedback, or support, please reach out to us at [orbitals@principled-intelligence.com](mailto:orbitals@principled-intelligence.com).
106
+
107
+ ---
108
+
109
+ <div align="center">
110
+ <p>
111
+ <b>Built with ❤️ by <a href="https://principled-intelligence.com">Principled Intelligence</a></b>
112
+ <br />
113
+ Follow us on <a href="https://www.linkedin.com/company/principled-ai/">LinkedIn</a> for the latest updates.
114
+ </p>
115
+ </div>