Skip to main content

oso is an open source policy engine for authorization that's embedded in your application

Project description

Oso

Development GitHub release (latest SemVer) Go version Maven version NPM version PyPI version RubyGems version Crates.io version Slack

What is Oso?

Oso is a batteries-included library for building authorization in your application.

Oso gives you a mental model and an authorization system – a set of APIs built on top of a declarative policy language called Polar, plus a debugger and REPL – to define who can do what in your application. You can express common concepts from “users can see their own data” and role-based access control, to others like multi-tenancy, organizations and teams, hierarchies and relationships.

Oso lets you offload the thinking of how to design authorization and build features fast, while keeping the flexibility to extend and customize as you see fit.

Developers can typically write a working Oso policy in <5 minutes, add Oso to an app in <30 minutes, and use Oso to solve real authorization problems within a few hours. To get started, you add the library to your application, create a new Oso instance and load an Oso policy. You can mix and match any of Oso’s authorization APIs to implement features like roles with custom policies that you write to suit your application.

Check out Use Cases to learn more about how teams are using Oso to build authorization.

Oso currently offers libraries for Node.js, Python, Go, Rust, Ruby, and Java.

Getting started

To get up and running with Oso, check out the Getting Started guides in the Oso documentation.

If you have questions or need help getting started come chat with our engineering team & hundreds of other developers using Oso:

Button

Development

Core

Oso's Rust core is developed against Rust's latest stable release.

Language libraries

Oso's language libraries can be developed without touching the Rust core, but you will still need the Rust stable toolchain installed in order to build the core.

To build the WebAssembly core for the Node.js library, you will need to have wasm-pack installed and available on your system PATH.

Language requirements

To work on a language library, you will need to meet the following version requirements:

  • Java: 10+
    • Maven: 3.6+
  • Node.js: 12.20.0+
    • Yarn 1.22+
  • Python: 3.6+
  • Ruby: 2.4+
    • Bundler 2.1.4+
  • Rust: 1.46+
  • Go: 1.12+

Contributing

See: CONTRIBUTING.md.

License

See: LICENSE.

Share your story

We'd love to hear about your use case and experience with Oso. Share your story on Twitter or fill out this form for some Oso swag.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

oso-0.15.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.15.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.15.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.15.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.15.0-cp39-cp39-win_amd64.whl (686.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.15.0-cp39-cp39-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.15.0-cp39-cp39-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.15.0-cp38-cp38-win_amd64.whl (686.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.15.0-cp38-cp38-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.15.0-cp38-cp38-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.15.0-cp37-cp37m-win_amd64.whl (686.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.15.0-cp37-cp37m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

oso-0.15.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.15.0-cp36-cp36m-win_amd64.whl (686.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.15.0-cp36-cp36m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

oso-0.15.0-cp36-cp36m-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file oso-0.15.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 84518bc64433b0feb807cf45ac7eb02eb0dd36524afd61222b92af176a5dad3e
MD5 d7059d82081ace48a7e1a4f81af4aab5
BLAKE2b-256 ac2339c9c1ca2e835de70849e4a6fa70c051ab02a51305b8bb3875b8ad1ab298

See more details on using hashes here.

File details

Details for the file oso-0.15.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f99ea0d28faacad1e27a157f6c67d776575aa3b300949c7af1097e41cf3558e0
MD5 8ae37ab8999d48f1e23b10a64fdaa6a7
BLAKE2b-256 e333dffd090507c0336d3e64c6c09a954ada0149ea8d2652270d950ad14da114

See more details on using hashes here.

File details

Details for the file oso-0.15.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 da178b126a3c24e498a876c8ca5485db1eb7212b3fbf8284a87119bab5163cc1
MD5 759d16f2c5c5dae29e07cbc53f965315
BLAKE2b-256 34f86a20c8f852bb7e2b333622c0f0fe31a2dc5b0a267a8a7944138e19643cf2

See more details on using hashes here.

File details

Details for the file oso-0.15.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4ac3ebf496dd326a54d6063776c6f5430c80a8601fc5c9057815913fc49905f0
MD5 93e28ba531888d7946adfefc1080f79d
BLAKE2b-256 ef8d944803773e7351c5d694763f57fd85bf19254ca4e82df83795e5d936fdd8

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: oso-0.15.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 686.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0e32aa8c30063577a8f34a7482c243f1b0dba443fbd8cc18e6bc38576ab9edb2
MD5 4318a7eafe8942c792aacb49dccfad31
BLAKE2b-256 7768358c2e350b875adb356ec56e68335409a245ee22d44bb004a9fd13416dbd

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6a6891341b74c8ecc0c4a06753e05f23936089963389da834b7ec081c9adfa4e
MD5 356c825e2640c63ff67be7e7fc965ba7
BLAKE2b-256 4ccdb1c2dc5343654cdbc01f476941e7cbf3cfc5719b6460b5f437baaa719907

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 37a944a92410daba2cb59732c18f4aa62600c7f1d2f6e66d516fab7f101b7dac
MD5 841e546191c1ed580d3a5d04fe8eca7d
BLAKE2b-256 28929b0c5d87d987722782ca7094f9280ff51cdc32026ddd1ad75931789905ba

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: oso-0.15.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 686.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 edb239f5778a5a6f6c60f9c3d3fc59de2bf7cf54ad7e7274780e047f340979be
MD5 fb835401de268f7ef38c4db753431ffe
BLAKE2b-256 5d6ea63bf9e1c835b854775f2367f4978fbd47079eb05e30d0a6126661fc1b32

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 68fc8c4592f26524652321920494aba809df4b2a3c604d79f4d866f587bbdeef
MD5 4c352cbd1b775347843b21faef862934
BLAKE2b-256 266c4eb29e3347379428e09eb8f0929208942ef8d32bf858a6f7b9e39ef992d5

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 156c11ee41bf609f858d38de73029080f83cafd0041a4c1285282ad74c3efcd1
MD5 8e5abac97680b683ea673613884baba6
BLAKE2b-256 65cfa499fe5bc57b1b09b9731a296a119e9b650affeb29b2e05472f38815447b

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: oso-0.15.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 686.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 03654926c4e40f09044f4ee27b6eb6d14ed352fd7a4f2b4756918d0ff1f04848
MD5 12a5f139e6c4e2081b159108031cda1b
BLAKE2b-256 e91dba5c395a9c6c3dedf690cb83de575f3aa25efce2208ee1f8658c3d313c67

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 743f74b12a416f0e44799189c8523a12b00438c7bb3ff510752042381f66880b
MD5 11fdca8bb659ca6a80468c3fdf65c7ef
BLAKE2b-256 845988925785fb46acb2e55275f6eb7470b5d05cf7c181b057cb690fc5603782

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 61cea3ab3e3cd0b8220145a98df27577a194172a307aa3115a0ac32d11a223c1
MD5 b80d2492c60c1336ad7ef76f5b5ec24e
BLAKE2b-256 06132b641210707167db780061c06b5b2fe73fde0f5672531817e4b039c950a0

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: oso-0.15.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 686.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 70d58142139b99b705c2686c504ddf6d72ad64c5028cab390cf039ffc002b525
MD5 19ef61deffcb097c71c86285c081972a
BLAKE2b-256 472bdf77ae6e39f9ab02d7c706648322b146ce04f88c8d466ff3fd8e710ad2a7

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5c403efb9e4a705edc25ec8ac8d1b84105bd54d814343b9c677d3fa42048b7cd
MD5 d3fb6a531b2160ff971f4e875d5284fe
BLAKE2b-256 ab88b5864f2efd15c937c70b3c8e479d4f5461d77361accba43ad3b6f664198d

See more details on using hashes here.

File details

Details for the file oso-0.15.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.15.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.15.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ceff6d6767541169123f9a80e0d7cf9259b574c4bf0ea44da662f15117a6cc07
MD5 ba3868fa3ab55f156fc00806f1b66ef0
BLAKE2b-256 1fe1ad66cb733854af352faff632a6d670ea6c2b55207652792cf85e9c51b0a4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page