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.14.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.14.2-cp39-cp39-win_amd64.whl (686.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.14.2-cp38-cp38-win_amd64.whl (686.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

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

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

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

Uploaded CPython 3.7m macOS 10.9+ x86-64

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

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.14.2-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.14.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2a9ce1bcd9d94f834ce93ce25105acefd4a637506543850c6c830e896e652248
MD5 8fe5bd96ddadc802f04a18b0ce263fab
BLAKE2b-256 7173df4a58a37ace7d9a4b733b5636c8e47e6e08cc51befbd83bb988a8ad8c9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aab1b33ff9314ca823c3e896f78df8f71e75e03293c4ee5d666125c9af4b8af3
MD5 03be37512506c3ee0ada59ac29a9dce6
BLAKE2b-256 eb778aeda089517627c470fec668d5f55e5b9baa3d80bb11f04422866e01ce93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e8c380b01d83dde3330c45f4819cdd5d6c5b5520a61ed298738048a038447eaa
MD5 74509b093c838af1bb9314c53ead69ba
BLAKE2b-256 d3ee72ed80fa2854911f598d199318fb335b4b604f9c8b81911f1136c0223a71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fc089547fc6b139eb0a70024da9a1c9c3fca90eec6c31f30a9fab95009b27abc
MD5 48176dd93ed103737ce3edfc4e5e2785
BLAKE2b-256 2ded26806f4f32dc69580e4038daf1fe4b3c0ee02256fe82881151c12770dbd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 686.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 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.14.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ae3b63a0c198f8ef111f4061a38e343d71f7be32e76fec3305954a575c0536c5
MD5 dcfa405d8c1aa375e51ea04203d9fba4
BLAKE2b-256 4dcd2d9e84820969104677c14e90775961fdd972ec27f6a12f2f9d54808d1b8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 61b90f414ced4691abb8c1fadd25a2a1879fc8a28f30516c0f430ba2aa18f542
MD5 a84b15694484a084680ed0bce27f10f1
BLAKE2b-256 86ec81929c6184a7ef65655cb80d09054e457b3d4785cc21d9d472bff47283c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 efd6a2713736c96dd1c005783dc4a6a0f6a36c08c26c94a052e8e3408291ca18
MD5 a9dad711028ff5ca90772c6e3608b132
BLAKE2b-256 839c4633f4d90eab86809d189167eac463ba2d8d0b3561681845d91ec6f09eec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 686.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 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.14.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc243f453e7560dab8f33037312dfc70a01030dd5ae68bdc4614259c762cc3dc
MD5 908635bcb18e40a817382fcac8af87d1
BLAKE2b-256 fc74740085c9bf4e80122c352604b0392172430979f0df2b4adbb69af030d645

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 365bedeaff8db44d991f4a9b82cda92bf3a11adcf83456e6addf27d0b0eafaef
MD5 45dda5c8a57bed354ee1bd76cbd3a382
BLAKE2b-256 70f4ca79ae73a79cd811a2bfce7e4e0a7aac4b4bc7970fe7b22fb77ff7c90250

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cdc4197edb9ccfa7a82fe2a7e189d8f5cf52b0bdcab666ba17628e7f0167ee39
MD5 94d59631d6e69eb2cffe8e4589cd0c3e
BLAKE2b-256 4ef4e2ec7f7b3d00378d5e39a9a822cc56be9cd8f0708161fb7d6277b83160d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5183098035491978e870277f46f28980f0d22be4719d6acae068beb763758798
MD5 7cb6e3a266a08d3f7f9701d8fe60c50c
BLAKE2b-256 a9ae1563383a951a89448d32f891e41f477018815cd26f3441075b93d7307700

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b829f5a819d9747a93f61492d1813823fab67bda53b1e09a5e4b69d72397816e
MD5 cd0dbfaa747dcf62ed044a1c487a01e8
BLAKE2b-256 7a74d32153862c0f577ef3482b06cd5437dda62f7bdd355bac39e6b3eb4dcad5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8dbf67856d26db5092f357082734d21e43ab91b228c0fbc7d51e09c49ab3e592
MD5 c1e072b1d5f5a44377f3dd522418ed2a
BLAKE2b-256 86bd166eb3b25bb3cd448465a5761e691d2c5aeda8ffa6737582bf7de0d65cfc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ca4ce8a4e293652db0ad6af51c681cc8d10e67a25e09cc7e6a4ec723a3dc4127
MD5 681f0f0412f0d4cbc1356f9bca3d3b0a
BLAKE2b-256 fcf3709b092cde04aed5f5651e148c94291946890613a1f3876ea9d548d9f910

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ed0d74d3f6fafe878ff74c56d5eac031aac05609e511bb8c2fc11174c36ba192
MD5 67f19c5c1e661e220965c1e58eaca098
BLAKE2b-256 696f63e9668b34f5cd62c166b26425029177c34fb15df419b73b17cf943f17eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.2-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.3 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.14.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e79a4c757b4066970e6a91e88cfbea1e450ce1f30538ebf5ee5a09d3b549a84
MD5 492b7e777327946105e62b282676e53f
BLAKE2b-256 93e742fbeee1d71afa114d08f762875c0cf4d1e1f63caf5d3d20ccccf5723233

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